电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

Greenfoot 快速入门


发布日期:2019/1/19
 

以下内容可以让你快速了解Greenfoot在此之前你需要有一定的编程基础这只是一个简单的介绍而不是详细的教程

在袋熊教程里你可以了解更多有关的信息

Step 安装

去download page下载并安装Greenfoot 当你第一次打开Greenfoot 选择 Open tutorial and tutorial scenario 作一个简单的了解

Step 用对象游戏

这个脚本教程叫Wombats(袋熊原产于澳大利亚) 在界面右方 我们可以在脚本里看见一些已经写好的类 右键点击 (苹果系统: ctrlclick) 袋熊类 (有袋熊图标的方框)然后选择new Wombat() 你会得到一个袋熊图标 把它拖入世界 (主视窗中很大的褐色空白区域) 现在点击 Act 按钮这个教程会更好的演示对象间的相互作用 接下来我们要转到袋熊教程里没有的东西

a) 创建对象

b) 移入世界

c)放置

Step 螃蟹脚本

下载螃蟹脚本然后解压 在Greenfoot菜单栏 选择Scenario → Open 然后打开之前你解压出的crab文件夹 然后用刚才创建袋熊的同样方法创建一个螃蟹 把它放在世界里然后点击run 什么也没有发生; 现在我们要让螃蟹动起来

Step 让螃蟹动起来

我们要让螃蟹活动起来 右键点击Crab在菜单中选择Open editor 打开编辑器(或者直接双击) 你会看到一个空的 act 方法

public void act()

{

}

在act方法中插入语句 move();

public void act()

{

move();

}

关闭编辑器点击Compile all按钮然后重新放一只螃蟹到世界试试点击Act按钮再试试点击Run和调整Speed

Step 转动

我们能让螃蟹移动 我们也能让它转动 用编辑器修改你的代码 加入一条turn语句 注意turn 方法需要一个参数(角度)才能执行 在这个例子中我们用的

public void act()

{

move();

turn();

}

点击Compile all 再次把螃蟹放进世界 然后试验一下(点击Run) 再放进更多的螃蟹看看

Step 了解其他方法

move和run方法继承自Animal类再让我们看看其他对我们有用的方法

打开Animal class的编辑器 然后切换到Documentation视窗 你可以在编辑器右上角的弹出菜单中选择Documentation从源代码界面转到帮助文档

Step 在边缘处转向

在帮助文档中查看现有的方法 你会看见一个叫 atWorldEdge() 的方法用来检查我们是否接近世界的边缘使用这个方法修改我们的代码使对象到达世界边缘时转向

public void act()

{

if (atWorldEdge()) {

turn();

}

move();

}

继续尝试放入更多的螃蟹

Step 创建一个新类

现在我们要添加一个新类(另一种动物) 在Animal 类的右键菜单中选择New subclass 将这个新类取名为Worm

你可以看见有一些已经准备好的图片 其中有一只沙虫 选择那个图片 点击OK 再次Compile你就可以创建沙虫了!

Step 添加键盘控制

接下来 我们要控制螃蟹 使它能够逮住沙虫 首先要用键盘控制螃蟹键盘上的每个键都有一个名字 例如left 代表左光标键 下面展示了我们我们怎样添加键盘控制

public void act()

{

if (GreenfootisKeyDown(left)) {

turn();

}

if (GreenfootisKeyDown(right)) {

turn();

}

move();

}

Step 对象相互作用

现在 我们要让螃蟹遇见沙虫时吃掉它 我们可以使用Animal类的 canSeeeat 方法 编辑代码并Compile之后 在世界里放一些螃蟹和沙虫试试

public void act()

{

if (GreenfootisKeyDown(left)) {

turn();

}

if (GreenfootisKeyDown(right)) {

turn();

}

move();

if (canSee(Wormclass)) {

eat(Wormclass);

}

}

Step 添加龙虾

如果我们想让脚本更有趣一些 我们可以添加别的生物来捕猎螃蟹 让我们增加一种随机活动的龙虾来吃掉螃蟹 像添加沙虫那样添加龙虾 在它的act 方法里写入如下代码

public void act()

{

if (atWorldEdge()) {

turn();

}

move();

if (GreenfootgetRandomNumber() > ) {

turn(GreenfootgetRandomNumber());

}

if (canSee(Crabclass)) {

eat(Crabclass);

}

}

现在往世界里放入一只螃蟹三只龙虾和若干沙虫 试试在龙虾吃掉你之前吃掉所有沙虫!

Step 导入声音

今天的最后一步是为我们创建的这个小游戏添加一些声音 如下在螃蟹吃沙虫的代码里增加一条播放声音的语句 这个脚本里有两个声音文件 分别是 slurpwavauwav

if (canSee(Wormclass)) {

eat(Wormclass);

GreenfootplaySound(slurpwav);

}

同样的 在龙虾吃螃蟹的代码里增加一条播放 auwav 声音的语句

Doing more

在Greenfoot界面打开Help菜单选择Greenfoot Class Documentation可以找到其他有用的方法来进行创作 最好的初学方法应该是查看一些脚本 有些已经包含在Greenfoot的安装文件里 还有更多的来源在Scenarios page和Greenfoot Gallery

上一篇:初始化类时newInstance和new的区别

下一篇:IE里Window的Method列表