2009-04-03 6 views
0

Ich habe eine kleine Aufgabe in Flash, mit der ich ein wenig Probleme habe.Ziehen eines Objekts auf einer Maske in Flash

Zunächst einmal habe ich 2 Schichten. Der erste ist ein Farbverlauf mit verschiedenen Farben, darüber befindet sich die zweite Ebene, ein Form-Tween (Movieclip). Für diejenigen von euch, die CS4 verwenden, ein klassisches Tween. Ich benutze CS3 und Actionscript 2

Ich habe bereits die Form Tween gemacht, es ist sehr einfach, es verwandelt sich in eine Shuriken und zurück in den Kreis.

Die Sache ist, ich muss es so programmieren, dass dies nur geschieht, wenn ich meine Maus über den Kreis bewege. Und sollte ich meine Maus vom Kreis/Shuriken weg bewegen, sollte sie für immer in der Form bleiben, die sie hatte, als ich den Bereich verließ. Wenn es also halbwegs von Kreis zu Shuriken ist und ich meine Maus aus dem Bereich entferne, sollte sie in dieser halbwegs Form bleiben, nicht zurückspringen zu einem Kreis.

Zweitens, ich brauche die Form ziehen zu können, und beim Ziehen, muss die Form-Tween verhält sich wie es normalerweise tun würde. Wenn ich es loslasse, höre ich nicht auf zu "tweenen", sondern ziehe nur die Maus aus dem Bereich heraus. Der Hintergrund mit Farbverlauf gibt den schönen Effekt der sich ständig ändernden Farben wieder.

Ich habe den Form-Tween "circle_mc" genannt.

Was ich nicht implementieren:
1) Die Form der Reaktion auf meine Mouseover
2) machen die Form dragable.

Kann mir jemand Hinweise geben, vielleicht Artikel oder Beispiele?

Antwort

0

Wenn ich richtig folgende bin, sollten Sie in der Lage sein, etwas ähnlich dem folgenden Skript platzieren in der „circle_mc“ -Clip, wo Ihre Form-Tween ist. Auf diese Weise können Sie mehrere Instanzen des Clips erstellen, die dieselbe Aktion ausführen. Ich habe einen Test für Sie hochgeladen, um sie auszuprobieren. Wenn das überhaupt nicht gemeint ist, lass es mich wissen. Sie können auch eine externe Klasse erstellen, die Sie als Basisklasse für Ihre Grafiken verwenden möchten, und den Code dort eingeben.

var hasRolledOver:Boolean = false; 

this.onPress = function():Void 
{ 
    this.startDrag(); 
} 

this.onRelease = function():Void 
{ 
    this.stopDrag(); 
} 

this.onRollOver = function():Void 
{ 
    if (!hasRolledOver) 
    { 
     this.gotoAndPlay(2); 
     hasRolledOver = true; 
    } 
} 

this.onRollOut = function():Void 
{ 
    this.stop(); 
} 

http://typeoneerror.com/media/as/test.fla.zip

+0

Sehr schön, danke. Aber was ich erreichen will ist, dass nicht nur der Kreis Shuriken formt, sondern auch zurück. Und das in einer Endlosschleife, die solange spielt, wie meine Maus über die Form schwebt. Wenn ich mich in der Testversion von der Form und dann zurück bewege, wird sie nicht fortgesetzt. – KdgDev

Verwandte Themen