Je suis un tutoriel XNA et ai le code suivant pour la détection de collision (détecter quand une balle entre en collision avec une cible). Fondamentalement, je cherche à incrémenter une variable score pour afficher le score à l'écran sans réécrire l'ensemble du programme. Peu importe où je le place dans cette méthode, il semble commencer à incrémenter du nombre de cibles, pas de zéro. Y a-t-il quelque chose de simple qui me manque ici? Toute aide serait grandement appréciée. Merci.Garder Score dans XNA Jeu
private CollisionType CheckCollision(BoundingSphere sphere)
{
if (completeCityBox.Contains(sphere) != ContainmentType.Contains)
return CollisionType.Boundary;
for (int i = 0; i < targetList.Count; i++)
{
if (targetList[i].Contains(sphere) != ContainmentType.Disjoint)
{
targetList.RemoveAt(i);
i--;
AddTargets();
return CollisionType.Target;
}
}
return CollisionType.None;
}
Où est votre score variable? Où/quand est-il initialisé? et incrémenté? – tzaman
Il est initialisé en haut de la classe mais cherche à l'incrémenter dans cette méthode. int score = 0; (En haut de la classe) score + = 1; (Vous cherchez à ajouter à cette méthode quelque part) C'est la méthode utilisée pour détecter les collisions avec des cibles. Chaque fois qu'une collision est détectée, j'aimerais augmenter le score de 1. Cela fonctionne actuellement avec le score dans la seconde instruction if, mais le score ne commence pas à partir de 0, il part du nombre de cibles (ex: 1250) qui sont complètement aléatoires. – Seven