font_add_sprite_ext


La description

Avec cette fonction, vous pouvez utiliser une "bande de sprites" (l'image-objet elle-même doit être un objet de sprite de l'arbre des ressources, ou une image-objet que vous avez ajoutée aux ressources du jeu en utilisant sprite_add ) pour créer un nouvel élément de police, où chaque sous-image serait un symbole ou une lettre individuelle. Contrairement à la normale font_add_sprite qui a un ordre spécifique pour les sous-images de l'image-objet, cette fonction mappera les sous-images d'image-objet basées sur l'argument "string_map" de la fonction. Cet argument est une chaîne que vous pouvez utiliser pour indiquer à GameMaker Studio 2 ordre dans lequel se GameMaker Studio 2 les sous-images de la police de sprite et il les GameMaker Studio 2 automatiquement lors de l'écriture de texte. Ainsi, par exemple, si vous avez une chaîne-map de "AaBbCcDdEeFfGgHh", votre police de sprite doit avoir les sous-images commandées de cette manière. Vous pouvez définir "espace" comme étant n'importe quel caractère, par exemple une seule ligne la taille que vous voulez que l'espace soit, et tous les espaces dans le texte seront rendus à cette largeur (mais l'image choisie ne sera jamais rendue), ou si vous ne fournissez pas de sprite pour l'espace, la largeur du caractère le plus large de la police de sprite sera utilisée à la place.

Vous pouvez également définir l'espacement pour que la police soit proportionnelle ( true ) ou pas ( false ), où une police proportionnelle est espacée en fonction de la largeur réelle des lettres (ainsi la lettre "i" prend moins de place que la lettre "w", par exemple) tandis qu'une police non proportionnelle sera espacée en fonction de la sous-lettre. largeur de l'image, comme une police à espacement fixe. Enfin, vous pouvez définir l'espace à laisser entre chaque lettre lors de l'écriture, et cela peut être n'importe quelle valeur entière, 0 étant sans espace (les lettres "toucheront" si elles sont proportionnelles). La fonction renvoie une valeur d' index qui doit être stockée dans une variable car elle sera nécessaire dans tous les autres codes qui se réfèrent à cette police.

Il est à noter que pour que les fonctions d'alignement des polices fonctionnent (comme draw_set_halign() ), le sprite de la police doit avoir son origine dans le coin supérieur gauche. Si vous utilisez d'autres valeurs, vous devrez prendre en compte le décalage d'origine lorsque vous dessinez du texte en utilisant la police.

REMARQUE: lorsque vous chargez une police dans GameMaker Studio 2 vous devez vous rappeler de la supprimer (avec font_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.


Syntaxe:

font_add_sprite_ext(spr, string_map, prop, sep);


Argument La description
spr Le sprite pour ajouter une police basée sur.
string_map Chaîne à partir de laquelle l'image de sous-image d'image-objet est prise.
prop Définir comme police proportionnelle ou non.
sep L'espace à laisser entre chaque lettre.


Résultats:

Real


Exemple:

global.Font = font_add_sprite_ext(spr_CalcFont, "0123456789+-*/=", true, 2);

Le code ci-dessus créera un nouvel élément de police à partir de l'image-objet indexée dans la variable "spr_CalcFont" et stockera l'index de la nouvelle police dans la variable "global.Font". Les sous-images de la police de sprite seront mappées à la chaîne spécifiée.