Tutorial : Les ressources externes
Aujourd’hui nous apprenons comment mettre ses ressources à l’extérieur du fichier game maker et comment les importer. Bon commençons par le commencement, nous allons définir les fonctions que nous aurons besoin pour importer les ressources dans notre jeu.
Les Sprites
Sprite_add
sprite_add(fname,imgnumb,precise,transparent,smooth,preload,xorig,yorig);
Traduisons un peu cette fonction.
Fname : Nom de l’image qui doit être chargé de l’extérieur avec son chemin si obligatoire (voir la partie ‘mettre en dossier’).
Imgnumb : Nombre de sous images.
Precise : Définie le type de collision du sprite, il sera précis ou non.
Transparent : Indique si le contour de l’image doit être transparente ou non
Smooth : Indique si les bords devront être arrondies.
Preload : Indique si l’on doit précharger l’image dans la mémoire.
Xorig : Indique l’origine x du sprite.
Yorig : Indique l’origine y du sprite.
Alors la fonction écrite plus haut peut se faire comme cela :
sprite_add('sprite.bmp',1,true,true,true,true,0,0);
ou comme cela :
sprite_add('sprite.bmp',1,1,1,1,1,0,0);
pour les variable de ‘precise’ à ‘preload’ on peut utiliser soit true/false, soit 1/0
où true = 1 et false = 0.
Cette fonction permet d’insérer un sprite qui vient de l’extérieur du jeu pour l’utiliser dans le jeu. Pour une facilité d’utilisation, il est préférable de stocker l’image dans une variable.
Sprite_replace
sprite_replace(ind,fname,imgnumb,precise,transparent,smooth,preload,xorig,yorig);
La fonction semble être identique à part son nom, mais un autre argument s’est glissé dans la fonction.
Ind : Nom du sprite qui sera remplacé par le nouveau sprite chargé.
Comme je vous ai déjà expliqué les autres arguments, nous ne les énuméreront pas une autre fois, mais voyons comment on peut l’utiliser.
sprite_replace(spr_zero,'sprite.bmp',1,true,true,true,true,0,0);
ou
sprite_replace(spr_zero,'sprite.bmp',1,1,1,1,1,0,0);
Cette fonction permet de remplacer un sprite existant dans le jeu par un sprite stocké à l’extérieur, ce qui facilite l’utilisation du sprite au lieu de stocker le sprite dans une variable, on l’utilise avec le nom de l’ancien sprite. Mais ce sujet déborde le cadre de ce tuto, alors nous n’expliqueront pas plus ce mode d’utilisation.
Les backgrounds
Background_add
background_add(fname,transparent,smooth,preload);
Traduisons la fonction, même si nous avons vu les valeurs avec les fonctions sprite
Fname : Nom de l’image qui doit être chargé de l’extérieur avec son chemin si obligatoire (voir la partie ‘mettre en dossier’).
Transparent : Indique si le contour de l’image doit être transparente ou non
Smooth : Indique si les bords devront être arrondies.
Preload : Indique si l’on doit précharger l’image dans la mémoire.
Utilisation de la fonction :
background_add('back.bmp',false,true,true);
ou
background_add('back.bmp',0,1,1);
Cette fonction permet d’insérer un background qui vient de l’extérieur du jeu pour l’utiliser dans le jeu. Pour une faciliter d’utilisation, il est préférable de stocker l’image dans une variable.
Background_replace
background_replace(ind,fname,transparent,smooth,preload);
La fonction semble être identique à part son nom, mais un autre argument s’est glissé dans la function.
Ind : Nom du background qui sera remplacé par le nouveau background chargé.
Utilisation de la fonction :
background_replace(back_zero,'back.bmp',false,true,true);
ou
background_replace(back_zero,'back.bmp',0,1,1);
Cette function permet de remplacer un background existant dans le jeu par un background stocker à l’extérieur, ce qui facilite l’utilisation du background au lieu de stocker le background dans une variable, on l’utilise avec le nom de l’ancien background.
Les sons
Sound_add
sound_add(fname,kind,preload);
Cette fonction possède un argument qui le différencie des autres.
Fname : Nom du son qui doit être chargé de l’extérieur avec son chemin si obligatoire (voir la partie ‘mettre en dossier’).
Kind : Indique si la sorte de son dont on le classera (0=normal, 1=arrière-plan, 2=3D, 3=mmplayer)
Preload : Indique si l’on doit précharger le son dans la mémoire.
Utilisation de la fonction :
sound_add('son.wav',1,true);
ou
sound_add('son.wav',1,1);
Cette fonction permet d’insérer un son qui vient de l’extérieur du jeu pour l’utiliser dans le jeu. Pour une faciliter d’utilisation, il est préférable de stocker le son dans une variable.
Sound_replace
sound_replace(ind,fname,kind,preload);
La fonction semble être identique à part son nom, mais un autre argument s’est glissé dans la fonction.
Ind : Nom du son qui sera remplacé par le nouveau son chargé.
Utilisation de la fonction :
sound_add(son_zero,'son.wav',1,true);
ou
sound_add(son_zero,'son.wav',1,1);
Cette function permet de remplacer un son existant dans le jeu par un son stocker à l’extérieur, ce qui facilite l’utilisation du son au lieu de stocker le son dans une variable, on l’utilise avec le nom de l’ancien son.
Mettre en dossier
Bien que nous avons vu les fonctions qui nous permettent d’importer des fichiers de l’extérieur, ce n’est pas tout, pour pouvoir appeler les ressources de la façon dont on vient de voir il faut absolument qu’elles se trouvent dans le même dossier que l’exécutable. Si vous n’avez que peu de ressource, ça peut être une option intéressante, mais si vous avez des vingtaines, voir des centaines d’images et de sons, il serait préférable de les placer dans des dossiers pour ne pas se perdre et pour ne pas que notre dossier de jeu ressemble à un vrai fouillis.
Il existe trois principale façon de nommer le fichier, soit la première qui est de chercher une ressource qui est dans un dossier qui lui est dans le dossier du jeu. Voilà comment on peut remplacer :
'sprite.bmp'
Par
working_directory+'\nom du dossier\sprite.bmp'
Si vous ne voulez pas que vos dossiers soient accessibles au joueur, vous pouvez les stocker dans le dossier temporaire qui sera créé lors de l’exécution du jeu et ainsi pourront s’appeler de cette façon :
temp_directory+'\nom du dossier\sprite.bmp'
La troisième manière est que si vous devez charger un fichier qui n’est pas dans le dossier temp et ni dans le dossier du jeu, vous devrez entrer le champ complet pour le rejoindre comme cela :
'C:\Program Files\Game_Maker6\Sprites\pacman\pacman_stand.gif'
Tutorial écrit par Dan_lizhot