Je fais ce jeu, et il implique des ennemis. c'est assez ennuyeux pour eux de rester à la même vitesse alors je veux que la vitesse de l'ennemi augmente à mesure que le joueur marque plus haut. Il est difficile de faire certains algorithmes avec amour puisque la plupart du temps tout est mis à jour à chaque image avec ce moteur de jeu. C'est ce qui me donne le problème en ce moment.Valeurs Love2D mise à jour trop rapide
La première partie de ma logique est correcte (la partie où les enemy.speed
augmente après la player_score
passe 10), mais une fois qu'il passe (ou atteint) 10, la valeur enemy.speed
continuera à augmenter de 10 chaque image. Même avec le booléen enemiesReadyToSpeedUp
que j'ai mis en place spécifiquement pour cette raison! (pour empêcher le enemy.speed
d'augmenter rapidement)
donc une fois que le score du joueur dépasse 10, le jeu devient injouable puisque l'ennemi commence à se déplacer à la "vitesse de la lumière".
function enemySpeedUp()
-- Once player score > scoreLimit + 10, enemy's speed will increase by 10,
-- and the scoreLimit will increase by 10
enemiesReadyToSpeedUp = false
scoreLimit = 0
if(player_score >= scoreLimit + 10) then
enemiesReadyToSpeedUp = true
end
if(enemiesReadyToSpeedUp == true)then
enemy.speed = enemy.speed + 10
scoreLimit = scoreLimit + 10
enemiesReadyToSpeedUp = false
end
end
choses que j'ai essayé:
- Écrire cette fonction à peu près la même sans booléens. (ce qui veut dire que j'augmente la vitesse de l'ennemi lorsque la vitesse du joueur dépasse 10. Au lieu de faire un booléen vrai, j'augmente la vitesse de l'ennemi en fonction du booléen)
- Coder en dur toutes les combinaisons possibles dans lesquelles un ennemi devrait accélérer. mais cela nécessite beaucoup de déclarations if, est très inefficace, et est aussi en général une mauvaise pratique de codage. mais cela fonctionne, et je suis en train d'envisager de le faire de cette façon si rien d'autre ne fonctionne.
- Enfin, j'ai également essayé
enemy.speed = enemy.speed + player_speed
mais c'était une erreur assez évidente carenemy.speed
a augmenté chaque image et j'ai eu le même résultat que ma première erreur.
omg, merci beaucoup je ne savais même pas que je faisais ça. @Vlad –