PARAM_SHOW_SPRITE
Bereich im Script: [Level]
Syntax: Parameters=PARAM_SHOW_SPRITE, IdParamShowSprite, Flags Show Sprites (FSS_...), OriginX, OriginY, Width, Height, SlotSprite, SpriteIndex, IdColorRGB, GridX, GridY, Extra Value
IdParamShowSprite
Hier vergibt man eine fortlaufende Nummer von 1 - 255, um unterschiedliche PARAM_SHOW_SPRITE Parameter mit folgenden Flipeffekten aufrufen können.
357 : Sprite. Show sprite with data in <&>Parameters for (E)Durate
358 : Sprite. Remove from the screen the sprite with data in <&>Parameters
402 : Sprite. Stop the animated sprites with data in <&>Parameter at (E)frame
403 : Sprite. Resume animation of sprites with data in <&>Parameter
Flags Show Sprites (FSS_...)
FSS_ANIMATE
Mit diesem Flag kann man eine Animation erzeugen. Eine Anzahl von Sprites, die man nacheinander zeigt, vermitteln das Gefühl eines bewegten Bildes. Mit dem Feld Extra Value kann man die Animation anpassen, wobei folgende Formel gilt: Framedauer * 256 + Anzahl der Sprites
Wobei die Framedauer die Zeit ist, die jeder Frame auf dem Bildschirm zu sehen ist und die Anzahl der Sprites die Gesamtzahlt an Sprites ist, aus der die Animation besteht.
Möchte man z.B. eine Animation mit Maximalgeschwindigkeit aus 8 Sprites, wobei das erste mit der Index ID 4 beginnt und jedes Sprite nur für ein Frame auf dem Bildschirm erscheint, sollte man im Feld SpriteIndex eine "4" angeben und im Extra Value Feld folgende Zahl: 1*256 + 8 = 264 ($0108)
Anmerkung:
Es gibt folgende 2 Ablauffolgen:
Standardsequenz: Index der Abfolge der Sprites startet bis zum Maximal und fängt dann wieder vom Minimal an: 123412341234
Rückwärtsequenz: Index der Abfolge der Sprites startet bis zum Maximal und reduziert sich dann wieder bis zum Minimal: 1234321234321. Hier gibt man zusätzlich den FSS_ANIMATE_FOR_BACK Flag an.
FSS_ANIMATE_FOR_BACK
Wird mit dem FSS_ANIMATE Flag benutzt um eine Vorwärts-Rückwärts Sequenz zu erzeugen. Das Sprite wird von der Maximalgröße zur Minimalgröße und zurück in folgender Weise skaliert: 1234321234
(siehe auch FSS_ANIMATE)
FSS_CLONE_SPRITE
Dieser Flag funktioniert nur zusammen mit FSS_SHOW_SPRITE_GRID.
Möchte man das gleiche Sprites, welches in einem Gitter angeordnet ist, öfters zeigen, verwendet man FSS_SHOW_SPRITE_GRID + FSS_CLONE_SPRITE zusammen.
FSS_EFFECT_FROM_BOTTOM
Das Sprite bewegt sich vom unteren Bildschirmrand zu der Endposition, die man in OriginX und OriginY Feld festgelegt hat. Im Feld Extra Value gibt man die Anzahl an Frames ein, die der Vorgang brauchen soll, um die Bewegung zu beenden. Niedrige Zahlen bedeuten schnelle Bewegung, höhere Zahlen bedeuten langsame Bewegung.
FSS_EFFECT_FROM_TOP
Das Sprite bewegt sich vom oberen Bildschirmrand zu der Endposition, die man in OriginX und OriginY Feld festgelegt hat.
Im Feld Extra Value gibt man die Anzahl der Frames an, die der Vorgang bis zur Beendigung brauchen soll.
FSS_EFFECT_FROM_LEFT
Das Sprite bewegt sich vom linken Bildschirmrand zu der Endposition, die man in OriginX und OriginY Feld festgelegt hat.
Im Feld Extra Value gibt man die Anzahl der Frames an, die der Vorgang bis zur Beendigung brauchen soll.
FSS_EFFECT_FROM_RIGHT
Das Sprite bewegt sich vom rechten Bildschirmrand zu der Endposition, die man in OriginX und OriginY Feld festgelegt hat.
Im Feld Extra Value gibt man die Anzahl der Frames an, die der Vorgang bis zur Beendigung brauchen soll.
FSS_EFFECT_ZOOM
Mit diesem Flag wird ein Zoom Effekt erreicht.
Zu Beginn startet das Sprite mit 1/10 seiner Größe, dann vergrößert es sich bis zu der Größe und zu der Position, die man in OriginX, OriginY, Width und Height angegeben hat. Die Geschwindigkeit wird durch die Anzahl der Frames bestimmt, die man im Feld Extra Value angibt. (32 Frames sind 1 Sekunde)
FSS_TRANSPARENT
Möchte man eine Transparenz haben, benutzt man diesen FSS_TRANSPARENT Flag.
Nur mit Transparenz Effekt kann man eine Farbe hinzufügen.
FSS_SHOW_SPRITE_GRID
Jedes Sprite kann eine Maximalgröße von 256x256 Pixel haben. Wadmerger kann allerdinsg nur 128x128 Pixel handeln. WadTool dagegen 256x256 Pixel.
Möchte man ein Sprite zeigen, welches größer als 128x128 Pixel ist, kann man ein Gitter anwenden mit dem Flag FSS_SHOW_SPRITE_GRID.
Dabei werden mehrere Sprites wie Puzzlestücke an einem Gitter angeordnet. Hat man ein Bild aus 6 Sprites, jedes 128 x 128 Pixel, erzeugt man z.B. ein Gitter mit 3 horizontalen Zellen und 2 vertikalen Spalten und ordnet die Sprites an. In diesem Fall gibt man in Feld GridX "3" (horizontal) und im Feld GridY "2" (vertikal) an.
Anmerkung:
Jedes Sprite sollte die selbe Größe haben, damit der Eindruck eines ganzes Bildes ensteht.
Die Engine ordnet dabei nach einem bestimmten Muster die Sprites an. Befindet sich das erste Teil des Sprites im Sprite Index 3, werden die folgenden Teile (Index 4-8) folgendermaßen angeordnet.
Benutzt man hingegen nur ein Sprite welches man immer wieder verwendet, nimmt man den Flag FSS_CLONE_SPRITE.
Beispiel:
Parameters= PARAM_SHOW_SPRITE, 2, FSS_EFFECT_FROM_RIGHT+FSS_SHOW_SPRITE_GRID, 300, 0,150, 200, MISC_SPRITES, 6, IGNORE, 2, 3, 10
OriginX und OriginY
Finale horizontale (X) und vertikale (Y) Position beginnend mit 0 von oben links. Werte werden in Micro Einheiten angegeben. Mit dem Tool "Get Screen Frames" vom NG Center kann man sich die Position errechnen lassen.
Width und Height
Breite und Höhe des einzelnen Sprite. Werte werden in Micro Einheit angegeben. Mit dem Tool "Get Screen Frames" vom NG Center kann man sich Pixel in Micro Einheiten umrechnen lassen.
Anmerkung:
Bei einem "Sprite Grid" wird hier die Breite und Höhe jedes einzelnen Sprites angegeben und nicht des ganzen Grids.
SlotSprite
Hier gibt man den Slot an, in dem die Sprites sich befinden wie z.b. DEFAULT_SPRITES, MISC_SPRITES oder CUSTOM_SPRITES.
SpriteIndex
Hier gibt man die Sprite ID des Sprites an. Das erste Sprite eines Slots hat z.B. die ID 0.
IdColorRGB
Hat man als Flag FSS_TRANSPARENT gesetzt kann man hier dem Sprite mittels einer ID eines ColorRGB= Script Befehles eine Farbe zuweisen.
GridX undGridY
Teilt man ein Sprite in Teile mittels eines FSS_SHOW_SPRITE_GRID Flag auf, gibt man hier die Grid Größe X (horizontal) und Y (vertikal) an.
Beispiel:
2 Sprites nebeneinander = 2 und 1
6 Sprites, jeweils 3 nebeneinander = 3 und 2
Extra Value
Hier gibt man Werte an die von einigen FSS_ Flags benötigt werden.
Beispiele:
Parameters= PARAM_SHOW_SPRITE, 3, FSS_EFFECT_ZOOM,500,0,150,250, MISC_SPRITES, 12,IGNORE,IGNORE,IGNORE, 70
Parameters= PARAM_SHOW_SPRITE,4, FSS_EFFECT_FROM_BOTTOM,250,250,150,250, MISC_SPRITES, 13,IGNORE,IGNORE,IGNORE, 60
Parameters= PARAM_SHOW_SPRITE, 5, FSS_EFFECT_FROM_RIGHT,600,500,150,250, MISC_SPRITES, 14,IGNORE,IGNORE,IGNORE, 50