éxécuter les événements dans l'ordre que l'on veut

Bonsoir tout le monde ^^
Actuellement, Game Develop exécute les événements dans l’ordre (il exécute le 1er puis le 2ème puis le 3ème, etc jusqu’au dernier événement), mon idée est de faire en sorte de pouvoir choisir quel événement va être lancé en 1er. J’ai pensé à faire un logiciel mais il nécessiterai que GD n’exécute pas ses événements dans l’ordre (vu que dans un logiciel, il n’y à pas vraiment d’action lancé dans l’ordre, c’est par rapport à ce que fais l’utilisateur dans le logiciel). En plus, s’il exécuterai les événements autrement que du 1er au dernier, cela pourrait être utile. Bref, qu’en pensez-vous ?

Ca briserait toute la logique de Game Develop. :wink:

D’où l’utilité des évènements fonctions :slight_smile:

Oui, prends les fonctions, ton idée tiens pas debout, puisque sinon tu va devoir t’emmerder a dire a chaque fois quoi exécuter, ça rends le logiciel complément fous…
(Et je te parle pas des sous évènements, et pour le cas ou tu change les N° d’évènements, par exemple, en rajoutant des actions…)

Bonjour
Cela va à l’encontre du principe de programmation.

Si tu tiens vraiment à ton idée, j’ai une solution mais celle ci surchargera les évènements, mais bon…
-dans les conditions, tu mets une variable où tu mets un numéro, c’est l’ordre.
-dans les actions, tu mets une action variable+1
-tu met un évènement qui indique x>1
J’explique : dans les conditions tu mets la variable avec le chiffre maximale que t’a et quand celui ci est atteint, il revient à 1 car il y a rien après.

J’explique le fonctionnement : GD va lire les évènements et il tombera sur l’évènement qui a comme condition : variable = 1, à la fin des actions, il va mettre à la variable +1 et quand il va lire les évènements (dans l’ordre), il va effectuer celui qui a variable = 2.

C’est une technique plus que moyenne mais bon…
jérémie 14

C’est vrai que je n’ai pas pensé aux événements fonctions, c’est une des seules choses de GD que j’ai du mal à comprendre (le reste des fonctions de GD, je regarde, je réfléchie à quoi cela me servirai pour les jeux, et hop j’ai compris à quoi sert la fonction !) mais cette fonction-là j’ai plus de mal à la comprendre.
EDIT : le big-tuto me sera utile pour certaines choses.

L’événement fonction est un événement (je t’apprends rien) qui a un nom (par défaut, myFunction), tu peux l’appeler depuis un autre événement grâce à une action (catégorie “Evenement Fonction”), ce qui aura pour effet de faire ce qu’il contient.

Les évènements fonctions permettent de faire exactement ce que tu souhaite : Organiser tes évènements, mais aussi les simplifier.
( Au passage, ne faites jamais la technique de jéremie14, c’est dégeulasse, casse tête, et pas optimisé du tout ( On divise les performances des évènements par le nombre de “pseudo fonctions” qu’on créé ). Si vous avez une solution à proposer, proposez la meilleure : Les fonctions ).

Il s’agit d’évènements qui seront exécutes uniquement si ils sont appelés, par une action.
Pour tester cela, il suffit de créer un évènement fonction. Il s’agit d’un évènement normal ( Condition et actions ), à part le fait que l’évènement possède un nom, que tu peux choisir a ta guise.
Ensuite, quand tu veux exécuter ton évènement, tu utilise l’action appropriée.

Par exemple :

[code]
Conditions : Pas de conditions :
Actions: Executer la fonction MaFonction2
Executer la fonction MaFonction1

Evenement nommé “MaFonction1” :
Conditions : Aucune
Actions : Changer la couleur de la scène…

Evenement nommé “MaFonction2” :
Conditions : Aucune
Actions : Déplacer le joueur…[/code]

Dans cet exemple, l’évènement nommé “MaFonction2” sera executé avant l’évènement “MaFonction1”.
Tu peux ainsi organiser le déroulement de tes évènements. Et bien sur, tu peux exécuter des fonctions à l’intérieur de fonctions, ou les appeler plusieurs fois.

Plus d’informations théoriques là dessus sur Wikipedia : fr.wikipedia.org/wiki/Fonction_informatique
Et dans le fichier d’aide de Game Develop :wink:

Ah je vois, je crois que je comprend un peu mieux là, merci :slight_smile:

En gros, c’est comme les évènements externes.

Sauf qu’ils ne s’enclenchent que s’ils sont appelés dans un autre évènement ?
Et qu’on peut les répéter dans toute la page d’évènements ?
C’est vrai que ça peut être intéressant.

Mais il faudrait peut être un exemple pratique, pour mieux comprendre comment s’en servir.
Je n’en ai pas trouvé dans les exemples fournis avec GD.

Tu peux les appeler quand tu veux, où tu veux, le nombre de fois que tu veux.
Bref, ça porte pas le nom “Fonction” pour rien. :wink:

Et tu peux même ne pas les appeler si ça te chante.

Les évènements externes ont plus une vocation d’organisation globale du jeu ( L’équivalent d’inclure des fichiers en programmation ), là où les fonctions sont quelque chose de beaucoup plus flexible ( On peut leur passer des arguments facilement ) et à usage plus ciblé : Les fonctions accomplissent quelque chose de bien spécifique souvent. Genre : AnimerLesEnnemis, GérerJoueur, RechercherCible, ModifierScore…

Téléchargez les sources de mon jeu, je me sert d’un peu tout dedans.

Fonctions, évènements externes…

okay, je le ferai à l’occas pour apprendre quelques petits trucs, merci ^^.