|
|
| Auteur | Message |
|---|
kimerafusion Possedé par Mark Overmars


Nombre de messages: 1622 Programme utilisé (Gm/RmXp/...): gamemaker 7.0 pro, code::blocks, adobe dreamweaver, gnu-gcc Etudes: futur ingénieur logiciel (j'aimerais bien bosser sur de la nanotechnologie, biotechnologie ou autres), seconde GT Loisirs: jeux-vidéos - programmation (C/C++, Qt, SDL) Date d'inscription: 14/10/2008
 | Sujet: Scripts externes Ven 3 Juil - 20:13 | |
| Vous connaissez sprite_add(machin,bidule,truc)?? Existe-t-il un script_add? ou alors sinon, une dll peut-elle le fournir? |
|
 | |
Poleon Maitre absolu adjoint


Nombre de messages: 619 Age: 17 Programme utilisé (Gm/RmXp/...): Game maker 7 / Code::block/DreamWeaver/ Photoshop/Sony Vegas Pro/After Effect Etudes: Tle : Sciences 8h/ Maths 8h Loisirs: Programmation/Musique/Jeux vidéo/Lecture Date d'inscription: 03/03/2006
 | Sujet: Re: Scripts externes Ven 3 Juil - 20:35 | |
| Il y a un moyen simple de faire cela. Tu crée un fichier texte avec ton script dedans. Ensuite tu lit le fichier et tu stocke son contenu dans une variable. Finalement tu te sert de cette fonction : execute_string(str) Exécute la portion de code contenue dans la chaîne str. Plus simple encore si t'a pas besoin d"insérer" ton script dans ton programme : execute_file(fname) Exécute la portion de code contenue dans le fichier fname. _________________ |Apprendre le GML ici et bien + encore ! |"Chuck Norris n'utilise pas de navigateur. Il lit le code source et imagine la page. Question de gain de temps..." "La nuit tous les chats sont #CCCCCC"
|
|
 | |
kimerafusion Possedé par Mark Overmars


Nombre de messages: 1622 Programme utilisé (Gm/RmXp/...): gamemaker 7.0 pro, code::blocks, adobe dreamweaver, gnu-gcc Etudes: futur ingénieur logiciel (j'aimerais bien bosser sur de la nanotechnologie, biotechnologie ou autres), seconde GT Loisirs: jeux-vidéos - programmation (C/C++, Qt, SDL) Date d'inscription: 14/10/2008
 | Sujet: Re: Scripts externes Ven 3 Juil - 21:33 | |
| Waw c'est cool ce que tu me donnes là ça veut dire que maintenant dans mes jeux il y aura plus que les objets et les rooms... Et les rooms, y'a moyen de les rendre externes? |
|
 | |
Poleon Maitre absolu adjoint


Nombre de messages: 619 Age: 17 Programme utilisé (Gm/RmXp/...): Game maker 7 / Code::block/DreamWeaver/ Photoshop/Sony Vegas Pro/After Effect Etudes: Tle : Sciences 8h/ Maths 8h Loisirs: Programmation/Musique/Jeux vidéo/Lecture Date d'inscription: 03/03/2006
 | Sujet: Re: Scripts externes Ven 3 Juil - 22:48 | |
| Ouep :p Va voir dans l'aide dans la partie des room tu peux en créer en leur assignant une taille etc. Ensuite dans le fichier de ta room, tu met tout des instance_create pour placer les objet la où tu veux. Mais dans ce cas , le mieux c'est que tu crées ton propre éditeur et quand tu sauvegardes ta carte, l'éditeur écrit lui même tout les 'instance_create' dans le fichier. Edit: les objets tu peux aussi les rendre externes, de nouveau je te renvoie à l'aide gml section objets, tu verra que tu a pleins de fonctions pour créer en gml les conditions de déclenchement des événements ( step, create,...) Et de nouveau tu tapes toutes les données dans un fichier puis tu l'exécute avec les fonction du dessus  _________________ |Apprendre le GML ici et bien + encore ! |"Chuck Norris n'utilise pas de navigateur. Il lit le code source et imagine la page. Question de gain de temps..." "La nuit tous les chats sont #CCCCCC"
|
|
 | |
kimerafusion Possedé par Mark Overmars


Nombre de messages: 1622 Programme utilisé (Gm/RmXp/...): gamemaker 7.0 pro, code::blocks, adobe dreamweaver, gnu-gcc Etudes: futur ingénieur logiciel (j'aimerais bien bosser sur de la nanotechnologie, biotechnologie ou autres), seconde GT Loisirs: jeux-vidéos - programmation (C/C++, Qt, SDL) Date d'inscription: 14/10/2008
 | Sujet: Re: Scripts externes Sam 4 Juil - 14:09 | |
| Euh tu m'as dit que je pourrais créer un éditeur de cartes... Oui, je voudrais en faire un pour mon jeu... mais comment faire? Je ne me suis jamais penché sur la question d'un éditeur de cartes... |
|
 | |
Poleon Maitre absolu adjoint


Nombre de messages: 619 Age: 17 Programme utilisé (Gm/RmXp/...): Game maker 7 / Code::block/DreamWeaver/ Photoshop/Sony Vegas Pro/After Effect Etudes: Tle : Sciences 8h/ Maths 8h Loisirs: Programmation/Musique/Jeux vidéo/Lecture Date d'inscription: 03/03/2006
 | Sujet: Re: Scripts externes Sam 4 Juil - 14:20 | |
| Je veux bien t'aider, mais si tu veux vraiment que je t'explique toute la procédure en fonction de ce que tu veux, ça serait éventuellement mieux par msn je pense  _________________ |Apprendre le GML ici et bien + encore ! |"Chuck Norris n'utilise pas de navigateur. Il lit le code source et imagine la page. Question de gain de temps..." "La nuit tous les chats sont #CCCCCC"
|
|
 | |
kimerafusion Possedé par Mark Overmars


Nombre de messages: 1622 Programme utilisé (Gm/RmXp/...): gamemaker 7.0 pro, code::blocks, adobe dreamweaver, gnu-gcc Etudes: futur ingénieur logiciel (j'aimerais bien bosser sur de la nanotechnologie, biotechnologie ou autres), seconde GT Loisirs: jeux-vidéos - programmation (C/C++, Qt, SDL) Date d'inscription: 14/10/2008
 | |
 | |
Poleon Maitre absolu adjoint


Nombre de messages: 619 Age: 17 Programme utilisé (Gm/RmXp/...): Game maker 7 / Code::block/DreamWeaver/ Photoshop/Sony Vegas Pro/After Effect Etudes: Tle : Sciences 8h/ Maths 8h Loisirs: Programmation/Musique/Jeux vidéo/Lecture Date d'inscription: 03/03/2006
 | Sujet: Re: Scripts externes Sam 4 Juil - 14:25 | |
| Je crois en avoir déja vu quelque part, mais si je les retrouve pas j'en fait un basique vite fait  _________________ |Apprendre le GML ici et bien + encore ! |"Chuck Norris n'utilise pas de navigateur. Il lit le code source et imagine la page. Question de gain de temps..." "La nuit tous les chats sont #CCCCCC"
|
|
 | |
kimerafusion Possedé par Mark Overmars


Nombre de messages: 1622 Programme utilisé (Gm/RmXp/...): gamemaker 7.0 pro, code::blocks, adobe dreamweaver, gnu-gcc Etudes: futur ingénieur logiciel (j'aimerais bien bosser sur de la nanotechnologie, biotechnologie ou autres), seconde GT Loisirs: jeux-vidéos - programmation (C/C++, Qt, SDL) Date d'inscription: 14/10/2008
 | |
 | |
Poleon Maitre absolu adjoint


Nombre de messages: 619 Age: 17 Programme utilisé (Gm/RmXp/...): Game maker 7 / Code::block/DreamWeaver/ Photoshop/Sony Vegas Pro/After Effect Etudes: Tle : Sciences 8h/ Maths 8h Loisirs: Programmation/Musique/Jeux vidéo/Lecture Date d'inscription: 03/03/2006
 | Sujet: Re: Scripts externes Sam 4 Juil - 16:10 | |
| Voila je t'ai concocté un p'tit exemple^^ Il n'y a pas de commentaires et la majorité de mes appellations sont en anglais ( question d'habitude) mais le tout reste compréhensible à mon goût :p Télécharger_________________ |Apprendre le GML ici et bien + encore ! |"Chuck Norris n'utilise pas de navigateur. Il lit le code source et imagine la page. Question de gain de temps..." "La nuit tous les chats sont #CCCCCC"
Dernière édition par Poleon le Sam 4 Juil - 16:22, édité 1 fois |
|
 | |
kimerafusion Possedé par Mark Overmars


Nombre de messages: 1622 Programme utilisé (Gm/RmXp/...): gamemaker 7.0 pro, code::blocks, adobe dreamweaver, gnu-gcc Etudes: futur ingénieur logiciel (j'aimerais bien bosser sur de la nanotechnologie, biotechnologie ou autres), seconde GT Loisirs: jeux-vidéos - programmation (C/C++, Qt, SDL) Date d'inscription: 14/10/2008
 | Sujet: Re: Scripts externes Sam 4 Juil - 16:20 | |
| Il me dit 0 items found to display! EDIT : ah non rien EDIT2 : c'est lequel? EDIT3 : Ah non c'est bon... ENORME! C'est trop fort ce que tu m'as fait là! Merci beaucoup! 
Dernière édition par kimerafusion le Sam 4 Juil - 16:47, édité 1 fois |
|
 | |
Poleon Maitre absolu adjoint


Nombre de messages: 619 Age: 17 Programme utilisé (Gm/RmXp/...): Game maker 7 / Code::block/DreamWeaver/ Photoshop/Sony Vegas Pro/After Effect Etudes: Tle : Sciences 8h/ Maths 8h Loisirs: Programmation/Musique/Jeux vidéo/Lecture Date d'inscription: 03/03/2006
 | Sujet: Re: Scripts externes Sam 4 Juil - 16:23 | |
| Oups. J'ai changé le lien, il pointe directement le fichier la  _________________ |Apprendre le GML ici et bien + encore ! |"Chuck Norris n'utilise pas de navigateur. Il lit le code source et imagine la page. Question de gain de temps..." "La nuit tous les chats sont #CCCCCC"
|
|
 | |
kimerafusion Possedé par Mark Overmars


Nombre de messages: 1622 Programme utilisé (Gm/RmXp/...): gamemaker 7.0 pro, code::blocks, adobe dreamweaver, gnu-gcc Etudes: futur ingénieur logiciel (j'aimerais bien bosser sur de la nanotechnologie, biotechnologie ou autres), seconde GT Loisirs: jeux-vidéos - programmation (C/C++, Qt, SDL) Date d'inscription: 14/10/2008
 | |
 | |
Poleon Maitre absolu adjoint


Nombre de messages: 619 Age: 17 Programme utilisé (Gm/RmXp/...): Game maker 7 / Code::block/DreamWeaver/ Photoshop/Sony Vegas Pro/After Effect Etudes: Tle : Sciences 8h/ Maths 8h Loisirs: Programmation/Musique/Jeux vidéo/Lecture Date d'inscription: 03/03/2006
 | Sujet: Re: Scripts externes Sam 4 Juil - 16:56 | |
| Y a pas de quoi, content de t'avoir aidé une fois de plus  _________________ |Apprendre le GML ici et bien + encore ! |"Chuck Norris n'utilise pas de navigateur. Il lit le code source et imagine la page. Question de gain de temps..." "La nuit tous les chats sont #CCCCCC"
|
|
 | |
nicoulas Habitué


Nombre de messages: 293 Age: 16 Programme utilisé (Gm/RmXp/...): Game Maker 7.0 Pro Etudes: Lycéen : 1ère S : SVT Loisirs: programmer, bricoler, écouter de la musique (surtout rock), faire du bike Date d'inscription: 29/10/2008
 | Sujet: Re: Scripts externes Sam 4 Juil - 22:43 | |
| | Poleon a écrit: | Il y a un moyen simple de faire cela. Tu crée un fichier texte avec ton script dedans. Ensuite tu lit le fichier et tu stocke son contenu dans une variable.
Finalement tu te sert de cette fonction :
execute_string(str) Exécute la portion de code contenue dans la chaîne str.
Plus simple encore si t'a pas besoin d"insérer" ton script dans ton programme :
execute_file(fname) Exécute la portion de code contenue dans le fichier fname. |
Je veux pas dire, mais niveau performances, ces deux techniques (qui sont malheureusement les deux seules possibles à ma connaissance) sont vraiment mauvaises : execute_file() et execute_string() sont des fonctions très lentes, alors si ce doit être de même avec tous les objets (dans leur step event), ton jeu va pomper énormément même pour des actions de base.
Une solution consiste à faire seulement un objet controlleur dans ton .gm6 ou .gmk qui s'occupera de lire les fichiers externes qui lui feront créer des objets (dans son create event). De cette manière, pas besoin d'utiliser execute_file() ni execute_string() dans des step events, donc bien meilleures performances. Par contre, bonne chance, parce que avoir tous ses objets en externe, ça demande une excellente organisation des fichiers à charger. |
|
 | |
Xierra54 Admin - .: el traductor :.


Nombre de messages: 8504 Age: 50 Programme utilisé (Gm/RmXp/...): GM (6.1 et 7 enregistrées), Purebasic (démo) Etudes: Supérieures Loisirs: ordinateur Date d'inscription: 13/08/2005
 | Sujet: Re: Scripts externes Dim 5 Juil - 9:12 | |
| Je suis entièrement d'accord avec Nicoulas. |
|
 | |
kimerafusion Possedé par Mark Overmars


Nombre de messages: 1622 Programme utilisé (Gm/RmXp/...): gamemaker 7.0 pro, code::blocks, adobe dreamweaver, gnu-gcc Etudes: futur ingénieur logiciel (j'aimerais bien bosser sur de la nanotechnologie, biotechnologie ou autres), seconde GT Loisirs: jeux-vidéos - programmation (C/C++, Qt, SDL) Date d'inscription: 14/10/2008
 | Sujet: Re: Scripts externes Dim 5 Juil - 12:07 | |
| | nicoulas a écrit: | | Poleon a écrit: | Il y a un moyen simple de faire cela. Tu crée un fichier texte avec ton script dedans. Ensuite tu lit le fichier et tu stocke son contenu dans une variable.
Finalement tu te sert de cette fonction :
execute_string(str) Exécute la portion de code contenue dans la chaîne str.
Plus simple encore si t'a pas besoin d"insérer" ton script dans ton programme :
execute_file(fname) Exécute la portion de code contenue dans le fichier fname. |
Je veux pas dire, mais niveau performances, ces deux techniques (qui sont malheureusement les deux seules possibles à ma connaissance) sont vraiment mauvaises : execute_file() et execute_string() sont des fonctions très lentes, alors si ce doit être de même avec tous les objets (dans leur step event), ton jeu va pomper énormément même pour des actions de base.
Une solution consiste à faire seulement un objet controlleur dans ton .gm6 ou .gmk qui s'occupera de lire les fichiers externes qui lui feront créer des objets (dans son create event). De cette manière, pas besoin d'utiliser execute_file() ni execute_string() dans des step events, donc bien meilleures performances. Par contre, bonne chance, parce que avoir tous ses objets en externe, ça demande une excellente organisation des fichiers à charger. |
Je ne comprends pas la technique que tu me donnes. Créer un objet controlleur qui lit les scripts à la place de l'objet qui faut... Quelqu'un peut-il me l'expliquer en détail? Sinon, plutôt que d'utiliser un execute_file() qui sera très mangeur de performances, lors du chargement de la room je vais mettre global.script = file_read() ou un truc comme ça et comme ça j'utiliserai un execute_string(). Je sais, ça change pas grand chose, mais c'est déjà un peu. Après, si je comprends ta méthode, je verrai. |
|
 | |
Poleon Maitre absolu adjoint


Nombre de messages: 619 Age: 17 Programme utilisé (Gm/RmXp/...): Game maker 7 / Code::block/DreamWeaver/ Photoshop/Sony Vegas Pro/After Effect Etudes: Tle : Sciences 8h/ Maths 8h Loisirs: Programmation/Musique/Jeux vidéo/Lecture Date d'inscription: 03/03/2006
 | Sujet: Re: Scripts externes Dim 5 Juil - 12:27 | |
| Mais si tu l'utilise juste pour charger des données d'une map ou des truc du genre , il n'y pas de probleme. Ce qu'il veut dire c'est que si a chaque step tu utilise un execute_file pour lire un fichier ou dedans t'a du code genre direction=image_angle etc , la c'est mauvais. Mais si tu veux juste charger des données une fois par partie ou par room il n'y pas de problème. _________________ |Apprendre le GML ici et bien + encore ! |"Chuck Norris n'utilise pas de navigateur. Il lit le code source et imagine la page. Question de gain de temps..." "La nuit tous les chats sont #CCCCCC"
|
|
 | |
nicoulas Habitué


Nombre de messages: 293 Age: 16 Programme utilisé (Gm/RmXp/...): Game Maker 7.0 Pro Etudes: Lycéen : 1ère S : SVT Loisirs: programmer, bricoler, écouter de la musique (surtout rock), faire du bike Date d'inscription: 29/10/2008
 | Sujet: Re: Scripts externes Dim 5 Juil - 12:35 | |
| Exactement (d'ailleurs ce serait de même avec execute_string() qui est très lent aussi). Je te suggèrais de créer un seul objet qui devrait exécuter les scripts externes. Dans ces scripts, devrait se trouver un code permettant la création d'autres objets. Un code du genre : | Code: | global.objet_balle = object_add(); object_event_add(global.objet_balle,ev_create,0,"direction = 90; speed = 2;"); |
(code non testé, j'ai fait ça de mémoire, donc il peut y avoir des erreurs d'arguments)
En fait, ton objet controlleur servirait à créer tous les autres objets dont tu as besoin, et ainsi (en ajoutant in-game des events a ces objets) cela éviterait d'utiliser execute_string() ou execute_file() dans le step event des objets créés in-game.
Si tu veux, je pourrais te faire un petit exemple vite fait pour te montrer  |
|
 | |
kimerafusion Possedé par Mark Overmars


Nombre de messages: 1622 Programme utilisé (Gm/RmXp/...): gamemaker 7.0 pro, code::blocks, adobe dreamweaver, gnu-gcc Etudes: futur ingénieur logiciel (j'aimerais bien bosser sur de la nanotechnologie, biotechnologie ou autres), seconde GT Loisirs: jeux-vidéos - programmation (C/C++, Qt, SDL) Date d'inscription: 14/10/2008
 | Sujet: Re: Scripts externes Dim 5 Juil - 12:48 | |
| Bah je vois pas du tout ce que tu veux dire... je comprends rien  En fait, dans le step event, je pense que je vais mettre un bon vieux execute code en drag&drop, et dans tout le reste, ce sera des execute_file() ou execute_string(). |
|
 | |
|