CreateSprite()

Syntaxe

Resultat = CreateSprite(#Sprite, Largeur, Hauteur [, Options])
Description
Crée un nouveau Sprite.

Arguments

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

#PB_Any peut être utilisé pour générer automatiquement ce numéro.
Largeur, Hauteur Les dimensions du nouveau sprite, en pixels.
Options (optionnel) Peut être une combinaison de (utiliser '|')
  #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().
  #PB_Sprite_Transparent   : Le sprite est créé de manière totalement transparente (valeur du canal alpha définie sur 0). 
                             Si vous utilisez DrawingMode(), définissez #PB_DrawingMode_AllChannels sur SpriteOutput().

Valeur de retour

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

Remarques

CreateSprite() doit être appelée dans le même thread où OpenScreen() a été appelé.

Exemple: CreateSprite et l'option de transparence

  InitSprite()
   
  OpenWindow(0, 0, 0, 640, 480, "Sprite...", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_ScreenCentered)
  If OpenWindowedScreen(WindowID(0), 0, 0, 640, 480, #True, 0, 0)
    
    CreateSprite(0, 64, 64, #PB_Sprite_AlphaBlending | #PB_Sprite_Transparent)
    If StartDrawing(SpriteOutput(0))
      DrawingMode(#PB_2DDrawing_AllChannels)
      Circle(16, 16, 8, RGBA(255, 0, 0, 255)) ; cercle rouge opaque
      Circle(32, 32, 8, RGBA(0, 255, 0, 128)) ; cercle vert semi-transparent
      StopDrawing()
    EndIf
      
    Repeat
      Repeat ; Il est très important de traiter tous les événements restants dans la file d'attente à chaque image
        Event = WindowEvent()
        If Event = #PB_Event_CloseWindow
          End
        EndIf
      Until Event = 0
      
      ClearScreen(RGB(0, 0, 0)) ; Un fond noir
      
      DisplayTransparentSprite(0, 300, 200)
      
      FlipBuffers()
    ForEver
        
  Else
    Debug "Impossible d'ouvrir l'écran fenêtré !"
  EndIf

Voir aussi

GrabSprite(), SpriteOutput()

OS Supportés

Tous

<- CopySprite() - Sprite Index - DisplaySprite() ->