没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
Greenfoot 教程
1 概述
Greenfoot 是由肯特大学的 Michael 和 Martin 设计的一款 Java 游戏设计工具。
它是一个功能完整的开发环境,可以方便地使用 Java 语言编写游戏和进行游戏
模拟。 Greenfoot 可认为是一个用 Java 语言创建的二维图形程序框架和集成开发
环境的结合体,它支持 java 的全部特性,特别适合进行基于组件的可视化编程。
在 Greenfoot 中,对象的可视化和交互性是其重要特征,任何游戏中的角色和物
体都可以通过鼠标拖放的形式来添加和更改。
Greenfoot 的运行界面很简洁,主要分为四个功能区域:菜单栏、游戏面板、
控制按钮和场景信息,如图 1 所示。
图 1 Greenfoot 的界面
菜单栏
游戏面板
控制按钮
场景信息
菜单栏中的各菜单项对应着各种操作命令,包括“打开”、“删除”、“关闭”
等命令;游戏面板是整个游戏的运行容器,游戏的场景和角色在此进行交互和显
示;场景信息中显示了游戏的组成部分及其结构;控制按钮用于对游戏进行即时
掌控:“Run”按钮用于自动运行游戏,“Act”按钮用于单步运行游戏,“Reset”
按钮让游戏回到初始情形,“Speed”滚动条用来调节游戏的运行速度,“Complie
All”用来编译游戏代码。
Greenfoot 软件只有几兆大小,安装起来也很方便,可以直接去其官方网站
www.greenfoot.org 下载最新版本的安装程序,然后直接双击安装程序进行安装。需
要注意的是,在安装 Greenfoot 之前首先要保证系统中安装了 JDK1.5 版本(或
更高级的 JDK 版本)。
2 基本操作方法
对于拥有一定编程经历的人来说,Greenfoot 使用起来非常简单。Greenfoot
的安装目录下提供了很多游戏实例,比如“树袋熊”游戏、“打气球”游戏、“月
球登陆者”游戏、“蚂蚁觅食”游戏等等,此外还可以去官方网站去下载更多的
游戏实例。所有游戏实例都是开放源代码的,用户可以自由地阅读源代码、并能
随意地修改这些游戏实例,让其表现出不同的游戏效果。
接下来以“树袋熊”游戏实例来说明 Greenfoot 的基本操作。
2.1 打开游戏场景
第一次打开 Greenfoot 时, 可选择“Open tutorial and tutorial scenario ”,这时
会自动打开“树袋熊”游戏,如图 2 所示。
从图中可以看到,游戏面板区域被划分为大小相等的网格,其中显示出了一
个树袋熊及很多树叶的图像,不难看出,无论是树袋熊还是树叶都只占据了一个
网格区域。
图 2 “树袋熊”游戏的界面
在 Greenfoot 中,游戏面板中的网格区域也被称为游戏世界(World),而网
格中的物体则被称为游戏角色(Actor),各个游戏的需要分别继承这两个类来创
建自己的游戏世界和游戏角色。从场景信息栏中可以直观的看到树袋熊游戏的游
戏世界类名为“WombatWorld”,而游戏的两个角色树袋熊和树叶的类名则分别
叫做“Wombat”和“Leaf”。
2.2 添加游戏角色
Greenfoot 是基于组件的交互式编程环境,可以直接地通过鼠标操作来为游
戏添加任意角色。假设想要在游戏世界中加入一个树袋熊,则可用鼠标右键单击
场景信息栏中的“Wombat”类,这时可以看到一个弹出式菜单,如图 3 的步骤
a 所示。选择“new Wombat()”,这时 Greenfoot 便自动生成一个新的树袋熊对
象,其显示位置为鼠标指针的位置,如图 3 的步骤 b 所示。接下来将鼠标移动到
游戏世界中,在网格面板任意的空格处单击鼠标,于是树袋熊便被添加到该网格
中,如图 3 的步骤 3 所示。
若想要在游戏中添加树叶也可采用类似的办法,即右键单击树叶类来生成一
个树叶对象并用鼠标单击游戏世界中的一个空网格来放置。可以看到,在
Greenfoot 中每一个游戏角色都被看作为一个组件,对角色的添加、删除和修改
都可以通过鼠标操作来完成,这也正是 Greenfoot 强大交互性的体现。但随之而
来的问题是,假如要在游戏中添加大量的游戏角色,使用这样的鼠标操作则显得
比较繁琐。事实上,Greenfoot 提供了快捷操作来快速地添加多个游戏角色,只
需要在创建游戏角色后按住键盘的“Shift”键,然后依次点击各个目标网格,则
该游戏角色会被放置到所有点击过的网格中。
a. 新建对象 b. 移入世界 c. 放入网格
图 3 在游戏世界中添加一个树袋熊
2.3 运行游戏
当游戏角色都添加完毕之后,便可以让游戏运行起来。在此之前,我们需要
定义游戏角色的行为,即规定游戏运行过程中各个游戏角色做什么事情,这需要
通过编程来实现。在“树袋熊”游戏实例已经编写好相关程序,规定在游戏中树
袋熊不停地向前运动,碰到墙壁则转弯继续前进,而碰到树叶则把它们“吃掉”。
在控制按钮区域点击“运行”按钮可以让游戏自动运行,此时“运行”按钮
转变为“暂停”按钮,可以随时按下以便暂停游戏的运行。可以调节“Speed”
滚动条来调节游戏的运行速度,可以看到,当把滚动条中的滑块向右侧移动时,
树袋熊的移动速度也加快了。如果想测试游戏角色的行为,则可以单步地运行游
戏,即一次只运行游戏的一帧,这可以通过点击“Act”按钮来实现。可以看到,
每点击“Act”按钮一次,树袋熊便会向前移动一个网格的距离。
除了点击按钮来运行游戏之外,还可以直接调用游戏角色的方法让其执行相
应的动作。在游戏停止运行的情况下右键单击树袋熊的图像,这时会出现一个弹
出式菜单,其中显示了该对象的各种方法,如图 4 所示。
图 4 直接调用树袋熊的方法
可以在该弹出式菜单中选择任何方法,来要求树袋熊执行相应的动作。例如,
点击“turnLeft()”方法后树袋熊将转向左侧;点击“getLeavesEaten”方法则会
显示到目前为止袋熊吃了多少匹树叶。当然,这些方法都是事先编写好的程序,
点击某个方法实质上就是执行相应的程序代码,关于如何编写游戏程序将在后面
详细介绍。
3 相关 API 介绍
Greenfoot 为编程人员提供了丰富的 API(应用程序接口),通过调用这些 API
可以方便地编写各种游戏操作。 Greenfoot 提供了 5 个类: World 类、Actor 类、
Greenfoo 类、GreenfootImage 类、MouseInfo 类和 GreenfootSound 类。
剩余45页未读,继续阅读
qianer
- 粉丝: 32
- 资源: 38
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论6