植物大战僵尸安放植物
接下来需要实现安放植物的逻辑,首先我们需要将可以安放植物的点加载出来,安放植物的点放在二维数组中,因为每个点都是有第几行和第几列构成的。然后当点击已选植物框内的植物的时候,需要将被点击的图片变为灰色,最后点击草坪的时候去安放植物。
加载安放植物的点的实现如下,需要在游戏开始的时候去调用。
/**
* 开始游戏
*/
TMXTiledMapmap,List<ShowPlant>selectPlant){
=map;
=selectPlant;
isStart=true;//是否开始游戏的标记
zombiesPoint = (map,"road");//初始化僵尸的坐标点
();//定时器
("loadZombies", this,2, false);
loadPlantPoint();
}
/**
* 加载安放植物的点
*/
private void loadPlantPoint(){
Stringformat="tower%02d";
for(inti= 1; i <=5; i++) {
List<CGPoint>loadPoint =(map, (format,
20.
i));
for(intj = 0; j < (); j++) {
22. plantPoint[i-1][j]=(j);
}
}
}
为了方便的判断该列上面有没有植物和僵尸,我们需要定义一个“FightLine”用 hashMap 存放该列上面的植物和僵尸。
.;
import ;
import ;
import ;
.;
.;
.;
/**战线
*
****@author 子豪
*
*/
public class FightLine {
publicFightLine(int i){
}
//保存该战线上所有植物
private HashMap<Integer, Plant> plants=new HashMap<Integer, Plant>();
//维护所有僵尸
Private CopyOnWriteArrayList<Zombie> zombies=new CopyOnWriteArrayList<Zombie>();
/**
* 添加僵尸
*/
publicvoidaddZombies(final Zombiezombie){
黑马程序员安卓教程植物大战僵尸安放植物 来自淘豆网www.taodocs.com转载请标明出处.