Tir egal

bonjour je crée un jeu de combats mais j’ai un problème:
L’ordi étant donnée que les tests sont plus rapides tir beaucoup plus d’attaque que le joueur,
C’est embettant du coup c’est presque impossible de gagner!!
Je voudrais savoir si vous n’avez pas une technique permettant que le nombre de tir soit régulier et que la collision se fasse plus au moins a égale distance des deux et pas sur un joueur qui se fait toucher et en même temps son attaque détruit celle de l’ennemi :frowning:
Merci d’avance :smiley:

Il faut toujours faire un jeu qui soit independant du framerate. Pour cela, il faut utiliser le temps ecoulé depuis la derniere image ( VAL(timeDelta[]) ) dès que tu utilise une expression qui doit dependre du temps (acceleration, chute). Si il n’y a pas d’expressions qui entrent en jeu mais que l’evenement a un rapport au temps, utilise un chronometre. (A noter que les forces prennent en compte le temps ecoulé depuis la derniere image.) Regarde l’exemple CourseAdvanced (direction de la voiture).

Y a qu’une seule et unique image pour mon objet et je ne crois pas qu’il se repete
{si je dit une connerie dites le moi par ce que:}
euh je n’ai pas compris exactement c’est quoi l’idée :wink:

J’ai jamais parlé des images de ton objet, ça n’a rien à voir la dedans.

Ce que je dis, c’est que quand tu modifie des grandeurs, comme l’accélération d’une voiture ou la vie d’un personnage, ou que tu tire plein de missiles, il faut t’assurer que les modifications ne dépendent pas de la vitesse d’exécution du jeu.

Par exemple, si tu fais :

Conditions : Collision entre Héros et Méchant
Actions : Faire -50 à la variable “Vie” de Héros

Le héros perdra beaucoup plus vite sa vie sur un ordinateur rapide, car l’évènement sera exécuté beaucoup plus de fois que sur un ordi lent.
Il faut donc prendre en compte le temps écoulé :

Conditions : Collision entre Héros et Méchant
Actions : Faire -100*VAL(timeDelta) à la variable “Vie” de Héros

Ici, la valeur de timeDelta est le temps écoulé depuis la dernière image, en seconde. Comme on multiple le 100 par cette valeur, le héros perdra 100 de vie au bout d’une seconde, peut importe le nombre de fois que sera executé l’évènement, et donc peut importe la vitesse du pc.

De même, si tu fais :

Conditions : Clic gauche
Actions : Tirer un laser

Le nombre de laser tirés sera dépendant de la vitesse de l’ordinateur. Sur un ordinateur rapide, l’évènement sera exécuté plein de fois, et donc plein d’objets seront créés. Il vaut mieux bien définir le temps entre chaque création avec un chronomètre :

Conditions : Clic gauche
----------------- Le chronomètre “Tir” est supérieur ou égal à 0.15 secondes
Actions : Tirer un laser
-------------- Remettre à zéro le chronomètre “Tir”

Dans ton cas, tu nous dis :

Et bien, utilise un chronomètre.
Et si c’est pas ça, fais un screenshot de tes évènements, car j’ai du mal à décoder ce que tu raconte ( et si je passe plus de temps à décoder ce que tu veux dire qu’à proposer une solution, on n’est pas sorti de l’auberge ).

je teste :slight_smile: