我在看教程学习shoot em up的例子,现在有个问题
目的是为了让操控的飞机,按X键射出子弹
按住X键的话可以连续射击,如果快速按X键可以快速射出子弹
原代码如下,关于if里延迟射击的地方稍微不太明白,求助吧里的大哥,如果有空请帮忙开导开导,拜托了~
object是玩家操作的飞机,oPlayerShot1是子弹
Creat里的代码
firingDelay = 0;
firingDelayMax = 10;
Step里的代码
if (keyboard_check(ord('X'))) //如果按下X键
{
if (firingDelay > 0) //如果firingDelay>0
{
firingDelay -= 1; // 那么firingDelay = firingDelay - 1
}
else //如果firingDelay=0
{
instance_create(x, y, oPlayerShot1); //射出子弹
firingDelay = firingDelayMax; //射出子弹后firingDelay变为最大值10
}
}
else
{
firingDelay = 0; //不按X键的时候,firingDelay变为0,那么就可以射出子弹
}
注释是我写的,我有点没弄明白,尤其是连续按X键的时候没想清楚这个if是怎么进行的。
目的是为了让操控的飞机,按X键射出子弹
按住X键的话可以连续射击,如果快速按X键可以快速射出子弹
原代码如下,关于if里延迟射击的地方稍微不太明白,求助吧里的大哥,如果有空请帮忙开导开导,拜托了~
object是玩家操作的飞机,oPlayerShot1是子弹
Creat里的代码
firingDelay = 0;
firingDelayMax = 10;
Step里的代码
if (keyboard_check(ord('X'))) //如果按下X键
{
if (firingDelay > 0) //如果firingDelay>0
{
firingDelay -= 1; // 那么firingDelay = firingDelay - 1
}
else //如果firingDelay=0
{
instance_create(x, y, oPlayerShot1); //射出子弹
firingDelay = firingDelayMax; //射出子弹后firingDelay变为最大值10
}
}
else
{
firingDelay = 0; //不按X键的时候,firingDelay变为0,那么就可以射出子弹
}
注释是我写的,我有点没弄明白,尤其是连续按X键的时候没想清楚这个if是怎么进行的。










