sprite_add


Syntaxe:

sprite_add(fname, imgnumb, removeback, smooth, xorig, yorig);

Argument La description
fname Le nom (un chemin de fichier de chaîne) du fichier à ajouter.
imgnum Permet d'indiquer le nombre de sous-images (1 pour une seule image ou pour une *.gif ).
removeback Indique s'il faut rendre tous les pixels avec la couleur d'arrière-plan (pixel en bas à gauche) transparent.
smooth Indique si les bords doivent être lissés s'ils sont transparents.
xorig Indique la position x de l'origine dans l'image-objet.
yorig Indiquez la position y de l'origine dans l'image-objet.


Résultats:

Real (sprite ID value)


La description

Avec cette fonction, vous pouvez ajouter une image en tant que sprite, en la chargeant à partir d'une source externe où le fichier image à charger doit toujours être dans *.png, *.gif ou *.jpg/jpeg format. La fonction renvoie le nouvel index d'image-objet qui doit ensuite être utilisé dans tous les autres codes relatifs à l'image-objet. Si vous utilisez cette fonction avec HTML5 ou si vous obtenez une image à partir d'une URL, cette fonction génère également un événement asynchrone. Voir L'événement asynchrone pour plus d'informations.

Toutes les images qui doivent être transformées en sprites animés - sauf pour *.gif (voir ci-dessous) - devrait avoir un format "strip" (voir l'image ci-dessous) et il sera divisé en nombre de sous-images spécifiées suivant la règle sprite width = largeur de bande / sous-images.

Comme vous pouvez le voir dans l'image ci-dessus, le sprite a été placé sur un fond violet foncé, et ceci peut être enlevé en mettant l'argument "removeback" à true. Cela fonctionne en vérifiant le pixel inférieur gauche de l'image-objet pour la couleur, puis l'utilise comme couleur à supprimer. Par exemple, dans l'image ci-dessus, si la couleur du pixel inférieur gauche était verte, toutes les parties vertes du sprite auraient été supprimées et le reste du fond violet ignoré.

Si vous choisissez l'option "removeback", vous pouvez également souhaiter que GameMaker Studio 2 lisse les bords de l'image-objet en définissant l'argument "smooth" sur true. Tout cela est de créer une bordure semi-transparente autour des bords de l'image-objet après que son arrière-plan a été supprimé.

Enfin, vous pouvez également spécifier le x et l' origine y pour l'image - objet. C'est le point où l'image-objet est "fixée" sur l'instance qui l'utilise, et est toujours calculée par rapport au coin 0,0 en haut à gauche d'une sous-image d'image-objet. Ainsi, par exemple, un sprite de 32 x 32 pixels dont les valeurs sont définies sur (16,16) aura son origine au centre.

Si vous ajoutez un *.gif Au format image, il vous suffit de spécifier le nom du fichier et de l'image (qui doit être 1 pour la première image) et de laisser tous les autres arguments comme 0, en notant que seule la première image du GIF sera chargée.

Par défaut, tous les nouveaux sprites ont leurs boîtes de délimitation calculées automatiquement (le cadre de délimitation exact dépendra de la taille et de la transparence de l'image-objet), mais vous pouvez personnaliser cela, auquel cas vous devriez également utiliser la fonction sprite_collision_mask.

REMARQUE: lorsque vous chargez une image-objet dans GameMaker Studio 2 n'oubliez pas de la supprimer sprite_delete ) lorsqu'il n'est plus nécessaire, sinon il y a un risque de fuite de mémoire qui ralentira et finira par planter votre jeu.
IMPORTANT! Cette fonction n'est pas disponible avec la licence d'évaluation du produit.


Exemple:

spr = sprite_add("player_5.png", 16, true, true, 0, 0);

Le code ci-dessus charge un sprite dans le jeu et stocke son index dans la variable "spr".