CatchSprite()

Syntaxe

Resultat = CatchSprite(#Sprite, *AdresseMemoire [, Mode])
Description
Charge le sprite situé à l'adresse mémoire spécifiée.

Arguments

#Sprite Le numéro d'identification du nouveau sprite.

#PB_Any peut être utilisé pour générer automatiquement ce numéro.
*AdresseMemoire L'adresse mémoire de l'image utilisée pour créer le sprite.
Mode (optionnel) Peut être une combinaison de (utiliser l'opérateur '|'):
  #PB_Sprite_PixelCollision: Ajoute des informations spéciales pour gérer les collisions de pixels à travers SpritePixelCollision().
  #PB_Sprite_AlphaBlending : Le sprite est créé avec un canal alpha (transparence), nécessaire pour utiliser DisplayTransparentSprite().
                             Le format de l'image doit le supporter (seulement PNG et TIFF pour l'instant).

Valeur de retour

Renvoie une valeur non nulle si le sprite a été créé avec succès, zéro sinon.

Remarques

Le sprite peut être au format BMP (non compressé = non RLE) ou dans un des formats supportés par la bibliothèque ImagePlugin.
UseJPEGImageDecoder()
UseJPEG2000ImageDecoder()
UsePNGImageDecoder()
UseTIFFImageDecoder()
UseTGAImageDecoder()

Avant de charger un sprite, un écran doit être ouvert à l'aide de la commande OpenScreen() ou OpenWindowedScreen().
Un Sprite chargé peut être par la suite libéré par la fonction FreeSprite().
La commande 'CatchSprite' est utile quand il est nécessaire d'inclure directement les sprites dans l'exécutable (en utilisant IncludeBinary). Cette méthode n'est pas idéale et devrait être évitée au maximum car en faisant ceci, les sprites prennent deux fois plus de mémoire (une première fois dans l'exécutable, et une deuxième fois quand ils sont chargés).
Une autre utilisation souvent utilisée est de récupérer un sprite dans une banque de données compressée.

Le "?" est un pointeur sur une étiquette.
Plus d'informations sur les pointeurs et l'accès à la mémoire peuvent être trouvés ici.

Exemple

 InitSprite()

  OpenScreen(800,600,32,"Sprite")
  DataSection
    Pic: 
    IncludeBinary #PB_Compiler_Home +"Examples/Sources/Data/PureBasicLogo.bmp"
  EndDataSection

  CatchSprite(0,?Pic)

  DisplaySprite(0, 210, 260)
  FlipBuffers()
  Delay(3000)

Voir aussi

CreateSprite(), LoadSprite()

OS Supportés

Tous

Sprite Index - ClipSprite() ->