游戏里的敌人,有两类,先设置第一类的,只会上下缓慢跳跃的小球。我们创建两个对象,obj_ball_purple,obj_ball.设置obj_ball的子类为obj_ball_purple,并给子类对应的贴图。在子类里添加create事件,设置变量值.
spd=4;
dir=-1;
添加step事件,设置运行模式,代码如下
if(global.game_state==states.playing)
{
y+=spd*dir;
if(place_meeting(x,y,obj_block))
{
dir*=-1;
}
}
模式为上窜下跳,遇墙后反向运行。
把这个对象放到房间里,按F5测试。
最后是设置主角撞到球后,少一条命,并回到出生点的功能。在obj_player里增加碰撞检测,对象为obj_ball。在step事件里添加下面的代码
global.game_state=states.dead;
instance_destroy();
添加destroy事件,增加下面的代码,来播放音效
audio_play_sound(snd_damage,1,false);
在obj_controller的step事件里添加如下代码
if(global.game_state==states.dead)
{
lives--;
alarm[0]=room_speed*1;
global.game_state=states.playing;
if lives<=0
{
global.game_state=states.gameover;
}
}
上面的代码,表示,玩家少一条命,然后回到出生点。因为添加了alarm[0],所以还要添加事件alarm 0,并在里面添加如下代码
instance_create_layer(global.startx,global.starty,"player",obj_player);
其中player这个图层,是我自己命名的,默认新建的名称应该是Instances,关键是看你的角色是放在哪个图层上了。
按F5测试一下,效果如下
暂无关于此日志的评论。