原作品作者:itscarlwheezer

本节目标:给蜥蜴增加一个投放炸弹的功能,炸弹会定时爆炸。(本节我们需要用到外部素材,点击下载:Lizard Dash素材

第一步:添加角色,从自带的角色库里添加一个Bomb角色,如图所示

Greenfoot制作奔跑蜥蜴(Lizard Dash)游戏「六」

我们把下载下来得素材解压,将图片和里面的声音文件分别放入我们的项目目录中的“images”和“sounds”文件夹中。

Greenfoot制作奔跑蜥蜴(Lizard Dash)游戏「六」

然后再添加一个炸弹爆炸后得角色,我们选择素材中的图片文件如图所示

Greenfoot制作奔跑蜥蜴(Lizard Dash)游戏「六」

第二步:角色添加完毕,我们开始添加代码,先编辑蜥蜴的代码,添加一个变量

public static Bomb existingBomb == null;

这个变量作用是什么呢?从名字上看就是标记蜥蜴是否有炸弹,只有再蜥蜴有炸弹的时候才可以投放,否则是无法投放的。

在act()方法中加入代码,如果按下键,并且蜥蜴拥有炸弹,此时将炸弹放置到当前位置。

if ( Greenfoot. isKeyDown("f") ){
    if (existingBomb == null){
	Bomb bomb = new Bomb();
	getWorld().addObject(new Bomb(), getX(), getY());
	existingBomb = bomb;
    }
}

蜥蜴角色代码添加部分如图:

Greenfoot制作奔跑蜥蜴(Lizard Dash)游戏「六」

第三步:让炸弹在等待一段时间后发生爆炸。编辑Bomb角色的代码,添加一个变量,用于进行倒计时。

private int timer = 100;

然后在act()方法中添加代码,进行倒计时,如果timer的值小于1,切换角色实现炸弹爆炸。

public void act() 
{
	timer--;
	if (timer <1)
		{
		    getWorld().addObject(new Explosion(), getX(), getY());
		    Greenfoot.playSound("ExplosionSound.wav");
		    Lizard.existingBomb = null;
		    getWorld().removeObject(this);
		}      
}

代码截图如下

Greenfoot制作奔跑蜥蜴(Lizard Dash)游戏「六」

到这一步,蜥蜴可以投弹,并且会发生爆炸,但是爆炸后的效果一直存在,需要进一步处理。

编辑Explosion角色,同样的方法添加变量进行倒计时,时间到了,删除该角色即可。

private int time = 40;

然后在act()方法中添加代码

public void act() 
{
	time--;
	if (time <= 0)
		{
		    getWorld().removeObject(this);
		}
} 

代码截图如下

Greenfoot制作奔跑蜥蜴(Lizard Dash)游戏「六」

下一节我们将继续添加功能,炸弹爆炸会炸死周围的蜘蛛。

本站内容未经许可,禁止任何网站及个人进行转载。

   口袋儿题库-青少儿编程自测题库