| | Exécution de plusieurs objets | |
| | Auteur | Message |
---|
xxzerga Débutant
Messages : 10
| Sujet: Exécution de plusieurs objets Lun 9 Jan 2012 - 11:06 | |
| Bonjour à tous ! Je voulais savoir si on pouvait exécuter plusieurs objets en même temps, donc appliquer les contraintes d'un objet en même temp que celles d'un autre. Où alors exécuter plusieurs événements d'un objet en même temps, si j'éxécute du code gml. Donc, par exemple, j'exécute du code dans le créate de mon objet obj1. Je peux en même temps que le code : -exécuter des actions dans un autre évent (collision, step) ? -exécuter des actions dans d'autres objets ? Et en même temps que le code du créate de obj1 ? Et sinon, mais c'est une autre question, facultative, comment marche le "instant play" ? (ou un truc du genre, pour convertir le fichier exe de game maker en fichier flash ) ? Merci d'avance ! |
| | | onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Exécution de plusieurs objets Lun 9 Jan 2012 - 11:32 | |
| En programmation procédurale on pas pas faire plus d'un chose a la fois.
Pour le "instant play" normalement il faut juste uploader son jeu sur yoyogames.
|
| | | M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Exécution de plusieurs objets Lun 9 Jan 2012 - 11:37 | |
| Bonjour à toi!
Premièrement, évite des paragraphes de une ligne, c'est très fatiguant à lire. Pour ta question, je ne suis pas sûr de comprendre de quoi tu veux parler, aurais-tu un exemple concret? Le 'instant play', ça se fait tout seul sur yoyogames, et ce n'est pas du flash, tu remarqueras que les applications ne se lancent pas dans le browser, mais bien par dessus, après un chargement qui n'est en fait que le téléchargement déguisé du jeu sur ton ordinateur. Il n'existe à ma connaissance pas encore de formule magique changeant du code binaire 'c++', en quelque chose ressemblant à la technologie flash, par ailleurs très différente dans son fonctionnement.
Oh, un dernier point pour ta question: définit ce que tu entends par 'en même temps', ça peut prêter à confusion! |
| | | onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Exécution de plusieurs objets Lun 9 Jan 2012 - 11:52 | |
| Pour le C++ vers flash j'ai cru comprendre qu'adobe on bossé dessus, et que c'est prometteur :p http://labs.adobe.com/technologies/alchemy/Sinon ouai, l'instant play de yoyogames sert pas a grand chose... mis a part rendre plus facilement les jeux décompilables x) |
| | | xxzerga Débutant
Messages : 10
| Sujet: Re: Exécution de plusieurs objets Lun 9 Jan 2012 - 11:54 | |
| Merci pour vos réponses rapides ! Ce que j'entend par là, c'est que j'ai un curseur (nommé LabyCurseur) qui se déplace dans une room composée d'une grille de murs Laby1 et Laby 2. J'aimerais que, pendant que le code dans l'événement créate, dit a mon curseur d'aller à droite, à gauche ... Eh ben pendant ce temps là, les murs se détruisent. Donc, pendant que mon code du créate s'exécute, un évent collision dans l'objet LabyCurseur s'exécute lui aussi, ou alors un événement step avec du code, dans l'objet Laby1 (mur) et Laby2 (mur lui aussi). Car j'ai bien essayé de marquer du code pour détruire les murs dans le code du créate de mon objet LabyCurseur, mais ça ne marche pas à tout les coups. Et si je fait un évent collision avec les murs + un icône poubelle (instance destroy ?), dans mon objet LabyCurseur, ça ne marche pas ! J'espère que vous avez une solution ! P.S: Voici le code que je met dans mon créate du curseur, pour détruire les murs, qui ne marche pas à tout les coups (des murs non détruits) : - Code:
-
detruire=instance_place(x,y,Laby1) if(detruire != noone) with(detruire) { instance_destroy(); } detruire=instance_place(x,y,Laby2) if(detruire != noone) with(detruire) { instance_destroy(); } P.S 2 : Ce n'est pas du C++ , c'est du gml |
| | | M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Exécution de plusieurs objets Lun 9 Jan 2012 - 12:51 | |
| oui oui, c'est du gml, mais le gml est un code dont la logique et le fonctionnement sont basés sur le c++ Je comprends mieux. en fait, le problème, c'est ta compréhension des events de GM, on dirait que tu réfléchis comme un développeur Javascript Alors, en gros: create est un event exécuté une seule fois, lors de la CREATION de l'instance (donc quand la room est crée, si tu places l'objet dans l'éditeur de room.) step est executé .... à chaque step: c'est la plus petite unité de temps dans ton jeu, qui correspond à la room speed (réglable dans l'editeur de room, section settings). 30 par défaut, signifie qu' il y a 30 steps par secondes: donc el code dans step est executé à un rythme de 30 fois par secondes. Si dans ton code STEP, tu écris x = x + 1, ca fait avancer l'objet de 1 pixel... par step, donc en tout, ton perso avance de 30 pixels par secondes. Bref, pour un évenement qui doit se répéter de facon réguliere/a chaque instant, on écrit ca dans step. C'est le cas chez toi, tu dois tester à chaque step si il y a une collision, et executer une destruction d'objet le cas echeant. Sinon il y a l'event collision with... Si tu fais un event collision with (objet à detruire) dedans tu öarques: - Code:
-
with(other) { instance_destroy() } other designe l'instance en collision avec ton curseur |
| | | xxzerga Débutant
Messages : 10
| Sujet: Re: Exécution de plusieurs objets Lun 9 Jan 2012 - 13:02 | |
| Ok, merci ! En fait, le code que j'exécute dans créate, est composé d'une boucle censée générer un labyrinthe. Mais alors, si je crée un événement collision, et que je met le code que tu m'as dit , pendant que la boucle générera le labyrinthe en faisant aller le curseur dans différentes direction, l'évent collision marchera et mes murs seront détruits ? Car j'ai déjà essayé mais ça ne marchait pas ... Mais, si tu veux, je t'envois tout le code exécuté dans le créate, pour que tu comprennes mieux : - Code:
-
repeat(250) { nombre = choose(1,2,3,4); if(nombre==1 and x>610 and y>450) nombre = choose(2,4); if(nombre==2 and x<10 and y<10) nombre = choose(1,3); if(nombre==3 and y>450 and x>610) nombre = choose(2,4); if(nombre==4 and y<10 and x<10) nombre = choose(1,3); if(nombre==1 and x>610 and y<10) nombre = choose(2,3); if(nombre==2 and x<10 and y>450) nombre = choose(1,4); if(nombre==3 and y>450 and x<10) nombre = choose(1,4); if(nombre==4 and y<10 and x>610) nombre = choose(2,3); if(nombre==1 and x>610) nombre = choose(2,3,4); if(nombre==2 and x<10) nombre = choose(1,3,4); if(nombre==3 and y>450) nombre = choose(1,2,4); if(nombre==4 and y<10) nombre = choose(1,2,3); if (nombre==1) x=x+16; if (nombre==2) x=x-16; if (nombre==3) y=y+16; if (nombre==4) y=y-16; detruire=instance_place(x,y,Laby1) if(detruire != noone) with(detruire) { instance_destroy(); } detruire=instance_place(x,y,Laby2) if(detruire != noone) with(detruire) { instance_destroy(); } if (nombre==1) x=x+16 if (nombre==2) x=x-16 if (nombre==3) y=y+16 if (nombre=4) y=y-16 } Voilà ! Je n'ai pas encore mit de tableau pour que mon curseur ne repasse pas 2 fois dans la même case, mais sinon, c'est ça ! |
| | | M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Exécution de plusieurs objets Lun 9 Jan 2012 - 13:19 | |
| Ah oui d'accord, ça change tout: donc en gros, tu génère un labyrinthe, puis tu 'creuses' ton chemin à l'intérieur pour être sûr qu'il y a un chemin valide?
Moi je ferais différemment, en travaillant avec des structures de données, ici, une ds_grid. Il s'agit d'un tableau, je le remplirais de 1 et de 0, indiquant respectivement la présence ou l'absence de murs. Comme ça, tu fais des déplacements non pas de 16 mais de 1, et au lieu de faire des instance_place, tu regarde si la case vaut 1 ou non. Chaque case de la grille représenterais donc un espace de 16*16. |
| | | xxzerga Débutant
Messages : 10
| Sujet: Re: Exécution de plusieurs objets Lun 9 Jan 2012 - 13:27 | |
| Ben, c'est pas que je creuse, mais quand je génère le laby, je creuse, pas en 2 étapes. Mais connaitrais-tu, toi, ou quelqu'un d(autre, un cours sur les structures de données ? Car j'ai vu que Onilink_ préparais un atelier dessus, mais j'ai pas trouvé le lien ! EDIT: J'ai trouvé ce tuto , sur les structures de données : http://gamemaker.info/fr/manual/411_00_datastructures |
| | | Contenu sponsorisé
| Sujet: Re: Exécution de plusieurs objets | |
| |
| | | | Exécution de plusieurs objets | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |