Accueil­FAQ­Rechercher­S'enregistrer­Membres­Groupes­Connexion
Partager | 
 

 Scripts externes

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
kimerafusion
Possedé par Mark Overmars
Possedé par Mark Overmars


Masculin 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

MessageSujet: 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?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://kimerafusion.dixkey.com/
Poleon
Maitre absolu adjoint
Maitre absolu adjoint


Masculin Nombre de messages: 620
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

MessageSujet: 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"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
kimerafusion
Possedé par Mark Overmars
Possedé par Mark Overmars


Masculin 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

MessageSujet: 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?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://kimerafusion.dixkey.com/
Poleon
Maitre absolu adjoint
Maitre absolu adjoint


Masculin Nombre de messages: 620
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

MessageSujet: 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 :P

_________________
|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"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
kimerafusion
Possedé par Mark Overmars
Possedé par Mark Overmars


Masculin 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

MessageSujet: 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...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://kimerafusion.dixkey.com/
Poleon
Maitre absolu adjoint
Maitre absolu adjoint


Masculin Nombre de messages: 620
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

MessageSujet: 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"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
kimerafusion
Possedé par Mark Overmars
Possedé par Mark Overmars


Masculin 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

MessageSujet: Re: Scripts externes   Sam 4 Juil - 14:23

Non, j'ai juste besoin d'un exemple :)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://kimerafusion.dixkey.com/
Poleon
Maitre absolu adjoint
Maitre absolu adjoint


Masculin Nombre de messages: 620
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

MessageSujet: 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"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
kimerafusion
Possedé par Mark Overmars
Possedé par Mark Overmars


Masculin 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

MessageSujet: Re: Scripts externes   Sam 4 Juil - 14:25

Ok merci beaucoup pour ton aide ;)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://kimerafusion.dixkey.com/
Poleon
Maitre absolu adjoint
Maitre absolu adjoint


Masculin Nombre de messages: 620
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

MessageSujet: 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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
kimerafusion
Possedé par Mark Overmars
Possedé par Mark Overmars


Masculin 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

MessageSujet: 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! :love: XD


Dernière édition par kimerafusion le Sam 4 Juil - 16:47, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://kimerafusion.dixkey.com/
Poleon
Maitre absolu adjoint
Maitre absolu adjoint


Masculin Nombre de messages: 620
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

MessageSujet: 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"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
kimerafusion
Possedé par Mark Overmars
Possedé par Mark Overmars


Masculin 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

MessageSujet: Re: Scripts externes   Sam 4 Juil - 16:47

Ah non c'est bon... ENORME! C'est trop fort ce que tu m'as fait là! Merci beaucoup! :love: XD
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://kimerafusion.dixkey.com/
Poleon
Maitre absolu adjoint
Maitre absolu adjoint


Masculin Nombre de messages: 620
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

MessageSujet: Re: Scripts externes   Sam 4 Juil - 16:56

Y a pas de quoi, content de t'avoir aidé une fois de plus :D

_________________
|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"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
nicoulas
Habitué
Habitué


Masculin 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

MessageSujet: 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.

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://blithe.nd.free.fr/
Xierra54
Admin - .: el traductor :.
Admin - .: el traductor :.


Masculin 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

MessageSujet: Re: Scripts externes   Dim 5 Juil - 9:12

Je suis entièrement d'accord avec Nicoulas.

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://philippe.ragni.free.fr/
kimerafusion
Possedé par Mark Overmars
Possedé par Mark Overmars


Masculin 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

MessageSujet: 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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://kimerafusion.dixkey.com/
Poleon
Maitre absolu adjoint
Maitre absolu adjoint


Masculin Nombre de messages: 620
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

MessageSujet: 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"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
nicoulas
Habitué
Habitué


Masculin 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

MessageSujet: 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 ;)

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://blithe.nd.free.fr/
kimerafusion
Possedé par Mark Overmars
Possedé par Mark Overmars


Masculin 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

MessageSujet: Re: Scripts externes   Dim 5 Juil - 12:48

Bah je vois pas du tout ce que tu veux dire... je comprends rien XD
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().
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://kimerafusion.dixkey.com/
 

Scripts externes

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Game Maker Zone :: Zone : Game Maker :: Game Maker - Problèmes :: GM - Problèmes : Niveau moyen-