基本上我有一个简单的砖破坏者游戏,用球拍和球。
我用这段代码设定了生活:
protected override void Update(GameTime gameTime)
{
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
paddle.Update();
ball.Update();
foreach (Brick brick in bricks)
{
score += brick.CheckCollision(ball);
}
ball.PaddleCollision(paddle.GetBounds());
if (ball.OffBottom())
{
--lives;
if (lives == 0)
StartGame();
base.Update(gameTime);
}
}
我遇到的问题是我一次失去了3个生命,调整了这个部分很多,但仍然无法使它工作。
我确信这是一个简单的解决方法,但我刚刚开始编程。我已经尝试了谷歌的C#生活等等,但是有一款名为“生命游戏”的游戏不断涌现,我无法得到我想要的东西。任何帮助将不胜感激!
这是整个方法。
protected override void Update(GameTime gameTime)
{
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
paddle.Update();
ball.Update();
foreach (Brick brick in bricks)
{
score += brick.CheckCollision(ball);
}
ball.PaddleCollision(paddle.GetBounds());
if (ball.OffBottom())
{
--lives;
if (lives == 0)
StartGame();
base.Update(gameTime);
}
}
答案 0 :(得分:2)
我之前遇到过这个问题,一般解决方案是: -
if ball intersects brick and timer <= threshold, dont subtract from lives
遗憾的是我没有代码解决方案,但这个伪代码足以解决问题