Tank Wars

5 réflexions au sujet de “Tank Wars”

  1. En tout cas la map est bien coloré! Ca semble prometteur comme jeu.

    Concernant ton bug de 360 degré, as-tu pensé de toujours ramener tes angles dans la plage 0 <= angle < 360 en faisant, une fois l'angle défini : angle = angle % 360 ? Cela pourrait peut-être corriger ton bug.

  2. Merci pour vos retours 🙂

    Si je fais angle = angle % 360, le resultat devrait être soit 0 soit 1 non?

    pour l’instant, la fonction pour la rotation de la tourelle ressemble à ça:

    `pSprite.targetAngle = math.deg(math.angle(pSprite.x, pSprite.y, pSprite.target.x, pSprite.target.y) )
    local dA = pSprite.targetAngle – pSprite.canonAngle

    if dA > 0 then
    if pSprite.targetAngle > 270 and pSprite.canonAngle < 90 then
    pSprite.canonAngle = pSprite.canonAngle – pSprite.incr / 50
    if pSprite.canonAngle 360 then pSprite.canonAngle = 0 end
    if pSprite.canonAngle > pSprite.targetAngle then pSprite.canonAngle = pSprite.targetAngle end
    end

    elseif dA < 0 then
    pSprite.canonAngle = pSprite.canonAngle – pSprite.incr / 50
    if pSprite.canonAngle < 0 then pSprite.canonAngle = 360 end
    if pSprite.canonAngle < pSprite.targetAngle then pSprite.canonAngle = pSprite.targetAngle end
    end`

  3. l’opérateur % (modulo) renvoi le reste de la division. voici quelques exemple :

    n’importe quel angle en bas de 360 va donner l’angle en question: x = 253 % 360 = 253
    à 360 ça donne : x = 360 % 360 = 0 (puisque 360/360 = 1 et il reste rien)
    x = 380 % 360 = 20 (puisque 360/360 donne 1 et il reste 20)
    x = 720 % 360 = 0
    etc…

    L’avantage d’utiliser l’opérateur modulo c’est que ça prend une ligne de code et ça t’évite de faire un paquet de tests comme tu l’as fait.

    Bref tu peux expérimenter cela si tu veux, mais de mon côté c’est ce que je fais et le traitement des angles s’en trouve grandement simplifiée.

  4. ok, du coup, je vois beaucoup mieux comment ça peut être utile ici, je teste ça de-suite, merci 🙂

Laisser un commentaire

Dialoguez avec les autres membres de la gamecodeur school.

Accédez maintenant à notre serveur Discord privé : Entraide, Game Jams, Partage de projets, etc.

Vous devez être membre de la Gamecodeur School Premium pour être autorisé à accéder au serveur.