Dans mon jeu de pong, j'ai une balle et deux pagaies. Je veux donc que lorsque ball.ballRect.x < 5
est true
, score.greenScore
incréments comme si: score.greenScore++;
XNA - Changer la position des rectangles
Et cela fonctionne bien, mais je veux aussi en sorte que la balle se déplace vers le centre de l'écran.
Ainsi, dans Game1.cs Je l'ai fait:
public void ScoreAdder()
{
if (ball.ballRect.X < 5)
{
score.blueScore++;
ball.ballRect = new Rectangle((int)400, (int)250, ball.ballTexture.Width, ball.ballTexture.Height);
}
}
Il remonte au centre et ajoute le score, mais maintenant il ne sera pas écouter les collisions.
Dans mes Ball.cs Je dessine que le rectangle, comme:
spriteBatch.Draw(ballTexture, ballRect, Color.White);
Parce que quand j'utilise la position Vector2
, la balle apparaîtra même pas sur l'écran.
Quel est votre code de collision? – Cyral
On dirait que vous devez mettre à jour votre variable ballRect pour refléter la nouvelle position de votre balle. – jgallant
Avez-vous essayé les réglages Position.X à rect.X, et Position.Y à rect.Y lorsque vous réapparaissez? – Cyral