【发布时间】:2016-12-14 15:01:50
【问题描述】:
所以我正在创建一个 XNA 游戏,它由一艘宇宙飞船组成,向周围发射子弹,在携带“绳子”的不同敌方宇宙飞船上。它本质上是一个拼字游戏,我必须通过用正确的字母击中宇宙飞船来拼出单词。
不管怎样,我的问题是,我目前有两个“if”语句用于射击子弹,如果我对键盘上剩下的 25 个字母键执行此操作,那将是一些可怕的编程.是的,我确实需要键盘上的每个“字母”键,因为这将是一个拼写游戏。这是我为其中一个项目符号获取的代码示例。
我在这里基本上做的是如果“Fired”布尔值是假的,并且按下了相应的键,我将一个矩形定位在枪的位置并将“Fired”设置为true,让子弹松动.然后很明显,每当它到达屏幕顶部时,我将fired back设置为false,以便重新加载概念。
if (MyKeys.IsKeyDown(Keys.Q) && OldKeys.IsKeyUp(Keys.Q) && Fired[0] == false)
{
CurrentChar = "Q";
Shot[0].X = SpaceStationGun.X;
Shot[0].Y = SpaceStationGun.Y;
Fired[0] = true;
}
if (Fired[0] == true)
{
Shot[0].Y -= SHOT_SPEED;
if (Shot[0].Y < 0 - SHOT_HEIGHT)
{
Fired[0] = false;
}
}
现在的问题是,我如何在键盘上的 25 个字母键的其余部分循环这个,并且仍然保持功能?
【问题讨论】: