Wichtig ist die Benennung der Objekte; sie sollten so benannt werden, dass sich der Name leicht systematisch per Script erzeugen lässt; hier heissen sie v0 bis v11.
Der Film läuft zwischen den Bilder zwei und drei. In Bild drei wird das Script in Bild vier (Bezeichnung: Script aufgerufen, das die gesamte Steuerung übernimmt.
Script zu LosMaus
Comment: hängt leere Filmsequenz an die Maus
Start Drag ("/v0", lockcenter)
Comment: Anzahl der Objekte, die an der Maus hängen
Set Variable: "i" = 11
Loop While (i>0)
Comment: ich ist das Objekt, desse neue Position
berechnet werden soll, ziel ist das Objekt,
an dem es sich ausrichtet
Set Variable: "ich" = "/v"&i
Set Variable: "ziel" = "/v"&(i-1)
Comment: Neue Position von ich anhand der Position
von ziel berechnen. Teilen durch vier für Verzögerung
Set Property (ich, Y-Position) = getproperty(ich,_y)+
(( GetProperty(ziel,_y)-getproperty(ich,_y))/4)
Set Property (ich, X-Position) = 4+getproperty(ich,_x)+
(( GetProperty(ziel,_x)-getproperty(ich,_x))/4)
Comment: Hier beginnt die Berechnung der Skalierung
von ich. t1, t2 ist der x,y Abstand zwischen ich und ziel,
dessen absoluter Wert gebildet wird
Set Variable: "t1" =
(GetProperty (ziel,_y)-getproperty(ich,_y))*3
Set Variable: "t2" =
(GetProperty (ziel,_x)-getproperty(ich,_x))*3
If (t1<0)
Set Variable: "t1" = -t1
End If
If (t2<0)
Set Variable: "t2" = -t2
End If
Set Property (ich, Y-Skalierung) = 100+t1+t2
Set Property (ich, X-Skalierung) = GetProperty (ich,_yscale)
Comment: Hier wird die Animation des Objekts selbst angestossen.
If (t1+t2>80)
Begin Tell Target (ich)
Play
End Tell Target
End If
Comment: i wird runtergezählt statt raufgezählt;
wirkt harmonischer
Set Variable: "i" = i-1
End Loop
download losmaus 8kb
|