Me voila de nouveau bloquer j’explique mon soucis.
J’ai une scène ou lors d’une action des ennemis apparaissent (7 au total), sur la map son positionné 7 capteurs. J’aimerais simplement que lorsque les ennemis sont crées ils se déplacent vers un capteur au hasard sans jamais qu’il y est 2 ennemis sur un même capteur.
J’ai pensé au départ à attribuer une variables “select” a chaque objets ennemis en aléatoire en espérant que chaque objets ennemi possèdent un chiffre entre et 1 et 7 mais certains ont des fois le même nombres donc ça m’avance pas à grand chose. J’ai pensé aussi à lier l’objet ennemi avec capteur mais ça ne fonctionne pas non plus.
J’arrive pas à trouver une expression pour diriger un ennemi dupliquer 7 fois sur un capteur dupliquer 7 fois aussi. Ou alors j’édite 7 objets dans l’éditeur d’objet et de même pour les capteurs mais bon…
Je précise que je suis la dessus depuis 2 jours donc croyez moi je suis certes pas très doué mais j’ai réfléchit avant de poster (bon pas assez )
Condition: toujours
Action: faire = +1*TimeDelta() à la variable “SelectionnerEnnemis”
Conditions:
-Prendre un ennemi au hasard
-La variable “selection” de l’objet ennemi est égal à 0
-Le chronomètre “selection” est supérieur à une seconde
Actions: Faire = “SelectionnerEnnemis” à la variable “selection” de l’objet ennemi.
-Remettre à zéro le chronomètre “selection”
Cela permet de donner une valeur comprise entre 1 et 7 à la variable de chacun de tes ennemis. Cela dure 7 secondes mais tu peux modifier le chronomètre ainsi que la rapidité à laquelle augmente la variable “SelectionnerEnnemis” pour que ce soit plus rapide.
Ensuite on fait la même chose mais pour les capteurs:
Conditions:
-Prendre un capteur au hasard
-La variable “selection” de l’objet capteur est égal à 0
-Le chronomètre “selection2” est supérieur à une seconde
Actions: Faire = “SelectionnerEnnemis” à la variable “selection” de l’objet capteur.
-Remettre à zéro le chronomètre “Selectionner2”
Maintenant que l’on a affecté une valeur entre 1 et 7 aux capteurs et aux ennemis, il reste plus qu’à diriger chaque ennemi vers le capteur correspondant.
Par exemple:
Conditions:
Prendre un ennemi au hasard
La variable “SelectionnerEnnemis” de l’objet ennemi = 1
Prendre un capteur au hasard
La variable “SelectionnerEnnemis” de l’objet capteur = 1
Actions: Diriger Ennemi vers capteur
J’espère que j’ai bien expliqué . Ps: c’est probablement faux, ayant fait ça de tête sans essayer sur Game Develop, mais ça peut te donner une idée de ce qu’il faut faire .
Edit: J’ai essayé de le faire sur Game develop et ça marche. Je te donne un screenshot des evènements que j’ai utilisés:
A noter ikne que dans tes évènements, tu peux beaucoup les optimiser en utilisant les sous évènements plutôt que de réécrire 4 fois les mêmes conditions. (C’est plus lent et plus lourd)
Alors par contre je dois mal m’y prendre avec la fonction “TimeDelta” en effet lorsque je j’utilise celle ci avec exactement les même évènements que tu à fait (encore merci d’ailleurs ) je m’aperçois que la variable augmente au lieu de 1,2,3,4… avec cette fonction c’est plutôt 0.1015,0.1016,… mais du coup le reste des évènements ne fonctionne plus.
Pareil j’ai eu aussi quelques problèmes avec la fonction TimeDelta. C’est pour ça que dans l’image que j’ai donné j’utilise un chronomètre .
Sinon pour ton problème, es-tu sûr que as bien fait +1*TimeDelta() ? Pense au “+” qu’il faut mettre avant à la place du “=”. Le “1” détermine la valeur qui sera ajouté à la variable chaque seconde.
En même temps, 1*TimeDelta() donne un nombre très petit (car TimeDelta(), le temps depuis la dernière frame générée est très petit). Donc, en mettant floor devant, on va arrondir quelque chose comme 0.0001, donc on aura 0 (donc aucun effet).