我尝试使用SFML.NET在C#上制作射击游戏,但是我无法想象如何能够射击超过1个子弹,因为现在我只有一个子弹类的空对象,当玩家按下Space时key此对象获取新子弹的链接.
所以,我有Bullet-class,null-object
public static Bullet bullet = null;
Run Code Online (Sandbox Code Playgroud)
和条件
if (Keyboard.IsKeyPressed(Keyboard.Key.Space))
{
if(bullet == null)
bullet = new Bullet(t, p.rect.Left, p.rect.Top, p.reverse);
}
Run Code Online (Sandbox Code Playgroud)
子弹到达墙壁或敌人的子弹对象等于null.问题是能够在子弹到达墙壁或敌人之前射击更多的子弹(并消失).我认为这不是为每个可能的小母鸡制作空对象的好方法,因为那时我们的子弹数量有限.