TransformSprite()

Syntaxe

TransformSprite(#Sprite, X1, Y1, [z1], X2, Y2, [Z2], X3, Y3, [Z3], X4, Y4, [Z4])
Description
Déforme un Sprite.

Arguments

#Sprite Le sprite à déformer.
X1, Y1 Coordonnées du premier point, en pixel.
X2, Y2 Coordonnées du deuxième point, en pixel.
X3, Y3 Coordonnées du troisième point, en pixel.
X4, Y4 Coordonnées du quatrième point, en pixel.
Z1, Z2, Z3, Z4 (optionnel) La coordonnée profondeur (en 'Z'), en pixel.

Valeur de retour

Aucune.

Remarques

Généralement utilisé pour effectuer des transformations en temps réel. Attention, comme un Sprite est composé de 2 vertex (2 triangles), la transformation peut donner un résultat très étrange...

Si l'un des paramètres optionnels 'Z' est spécifié, tous doivent être précisés.

  ;
  ; X1         X2
  ;   ---------
  ;   |      /|
  ;   |    /  |
  ;   |  /    |
  ;   |/      |
  ;   ---------
  ; x4         x3
  ;

Exemple

InitSprite()
OpenScreen(800,600,32,"Sprite")

 ;Sprite Cible0
CreateSprite(0,100,100)
StartDrawing(SpriteOutput(0))
Circle(50,50,49,RGB(255,255,0))
Circle(50,50,40,RGB(0,255,0))
Circle(50,50,30,RGB(0,255,255))
Circle(50,50,20,RGB(0,0,255))
Circle(50,50,10,RGB(255,0,0))
StopDrawing()

 ;Sprite Cible1
CopySprite(0, 1)

 ;Boucle
For i=-100 To 100
  ;Afficher Cible0 et Cible1
  DisplaySprite(0, 200, 160)
  DisplaySprite(1, 500, 160)
  
  ;Déformation de Cible0 et Cible1
  TransformSprite(0,i,i,100,0,100-i,100-i,0,100)
  TransformSprite(1,0,0,100-i,0+i,100-i,100-i,0,100)
  
  ;Affichage à l'écran  
  FlipBuffers()
  
  ;Effacer le buffer
  ClearScreen(RGB(0,0,0))
  
  ;Attendre 100 msecondes
  Delay(100)
  
Next i   

Voir aussi

ZoomSprite(), RotateSprite()

OS Supportés

Tous

<- SpriteWidth() - Sprite Index - TransparentSpriteColor() ->