好吧所以我正在使用Game Maker Studio制作其中一个滚动射击游戏Galaga型游戏。我创造了第一个敌人并为他们建立了一个产卵者。他们应该向下飞向你的船。这工作得很好。但是当我成为第二个敌人时,我想让它移动得更慢,并且是一对一的。我也想让它们从屏幕边缘反弹。但它只是赢了工作。我无法确定问题到底是什么,它让我疯狂。如果有人有任何想法,请与我分享。如果您需要有关游戏的更多信息,我可以提供。以下是第二个敌人的步骤事件的代码:
// Control the enemy
if (y > room_height+16)
{
instance_destroy();
}
// Die code
if (armor <= 0)
{
instance_create(x, y, o_explosion_center);
instance_destroy();
}
// Bounce off edges
if (x >= room_width-16)
{
hspeed = -1;
}
if (x < 16)
{
hspeed = 1;
}
答案 0 :(得分:0)
首先,你没有说出什么不起作用。您发布的代码是正确的,一切都取决于预期的结果。
如果两个敌人使用此代码,我可以看到一个问题。您希望它们具有不同的速度,但一旦它们反弹,它们的水平速度将为1,因为您将hspeed设置为1和-1。创建它们时,应设置move_speed变量,对于弹跳,请在步骤事件中写入:
hspeed = -1*move_speed //instead of hspeed = -1
和
hspeed = move_speed //instead of hspeed = 1
这样,他们将保持初始速度。
如需更多帮助,请解释一下哪些不起作用并发布创作代码?