CreateSprite()
Syntax
Ergebnis = CreateSprite(#Sprite, Breite, Höhe [, Flags])Beschreibung
Erstellt ein leeres Sprite mit den angegebenen Dimensionen. SpriteOutput() kann verwendet werden, um auf dem Sprite zu Zeichnen.
Parameter
#Sprite Eine Nummer zum Identifizieren des neuen Sprites. #PB_Any kann verwendet werden, um diese Zahl automatisch zu generieren. Breite, Höhe Die Größe des neuen Sprites (in Pixel). Flags (optional) Dies kann eine Kombination der folgenden Werte (verknüpft mit dem '|' Operator) sein: #PB_Sprite_PixelCollision: Fügt spezielle Informationen zum Handling der Pixel-Kollision mittels SpritePixelCollision() hinzu. #PB_Sprite_AlphaBlending : Das Sprite wird mit per Pixel Alpha-Kanal Unterstützung erstellt, benötigt für DisplayTransparentSprite(). #PB_Sprite_Transparent : Das Sprite wird vollständig transparent erstellt (Alphakanalwert auf 0 gesetzt). Falls verwendet, sollte DrawingMode() bei Verwendung von SpriteOutput() auf #PB_DrawingMode_AllChannels gesetzt werden.
Rückgabewert
Ein Wert ungleich Null, wenn das Sprite erstellt wurde, andernfalls Null. Wenn #PB_Any als #Sprite Parameter verwendet wurde, dann wird im Erfolgsfall die generierte Nummer zurückgegeben.
Anmerkungen
CreateSprite() muss im selben Thread aufgerufen werden, in dem OpenScreen() aufgerufen wurde.
Beispiel: CreateSprite mit Transparenz-Flag
InitSprite() OpenWindow(0, 0, 0, 640, 480, "Ein Screen in einem Fenster...", #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)) ; Opaque red circle Circle(32, 32, 8, RGBA(0, 255, 0, 128)) ; Semi transparent green circle StopDrawing() EndIf Repeat Repeat ; Es ist sehr wichtig, bei jedem Frame alle in der Warteschlange verbliebenen Ereignisse zu verarbeiten Event = WindowEvent() If Event = #PB_Event_CloseWindow End EndIf Until Event = 0 ClearScreen(RGB(0, 0, 0)) ; Ein schwarzer Hintergrund DisplayTransparentSprite(0, 300, 200) FlipBuffers() ForEver Else Debug "Fensterbildschirm kann nicht geöffnet werden!" EndIf
Siehe auch
GrabSprite(), SpriteOutput()
Unterstützte OS
Alle