Bonjour,
Tout d’abord, un GRAND coup de chapeau pour cet environnement de création de jeu. c’est GE-NIAL.
Je m’en sers en week-end avec mon fils de 12 ans et on s’amuse comme des petits fous
Nous avons fait une recherche sur ce sujet mais nous n’avons pas trouvé une réponse (qui nous plaise… )
Notre jeu:
un bonhomme marche sur des dalles et il peut décider de détruire momentanément (=> changer le numéro d’animation) une ou plusieurs dalles
Nous aimerions qu’au bout de “x” secondes, chaque dalle “détruite” se recrée automatiquement (en fait, je changerai juste le numéro d’animation de cette instance de dalle)
Il ne faut donc pas avoir un chronomètre global mais un chronomètre associé à chaque instance d’objet DALLE (sinon toutes les instances détruites vont se recrées au même moment).
Y-a-t’il un moyen:
de créer un chronométre par instance d’objet?
lorsque ce chronomètre expire, comment retrouver la bonne instance d’objet DALLE (pour pouvoir changer le numéro d’animation de CETTE instance de dalle)?
Vous avez sûrement remarqué que les noms des chronomètres peuvent être une expression.
Donc, on peut affecter une variable d’objet du nom ID à chaque instance de l’objet au lancement de la scène. Chaque objets auront donc, un id différent. Pour cela, on utilise un type d’évenement spécial, appelé “Répéter pour chaque …” (Clic droit dans l’éditeur d’événement > Insérer … > Pour chaque objet …) qui sera un sous-événement d’un autre événement qui a lui pour condition “Au lancement de la scène”.
[attachment=1]topic - chronometre instance objet.png[/attachment]
Ensuite, tu mets un événement Pour Chaque HORS de l’événement de lancement de la scène. Ces événements Pour Chaque permet de passer sur chaque Objet du nom que tu veux (ici monObjet) pour pouvoir utiliser des conditions dessus.
[attachment=0]topic - chronometre instance objet 2.png[/attachment]
Ici, on passe sur chaque objet “monObjet”, on teste si le chronomètre “reconstruireX” (imaginons que X est le nombre contenu dans la variable id de l’objet monObjet, que l’on a créer dans le 1er événement) est supérieur à 2 sec, et on fait les actions. Evidemment, on n’oublie pas de remettre à zéro ce chronomètre.
Il faut bien faire le clic droit SUR l’événement “Au lancement de la scène”.
[attachment=0]clic-droit-sur-event.png[/attachment]
Ou sinon, créer le Pour CHaque objet en tant qu’événement normal, puis dessus → Clic droit > Coupez l’événement
Ensuite,sur l’événement au lancement de la scène > Clic droit > Coller > En tant que sous-événement.
Quelle est la config de votre ordi ?
Avez-vous bien la dernière version de GD ?
Bonsoir,
J’ai la version 1.5.9980.50345. Est-ce la dernière?
Mais je crois que j’ai compris… j’étais en “Mode simple” et je pense que le bouton “ajouter un sous évènement” est grisé (non accessible) dans ce mode.
Maintenant j’ai désactivé le “Mode simple” et je peux enfin créer un sous-évènement.
En tout cas, ce forum a l’air aussi génial que ce programme GD…
Merci beaucoup pour votre aide si rapide.
Cordialement,
D & Fils…
Vous pouvez toujours vérifier si il y a une version plus récente, il faut simplement cliquer sur “Mise à jour” dans l’onglet “Général”.
D’ailleurs, GD affiche un message au démarrage lorsqu’il y a une nouvelle version.
Bon… Grâce à votre aide, nous commençons à savoir utiliser les chronomètres. Merci!
On pense comprendre mais on est pas vraiment sur
Est-ce qu’un gourou de GD pourrait nous expliquer EXACTEMENT:
quand un chronomètre est créé?
quand un chronomètre démarre?
est-ce la première fois qu’il apparait dans une condition d’un évènement (ex: "le chronomètre “blabla” est supérieur à x secondes)?
est-ce la première fois qu’il apparait dans une action d’un évènement (ex: “Remettre à zéro le chronomètre “blabla”” ou "Mettre en pause le chronomètre “blabla” ou"Enlever la pause du chronomètre “blabla”)?
est-ce une bonne pratique de mettre à zéro les chronomètres que l’on va utiliser dans une scène (par exemple lors d’un évènement “Au lancement de le scène”) avant de les utiliser dans une scène (ex: avant d’évaluer leur temps ou de les mettre en pause)
Quand il est mis en pause ou remis à zéro, c’est à dire quand il apparait dans une action.
Quand il est créé, c’est à dire quand une action agit dessus.
Cependant, si un chronomètre n’existe PAS la condition “le chronomètre est supérieur à x secondes” renverra quand même vrai ( Je concède que c’est un comportement bizarre ).
Oui, car tu t’assure ainsi que ces chronomètre commencent bien à zéro au départ de la scène. Si tu ne le fais pas, rien de grave, il faut juste que tu soit conscient que la condition “Le chronomètre est supérieur à x seconde” renverra vrai tant que le chronomètre ne sera pas remis à zéro ( ou mis en pause ).
Merci BEAU-COUP.
Maintenant c’est parfaitement clair.
Le “help” sur les chronomètres est OK pour faire des choses simples.
Mais à un moment, il faut mieux comprendre si on veut vraiment contrôler ce qui se passe.
Si un jour tu modifies le help (je sais, c’est toujours la dernière chose que l’on a envie de faire ), je crois que cela serait une bonne idée de remettre exactement ta réponse ci-dessus)
En tout cas, BRA-VO pour GD!
Je suis tombé dessus en recherchant sur Google un environnement de création de jeu assez simple pour pouvoir concevoir des jeux très simples avec mon fils. Et (excellente) surprise, non seulement on peut faire des jeux très simples mais aussi des jeux beaucoup plus complexes et tout cela avec une facilité déconcertante…!
Très cordialement,
Damien.