tutoriel d'inventaire - site Web Game Maker Simon
intruduction
Ce tutoriel est créé pour Game Maker 5 et 6 et suppose une connaissance de base de GML. Pour ce tutoriel, le mode avancé doit être activé. S'il vous plaît noter qu'il existe de nombreuses méthodes de création d'un inventaire et que ce qu'une seule méthode et qu'il y aura très probablement de meilleures méthodes et plus rapides disponibles. J'ai essayé de faire un tutoriel pour cela aussi convivial que possible. Là où il y a des différences dans le code entre Game Maker 5 et Game Maker 6 Je l'ai placé les deux codes. Tous les autres codes doivent être compatibles avec les deux versions.
Remarque: ce script utilise l'inventaire comme nom de variable et, par conséquent, il ne fonctionnera pas si vous avez un objet, une salle, sprite ou toute autre chose d'inventaire a également nommé.
Comment commencer
D'abord, vous devez penser pour votre auto ce que vous voulez avoir dans l'inventaire. Quels articles devraient être en elle. Pour le tutoriel, je vais utiliser les éléments suivants:
- vie (max. 10, commencez par 3)
- épée (max. 1 départ avec 1)
- grande épée (max. 1 début sans)
- arc (max. 1 début sans)
- argent (. max pas donc ajouter un maximum de permet de dire: 999999. commencer par 10)
- Nom de l'élément
- Description de l'article
- Sprite de l'élément
- Nombre maximal de l'élément
- montant actuel de l'article
.inventory global [0,0]: = '' Lives; // Nom de l'élément
.inventory global [0,1]: = 'Ceci est la quantité de vie que vous avez.'; // discription de l'élément
.inventory global [0,2]: = sprite_lives; // l'image-objet de l'élément
.inventory global [0,3]: = 10; // la valeur maximale de l'élément
.inventory global [0,4]: = 3; // la valeur de début de l'élément
.inventory global [0,5]: = « » // Le code qui doit être exécuté lorsque l'élément est sélectionné
.inventory global [1,0]: = "épée"; // Nom de l'élément
.inventory global [1,1]: = "Une épée simple, pas cher"; // discription de l'élément
.inventory global [1,2]: = sprite_sword_basic; // l'image-objet de l'élément
.inventory global [1,3]: = 1; // la valeur maximale de l'élément
.inventory global [1,4]: = 1; // la valeur de début de l'élément
.inventory global [1,5]: = "global.weapon: =" épée ";" // Le code qui doit être exécuté lorsque l'élément est sélectionné
Dessin l'inventaire
Vous devez maintenant dessiner le système d'inventaire. Dans ce tutoriel, je vais vous expliquer comment le faire dans une pièce spéciale pour l'inventaire où tout est stocké. Pour dessiner l'inventaire un objet spécial est utilisé qui est uniquement placé dans cette pièce. Pour l'aspect d'inventaire bien je vais prendre les dimensions suivantes:
- tous les sprites des articles sont 100x100
- la salle est 640x480
Étant donné que nous avons 5 articles à afficher de chaque 100 largeur nécessaire une largeur d'au moins 100 * 5 = 500 pixels. nous pouvons depuis la chambre est de 640 largeur l'inventaire complètement sur une ligne et tirer dans le reste de l'écran la description des articles. Si nous avons 5 articles que nous avons 6 espaces vides entre les éléments. Nous avons donc 6 éléments d'une largeur (640-500) /6=23.3 pixels de largeur

Maintenant passons à commencer par le code de dessin. Nous devons tirer les éléments un par un à l'écran. Nous avons cinq articles. Donc, nous devons d'abord avoir une boucle qui attire les sprites de tous les objets (Evidement, le code de dessin va dans l'événement de dessin):
(i: = 0; i<=4; i+=1)
<
draw_sprite (.inventory mondiale [i, 2], - 1,23.3 + i * (100 + 23,3), 23,3);
>
(i: = 0; i<=4; i+=1)
<
draw_sprite (.inventory mondiale [i, 2], - 1,23.3 + i * (100 + 23,3), 23,3);
>
Ce code établira les cinq images d'inventaire sur l'écran sur la première ligne comme la capture d'écran montre. Cependant, vous ne souhaitez que l'élément à afficher si elle est dans votre possession. Donc, vous devez utiliser (Evidement, le code de dessin va dans l'événement de dessin):
brush_style: = bs_solid;
brush_color: = c_white;
pen_size: = 2;
pen_color: = c_black;
(i: = 0; i<=4; i+=1)
<
si .inventory mondiale [i, 4]> 0 alors
<
draw_sprite (.inventory mondiale [i, 2], - 1,23.3 + i * (100 + 23,3), 23,3);
>
autre
<
draw_rectangle (23,3 + i * (100 + 23,3), 23.3,23.3 + i * (100 + 23,3) +100,123.3);
>
>
draw_set_font (fnt_your_font); // police à utiliser
draw_set_color (c_black);
(i: = 0; i<=4; i+=1)
<
si .inventory mondiale [i, 4]> 0 alors
<
draw_sprite (.inventory mondiale [i, 2], - 1,23.3 + i * (100 + 23,3), 23,3);
>
autre
<
draw_rectangle (23,3 + i * (100 + 23,3), 23.3,23.3 + i * (100 + 23,3) +100,123.3, false);
>
>
Si l'article est dans votre code va dessiner un carré blanc sur les coordonnées du sprite doit être utilisé au. Une autre chose que vous aimeriez avoir est que le nombre d'articles que vous avez de l'objet est affiché avec l'image. Vous voulez cependant seulement avec les éléments dont vous pouvez avoir plus d'un. Il faut donc utiliser le code (Evidement, le code de dessin va dans l'événement de dessin):
Maintenant, dans le coin le bouton droit le numéro est affiché du nombre d'articles que vous avez. Maintenant vient la partie la plus difficile de tout. Vous devez faire en sorte que lorsque vous déplacez votre souris sur l'image, il affiche les objets et en cliquant sur discription il exécutera le code donné. Pour cela, vous pouvez utiliser le code suivant (Puisque ce code dessine le sens de l'objet que vous planant au-dessus, vous devez mettre ce code en cas de dessin aussi bien):