Ich glaube, du bringst da etwas mit der AnimationsID durcheinander. Die ist lediglich dafür da, um die
Nr. des Sprites zu bestimmen, welches abgerufen wird:

Die Zahlen stellen dabei die AnimationsID des jeweiligen Sprites dar.
Nehmen wir an, deine Laufanimation hat 8 Frames. Sie beginnt bei dem Sprite mit der ID 5 und geht bis einschließlich zu dem mit der ID 12.
Der Animationsverlauf an sich befindet sich in einem CE (im Skript ab CE Nr. 40), das wie folgt aussieht:
Code:
--Parallel Process--
<> Change AnimationsID = 5
<> Wait 0,1
<> CallEvent ShowAni
<> Change AnimationsID = 6
<> Wait 0,1
<> CallEvent ShowAni
<> Change AnimationsID = 7
<> Wait 0,1
<> CallEvent ShowAni
...
<> Change AnimationsID = 12
<> Wait 0,1
<> CallEvent ShowAni
Das CE ShowAni ist dann für die Berechnung und die Anzeige des gewünschten Sprites verantwortlich. Dafür errechnet es anhand der ID, welches Sprite es vom Sprite Sheet nehmen muss. Dafür muss es wissen, wo das Sprite anfängt und wo es endet.

Wie man auf der Grafik erkennt, sind dafür 4 Werte von Nöten: ( Links | Oben ) und ( Rechts | Unten )
Also geht man her und errechnet die Werte per Algorithmen aus der AnimationsID:
Code:
-- AnimationsID: 5 --
Links: ( 5 mod 10 ) * Breite pro Sprite
Oben: ( 5 / 10 ) * Höhe pro Sprite
Rechts: ( ( 5 mod 10 ) * Breite pro Sprite ) + Breite pro Sprite
Unten: ( ( 5 / 10 ) * Höhe pro Sprite ) + Höhe pro Sprite
Ist jedes Sprite (wie im Skript 93x119 Pixel groß, sieht das also wie folgt aus:
Code:
-- AnimationsID: 5 --
Links:
( 5 mod 10 ) = 5
5 * 93 = 465
Oben:
( 5 / 10 ) = 0
0 * 119 = 0
Rechts:
465 + 93 = 558
Unten:
0 + 119 = 119
Folglich beginnt unser Sprite mit der ID 5 bei ( 465 | 0 ) und endet bei ( 558 | 119 ).
Das funktioniert für sämtliche Sprites auf dem Sprite Sheet, vorausgesetzt, die Sprites sind alle gleich groß und es befinden sich nicht mehr als 10 Sprites horizontal nebeneinander (bedeudet: nicht mehr als 10 Spalten). Wieviele Sprites vertikal nacheinander folgen ist egal (Zeilen).
Ein weiteres Beispiel für die ID 11:
Code:
-- AnimationsID: 11 --
Links:
( 11 mod 10 ) = 1
1 * 93 = 93
Oben:
( 11 / 10 ) = 10
1 * 119 = 119
Rechts:
93 + 93 = 186
Unten:
119 + 119 = 268
Folglich beginnt unser Sprite mit der ID 11 bei ( 93 | 119 ) und endet bei ( 186 | 268 ).
Zitat:
Aber wenn ich jetzt z.b. von Simon sehe, dass sein Frame 24 Zeilen hat, wird die Berechnung nur innerhalb den ersten 10 Zeilen stattfinden oder?
Ab CE 42 bewegt er sich in der zweiten Zeile, ab CE 47 sogar in der 5. und 6.
Zitat:
Bei X und Y ist egal ob ich 0 nehme oder eine andere zahl oder muss ich hier bestimmte Zahlen wählen?
Dein Sprite muss eben in das Bild passen, in das es hineinkopiert wird. Welche Zahlen da genau gebraucht werden, dami es gut aussieht, hängt vom Grundbild und den Sprites ab.
Zitat:
Wie kommst du auf die Zahlen?
Naja, das ist eben Mathematik (oder eher ein bisschen Rechen).
Mod ermittel den Restwert einer Teilung. Also z.B. 27 mod 10 = 7
/ ermittelt den geteilten Wert ohne Nachkommastellen. 27 / 20 = 2