在我的乒乓球比賽中,我有一個球和兩個槳。我想這樣,當ball.ballRect.x < 5
是true
,score.greenScore
增量就像這樣:score.greenScore++;
XNA - 改變矩形的位置
而且行之有效,但我也希望它使球移動到屏幕的中央。因此,在Game1.cs
我這樣做:
public void ScoreAdder()
{
if (ball.ballRect.X < 5)
{
score.blueScore++;
ball.ballRect = new Rectangle((int)400, (int)250, ball.ballTexture.Width, ball.ballTexture.Height);
}
}
這又回到了中心,並增加了比分,但現在也不會聽的碰撞。
在我Ball.cs我只繪製矩形,如:
spriteBatch.Draw(ballTexture, ballRect, Color.White);
因爲當我使用Vector2
位置,球甚至不會出現在屏幕上。
你的碰撞代碼是什麼? – Cyral
聽起來像你需要更新你的ballRect變量來反映你的球的新位置。 – jgallant
當你重生時,你是否嘗試過設置Position.X rect.X,並將Position.Y改爲rect.Y? – Cyral