原作品作者: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)游戲「六」

下一節我們將繼續添加功能,炸彈爆炸會炸死周圍的蜘蛛。

本站內容未經許可,禁止任何網站及個人進行轉載。