图书简介:
目录
模块1 Java平台使用
1.1教学项目及学习情境
项目:使用Java开发环境,体验游戏开发过程
1.2项目迭代过程
1.2.1 课程迭代内容和迭代步骤
1.2.2 安装、配置Java开发环境
1.2.3使用Eclipse新建Java游戏程序
1.2.4使用Eclipse集成已开发的Java程序
1.3项目考核方式
1.4过程控制表格
1.5项目相关知识
1.5.1 关于Java
1.5.2 Java游戏的一般构成
1.5.3 Java开发环境
1.5.4 统一过程模型
1.5.5 CMM与过程考核
1.6 课外实训
1.7 课外作业
模块2 Java基本模块——类的设计
2.1教学项目及学习情境
项目:设计Java类,案例:日期类设计。
2.2项目迭代过程
2.2.1 简单日期类EnterDate类开发
2.2.2 扩展EnterDate类的属性和方法
2.2.3 为EnterDate类增加构造方法
2.2.4 使用EnterDate类与声明EnterDate类分离
2.2.5 控制EnterDate类属性和方法的访问权限
2.2.6 用继承的方式快速产生类
2.3项目考核方式
2.4过程控制表格
2.5 项目相关知识
2.5.1面向对象程序设计概述
2.5.2关于Java程序和类的一些认识
2.5.3 类定义和使用
2.5.4 构造方法
2.5.5信息隐藏和封装
2.5.6 类的访问控制
2.5.7方法的重载
2.5.8使用继承创建类
2.5.9方法覆盖
2.5.10由覆盖和重载产生的多态性
2.5.11 Static和 final
2.5.12 抽象类
2.5.13 接口
2.5.14 抽象类和接口的多态性
2.5.15内部类
2.5.16 Java文件的组织
2.6 课外实训
2.7课外作业
模块3 图形用户界面设计
3.1教学项目及学习情境
主要内容:为程序添加界面及用户交互,使软件初步具备游戏特性,案例:网上物流系统界面设计。
3.2项目迭代过程
3.2.1包含一种元素的GUI
3.2.2包含多种元素的GUI
3.2.3 有漂亮布局的GUI
3.2.4 有交互功能的GUI
3.3项目考核方式
3.4过程控制表格
3.5项目相关知识
3.5.1 GUI概念及相关包
3.5.2 GUI的创建步骤
3.5.3 常用GUI类
3.5.4 GUI布局管理
3.5.5 用户交互与事件处理
3.5.6 软件模块划分
3.6课外实训
3.7课外作业
模块4 用图形图像美化游戏场景
4.1教学项目及学习情境
主要内容:用图形图像美化游戏场景,案例:涂鸦游戏设计。
4.2项目迭代过程
4.2.1在Applet上绘图
4.2.2 Applet上功能更强的图形绘图
4.2.3其它Applet绘图控制
4.2.4在JFrame中绘制图形
4.2.5在Applet或JFrame中加载图像
4.3项目考核方式
4.4过程控制表格
4.5项目相关知识
4.5.1 Java Applet
4.5.2键盘事件与鼠标事件
4.5.3 在Applet和JFrame中绘制图形
4.5.4 Graphics类输出基本图形的方法
4.5.5 在Applet和JFrame中加载图像
4.6课外实训
4.7课外作业
模块5 为游戏添加音效
5.1教学项目及学习情境
主要内容:音乐播放器设计,案例:音乐播放器。
5.2项目迭代过程
5.2.1加载并播放音频文件
5.2.2音频文件播放控制
5.2.3为播放器添加用户控制按钮,实现多个音频文件的列表播放
5.3项目考核方式
5.4过程控制表格
5.5项目相关知识
5.5.1 Java支持的声音文件类型
5.5.2 Java支持声音播放的类
5.5.3 在Applet中播放声音文件
5.5.4 在JFrame中播放声音
5.5.5 用线程控制声音播放,实现背景音乐效果
5.6课外实训
5.7课外作业
模块6为游戏添加动画
6.1教学项目及学习情境
主要内容:动画设计,案例:小虫动画。
6.2项目迭代过程
6.2.1 创建基本动画
6.2.2 用线程控制动画的间隔和屏幕刷新
6.2.3多个动画并发控制
6.2.4 利用双缓冲消除屏闪
6.3项目考核方式
6.4过程控制表格
6.5项目相关知识
6.5.1 动画及其形成原理
6.5.2 线程
6.5.3 线程与动画
6.5.4 Java在屏幕上画图的方法
6.5.5双缓冲绘图步骤
6.5.6 Java动画中消除闪烁的两招
6.6课外实训
6.7课外作业
模块7 为游戏添加网络功能和游戏逻辑
7.1教学项目及学习情境
主要内容:网络通信和游戏逻辑,案例:网络对弈程序。
7.2项目迭代过程
7.2.1简单的网络通信
7.2.2构造多线程服务器,实现一个服务器与多个客户端通信
7.2.3 将客户端改为Applet,实现B/S架构
7.2.4在通信双方间传送更多信息,以实现游戏逻辑,并设计客户端GUI
7.3项目考核方式
7.4过程控制表格
7.5项目相关知识
7.5.1 网络通信基础
7.5.2 Java网络通信概述
7.5.3 Socket类和ServerSocket类
7.5.4基于Socket通信的C/S架构服务器端和客户端
7.5.5一个服务器为多个客户端服务
7.6课外实训
7.7课外作业
模块8
8.1教学项目及学习情境
主要内容:游戏集成与发布。
8.2项目迭代过程
8.2.1 利用Eclipse制作简单项目的*.jar文件
8.2.2利用Eclipse制作含有多个*.class文件的项目的*.jar文件
8.2.3 利用Eclipse制作包含图片等资源文件的项目的*.jar文件
8.3项目考核方式
8.4过程控制表格
8.5项目相关知识
8.5.1 集成与发布概念
8.5.2 将Java项目发布为JAR文件
8.5.3 将JAR文件转换为EXE文件
8.5.4 将EXE文件和JRE打包成安装文件
8.5.5 Java游戏开发全过程
8.6课外实训
8.7课外作业
参考文献
展开
前 言
一、编写背景。为了适应人才市场对游戏软件专业高技能人才的需求,深圳信息职业技术学院于2004年开设了游戏软件专业,通过长期的校企合作,采用工作过程系统化学习领域课程开发方法,形成了“基于职业竞争力导向”的专业人才培养模式,“可持续发展+学习领域”的课程体系结构,“教—学—做—考”四维一体、工学结合的教学方法。“Java游戏开发”作为游戏软件专业核心专业课程、2010年广东省精品课程,通过小型Java游戏项目的开发实践,培养学生Java平台游戏开发能力、过程控制能力、团队协作能力,养成正确的开发习惯,为学生的可持续发展提供有力保障。传统的以理论知识教学内容为主的教材,不能满足“Java游戏开发”课程的教学需要,为此,课程开发组编写了能体现课程教学理念、适应课程教学形式的本教材支撑课程教学。本教材既包括Java游戏开发相关知识等静态内容,又包括开发过程控制、开发习惯养成、团队协作能力培养、考核评价及教学过程控制等动态内容。
二、编写思路。教材基于工作过程组织内容,从Java平台游戏开发岗位典型工作任务推导出课程需要培养的10项技术能力,再按知识够用、技能实用的原则,选取6个项目为载体,基于统一过程模型组织教学内容。主要内容有:
模块1 Java平台使用;
模块2 Java基本模块——类的设计;
模块3 图形用户界面设计;
模块4 用图形图像美化游戏场景;
模块5 为游戏添加音效;
模块6 为游戏添加动画;
模块7 为游戏添加网络功能和游戏逻辑;
模块8 游戏集成与发布。
这八大模块,各模块按游戏开发过程增量迭代,逐步开发一个完整的Java游戏。
具体编写时,每个模块选择一个项目并设计教学情境,将模块项目进一步划分成多个“项目核心→项目扩展→应用升级”的小迭代增量式实现,以体现统一过程的思想,在每个小迭代中结合教学评价、过程控制、习惯养成等需求选取观察指标,以规范表格驱动学生控制过程,养成职业习惯,培养协作能力,从静态结构和动态控制两方面体现“教—学—做—考”四维一体的教学方法和工程化的项目开发过程,突出能力培养教学理念。本书既是一本Java游戏开发相关技术的教材,也是一本Java游戏开发过程的实例教程。教材各部分层次清楚,内容既互相联系又相对独立,读者可根据需要选择感兴趣内容学习。
三、编排特色。教材内容按项目组织分解为上述8个教学模块,每个模块按照“教学项目及学习情境”→“项目迭代过程”→“项目考核方式”→ “过程控制表格”→“项目相关知识”→“课外实训”(该实训项目需要学生随学习进程增量迭代完成)→“课外作业”结构展开。
四、关于本教材的教学安排几点特殊考虑。
1.为什么将一些适合做讲义的内容放入教材?传统的教学,需要教师对教材进行加工、补充、演义后才能形成完整的课堂教学内容,同一本教材,运用不同的教学方法或被不同的教师演义,教学效果千差万别,教材只是课堂教学的一个不可或缺的资料。本教材以课堂教学过程为服务目标,通过项目之间的迭代,项目内部的子迭代从静态结构上表现项目背景知识由项目引领增量迭代构建的动态过程,体现教学方法,并且将教学过程中教师的教学行为和学生的学习行为(教、学、做、考)以脚本的形式(即适合做讲义的内容)嵌入教材,使得本教材将教学过程中使用的资源,课堂参与者(教师和学生)的行为,采用的教学方法等要素有机结合起来,形成一个立体的教学过程规范,而不仅仅是一个教学资料,任何人使用这个规范,都能取得预期的教学效果。
2.为什么教材中要列出完整的案例代码?从2002年以来,作者连续十二年担任“Java程序设计”、“Java高级程序设计”、“Java游戏开发”等课程的主讲教师。多年的教学经验和从学生反馈的需求表明,对于程序开发类课程,完整的案例源代码是教学必须的。采用光盘、网络下载等方式提供案例源代码,不利于教学过程管理;单纯提供纸质案例源代码,反而能促进学生学习。对于有教学需求的教师,可直接联系出版社索取案例源代码电子版。
3.为什么本教材中代码的注释不够详细?为什么案例没有介绍文字?通常在代码中增加详细注释的目的是帮助读者快速领会代码的作用。但是,本教材提供的案例代码,不是供学习者欣赏阅读的案例,而是供学习者实践并帮助发现问题的案例。教学过程中,学习者无需了解太多项目相关知识,直接实践没有详细注释的案例代码,记下实践过程中出现的问题,再通过这些问题引导学习相关的背景知识。因此,本教材刻意省略案例代码的详细注释和案例前的介绍文字,以实现“尽快实践→发现问题→为解决问题而学习”的问题驱动式的主动学习方式。
4.为什么没有提供课外实训游戏项目的完整代码?模块2~模块7的课外实训部分,提出了电梯模拟游戏与各个模块相关的特性,它需要学习者随着学习进程逐步将各模块相关特性实现,最后组合成一个完整游戏。由于各模块具有一定的独立性,可随机选择进入点进行学习,学习者能力不同,学习顺序不同,实现的游戏肯定不一样,因此,基于不能限制学习者创造力的考虑,没有提供该游戏项目的完整代码。
5.为什么没有给出习题答案?因为本教材配合课程以能力培养为主,大多习题都是开放性的,没有唯一答案,只提供学生拓展能力的思路,所以,没有给出习题答案。
6.如何使用本教材?
给教师的建议:教师的集中讲授占课程总学时的1/3到1/2,在学生开始迭代前,分析项目功能在游戏中的出现形式,简介Java实现该功能的关键技术;在学生完成迭代过程中,收集问题,个别指导;在学生完成迭代后,分析迭代结果,总结关键技术的使用方法和相关功能的实现步骤,指出迭代步骤与知识目标和能力目标的关联,提出可能的扩展学习方向,给迭代结果和迭代过程评分。
给学生的建议:快速浏览“教学项目”和“学习情景”,明确本模块的学习目标。准备好本模块的“过程控制表格”,尽快动手完成项目的迭代步骤。在完成迭代的过程中同时填写过程控制表格,记录遇到的每一个问题,通过阅读“项目相关知识”部分,寻找问题解决方案,学习模块相关知识。每完成一个迭代步骤,对照“项目考核方式”进行自评分和小组互相评分。课外,以学习情景中的每个能力目标或知识目标或迭代步骤作为一个小型的学习主题,自主收集整理相关的资源,达到能完全抛开书本,独立完成课外实训项目和课外作业要求的任务。
五、读者对象。本教材适合于具有Java程序设计基础知识,希望提高Java程序特别是游戏程序开发技能的高职院校和应用性本科院校学生;也可作为高职院校和应用性本科院校“Java游戏开发”、“Java高级程序设计”等课程的教材,也可供对Java游戏开发技术感兴趣的自学者自学参考。
六、教学支持。课程网站提供了教学课件、习题库、教学视频等丰富的教学资源。课程网址:http://jpkc.sziit.com.cn/java/www。
七、致谢。教材的编写和出版是课程组全体成员集体努力的结果,特别感谢陆云帆、谢晓勇、陈永贤、徐肇树、延霞、孙洁、谢斐、刘晓东、李伟等的大力支持。陆云帆完成了模块1、模块8的案例测试整理,延霞完成了模块3的初稿整理,孙洁完成了模块5的初稿整理,谢斐完成了实训项目的案例测试整理,电子工业出版社的束传政老师为教材编写提出了宝贵意见,再次感谢各位为教材出版付出的努力!
胡林玲
2014年6月15日于深圳
展开