déplacement aléatoire

Bonjour,

Je m’appelle Benjamin et j’ai 9 ans. Je découvre le logiciel Game Develop (avec l’aide de mon papa) et je trouve ça super.
J’essaye de faire traverser un objet “méchant” du haut de l’écran en bas de façon aléatoire toutes les 5 secondes (afin que ma voiture de police l’évite)et il va toujours ds la même direction, alors que je voudrais que les trajectoires soient aléatoires.
Pourrriez vous m’aider?
Ci joint une copie d’écran les événements de la scène.

Merci de votre aide

Alors:
Tu crée l’objet méchant toutes les 5s, tu ne voulais pas que ton objet soit crée une fois pour toutes puis qu’il se déplace?
(A savoir, ton jeu tourne a environ 40,60 ou 100 même images par secondes, ce qui signifie que les actions sans chronometre serons éxecutés a chaque rafraichissement d’image, donc si ton jeu a 40 fps, donc 40images par secondes, ton action sera effectués 40fois en 1seule seconde :wink: )
Condition Actions Evenements
L’idéal:
Donc tu t’occupe de la création des objets moi je t’explique pour le déplacement:
Au lancement de la scene:

Sous evenement>>Insère un évènement répéter pour chaque objets:

Actions: Faire: Random(999999) a la variable ID de l’objet “Méchant” (Attention les é et autres accents sont très déconseillés dans les noms d’objets, donc appelle le “Mechant”)


Evènement 2

ConditionLe chronomètre: "Depla"+ToString(Mechant.Variable(ID)) est supérieur ou égal a 5s.
Action:
1: Remettre a zero le chronomètre "Depla"+ToString(Mechant.Variable(ID))
2:Faire -150+Random(300) a la variable ForceX de l’objet “Mechant”
3:Faire -150+Random(300) a la variable ForceY de l’objet “Mechant”


Evènement 3 (pour chaque objet “Mechant”)

Action:Ajouter une force de Mechant.Variable(ForceX) en X et Mechant.Variable(Y) en Y avec une dissipation de 0, et ça devrait marcher :smiley:
Explications:
Au lancement de la scène tu donne un ID aléatoire a chaque Ennemi qui est crée (Attention il faudra que tu donne cet ID a chaque nouvel ennemi crée par la suite sinon ton jeu ne marchera pas) ce qui permet a ton jeu de différencier chaque ennemi.
Après:
Toute les 5s du chronomètre Depla et la variableID de méchant, c’est uniquement pour un seul ennemi, donc si un ennemi est correctement crée après, il n’aura pas de changement forcément en même temps que les autres, ils sont autonomes en quelques sorte.
Tu met leurs variable ForceX et ForceY a une valeur aléatoire entre -150 et 150.
Après tu va pour chaque objet le déplacer avec la valeur de ces variables et c’est gagné :smiley:
Bonus: Crée un objet méchant autonome

Condition: Ce que tu veux
Action:
1:Crée l’objet “Mechant” en Position X que tu veux et Position Y que tu veux.
2:Faire Random(999999) a la variable ID de l’objet “Mechant”
Et il se déplacera tout seul automatiquement.
Pense a supprimer les Mechants qui sont trop loin du joueur:
Condition:La distance entre (Ton objet qui sert de joueur) et “Mechant” est supérieur ou égale a 512
Action: Supprimer l’objet “Mechant”

Voila j’espère t’avoir aidé :smiley:

Je vais regarder ça avec mon papa de plus près.
Ce que je voulais faire c’est que des objets traversent l’écran toutes les 5s et que ma voiture les évitent… C’est tout simple. Mais quand on débute ce n’est pas facile.

Merci beaucoup. :wink:

La il ne vas pas traverser l’écran toutes les 5s, mais il va changer de direction toutes les 5s, ça peux le faire changer de direction de façon a corser un peu le jeu :smiley:

en tous cas bienvenu sur le forum :slight_smile: