在上一节中我们通过编写程序,实现了将不同的鱼随机添加到世界中,他们都出现在左侧边缘。本节我们将继续编写程序,让鱼都动起来,当它们游到右侧边缘就将消失,这样就能看到鱼不停的游动了。

第一步:让鱼动起来,我们双击角色f1,进入代码编辑界面。只需要再act()方法里加入一行代码 move(1);即可,如图所示:

GreenFoot项目实战-海底世界(三)

同样的给其它角色都加上这行代码,这样所有的鱼都可以动起来了,运行测试一下。发现所有的鱼都堆积在了世界右侧边缘。

GreenFoot项目实战-海底世界(三)

这该怎么解决呢?思路就是在鱼移动的过程中来判断鱼当前的坐标,通过坐标判断是否到达右侧边缘,如果x坐标大于478,则从世界中删除这个对象。

1、getX();//获取当前角色的x坐标

2、getWorld().removeObject(this);//从世界中删除当前对象

GreenFoot项目实战-海底世界(三)

如上图所示添加代码到所有角色中,这样问题就解决了。再次运行测试,你可能发现鱼游动的速度太快了,或者太慢了。解决方法有两种:

1、用鼠标调整滑杆的位置,手动调节速度。

GreenFoot项目实战-海底世界(三)

2、编写程序,在程序启动时设置一个固定的速度值。进入MyWorld程序编辑界面,在构造方法中加入代码:Greenfoot.setSpeed(50);这个速度值范围是1-100,可以根据自己的实际情况进行修改。

GreenFoot项目实战-海底世界(三)

到此我们海底世界的基本程序就完成了,如果你有兴趣可以进一步优化,改进。