5.8 Ermitteln des Sprites zu einem Verhalten mit the spriteNum

Viele Verhalten wirken auf das Sprite ein, dem sie zugeordnet sind. So verändert z.B. ein Rollover-Verhalten die Grafik des Sprites, auf dem es liegt. Das Wissen über die eigene Spritenummer ist für eine Reihe von Funktionen wichtig, z.B. auch Drag-And-Drop-Interfaces, Buttons u.s.w. Aus diese Grunde bietet jedes Verhalten standardmäßig die Eigenschaft spriteNum, die die Nummer des Sprites eines Verhaltens speichert. Im folgenden ist der Anfang eines Rollover-Verhaltens zu sehen, das am Anfang des Sprites die aktuelle Grafik in der Eigenschaft mMemberNormal speichert, um diese anzuzeigen, nachdem die Maus das Sprite wieder verlassen hat.

property mMemberNormal, mMemberRollover

on beginSprite me
mMemberNormal = sprite(me.spritenum).member
end beginSprite

Die Konstruktion mit me (me.spriteNum bzw. the spritenum of me) ist nicht nötig, wenn spriteNum als Eigenschaft dieses Verhaltens definiert wird.

property mMemberNormal, mMemberRollover, spriteNum

on beginSprite me
mMemberNormal = sprite(spriteNum).member
end beginSprite

Zusätzlich zu spriteNum gibt es noch die Film-Eigenschaft the currentSpriteNum. Sie zeigt an, welches Skript gerade abgearbeitet wird. Es ist in Darsteller- und Sprite-Skripten gültig; in Frame- und Filmskripten liefert es 0 zurück. Diese Eigenschaft war vor allem vor der Einführung von Verhalten sinnvoll, um verhaltensähnliche18 Skripte zu schreiben. Es wird in Verhalten nur noch selten gebraucht, z.B. in on getPropertyDescriptionList, weil spriteNum bei Aufruf dieses Handlers noch nicht definiert ist.

5.7 Beispiel 9: Eigenschaften-Dialogfenster zur Auswahl einer Datei 5.9 Senden von Nachrichten mit sendSprite und sendAllSprites