draw_sprite_general

Dessine une partie d'un sprite donné avec des options de mise à l'échelle, de fusion et de rotation.

Syntaxe:

draw_sprite_general(sprite, subimg, left, top, width, height, x, y, xscale, yscale, rot, c1, c2, c3, c4, alpha);


Argument La description
sprite L'index du sprite à dessiner.
subimg Le subimg (cadre) de l'image-objet à dessiner (image_index ou -1 correspond à l'image courante de l'animation dans l'objet).
left La position x sur l'image-objet du coin supérieur gauche de la zone à dessiner.
top La position y sur le sprite du coin supérieur gauche de la zone à dessiner.
width La largeur de la zone à dessiner.
height La hauteur de la zone à dessiner.
x La coordonnée x de l'endroit où dessiner le sprite.
y La coordonnée y de l'endroit où dessiner le sprite.
xscale La mise à l'échelle horizontale de l'image-objet, en tant que multiplicateur: 1 = mise à l'échelle normale, 0,5 est la moitié etc...
yscale La mise à l'échelle verticale de l'image-objet, en tant que multiplicateur: 1 = mise à l'échelle normale, 0,5 est la moitié etc...
rot La rotation du sprite. 0 = normal, 90 = tourné de 90 degrés dans le sens contraire des aiguilles d'une montre, etc.
c1 La couleur avec laquelle mélanger la partie supérieure gauche de l'image-objet.
c2 La couleur avec laquelle mélanger la partie supérieure droite de l'image-objet.
c3 La couleur avec laquelle mélanger la partie inférieure droite de l'image-objet.
c4 La couleur avec laquelle mélanger la partie inférieure gauche de l'image-objet.
alpha L'alpha du sprite (de 0 à 1 où 0 est transparent et 1 opaque).


Retours: N / A


La description

Cette fonction combine la fonction draw_sprite_ext avec la fonction draw_sprite_part, ajoutant des options de fusion supplémentaires pour que chaque coin de la partie finale du sprite puisse être mélangé avec une couleur individuelle.

REMARQUE: la fusion de couleurs est recommandée uniquement pour la cible HTML5 lorsque WebGL est activé, bien que vous puissiez toujours définir la couleur de fusion si elle n'est pas activée et qu'elle fusionnera l'image-objet comme d'habitude. Cependant, tout mélange de cette manière crée un sprite en double qui est ensuite stocké dans le cache et utilisé si nécessaire. Ceci est loin d'être optimal et si vous utilisez plusieurs changements de couleur, cela ralentira les performances de vos jeux à moins que vous n'activiez WebGL. Si vous ne souhaitez pas utiliser WebGL, vous pouvez définir la taille du cache de la police pour essayer de la limiter si cela s'avère nécessaire sprite_set_cache_size.


Exemple:

draw_sprite_general(sprite_index, image_index, 8, 8, sprite_width-16, sprite_height-16, x, y, 2, 0.5, 180, c_white, c_white, c_black, c_black, 1);

Cela va dessiner les instances assignées sprite (sprite_index) et son cadre d'animation actuel (image_index), mais il va raser une marge de 8px sur les quatre côtés de l'image-objet. Il sera tendu pour doubler sa largeur habituelle mais la moitié de sa hauteur habituelle. Ce sera opaque et à l'envers. La zone supérieure de l'image-objet sera mélangée en blanc et donc normale, mais la zone du bas sera noire, ce qui signifie que l'image-objet passera de la normale à une silhouette vers le bas dans un dégradé lisse.


Retour: Dessin de sprites et de carreaux
Suivant: draw_sprite_part
© Copyright YoYo Games Ltd. 2017 Tous droits réservés