我正在制作一款射击游戏,其中敌人(精灵)以预设的速率从游戏窗口中的随机位置进入游戏。我想知道如何在 GameMaker 2 中做到这一点。
我能够使它们出现在固定位置,但无法弄清楚如何使位置在给定边界内随机。
首先:不要只对敌人使用精灵,因为精灵只是图像,没有背后的功能。如果您想向精灵添加功能,请改用对象(并将精灵分配给该对象)。
GameMaker 是面向对象的,因此理解对象是理解其功能的核心机制。
一旦有了对象,就使用
random()
值
有了这个,你可以设置一个值来设置它应该生成的随机数的值,在0和你设置的值之间。 (如果您想使用不同的最小值,请使用
random_range()
。)
例如在创建事件中:
var randomx = random(100); //this will choose a random decimal number between 0 and 100
x = randomx;
y = 0;
我填写的值为100,但对于你的情况,它应该是你游戏屏幕的最大宽度。
然后您可以继续使用
randomx
作为生成敌人的 x 位置。 (然后将y位置设置为0,使它们出现在屏幕顶部)
这个随机数将是小数,尽管这在您的场景中并不重要,但请记住,当您想要将随机数与整数进行比较时,它需要首先四舍五入。