2009-07-23 3 views
0

Ich habe das folgende Problem mit einem ActionScript3-Projekt.Group Rollover-Effekte mit ActionScript3

Ich habe eine Gruppe von Tasten eingerichtet über eine Klasse in einem Halter Sprite sitzen.

Wenn ich einen dieser Knöpfe rolle, durchlaufe ich alle Knöpfe im Halter und führe tweenlite aus, um den Alpha mit .4 zu tweenen, außer wenn der Name mit der aktuell aktiven Taste übereinstimmt.

Wenn ich Rollout, setze ich alle Tasten wieder zurück auf Alpha 1 über ein Tweenlite Tween.

Dies funktioniert in den meisten Fällen gut. die Fragen, ich habe, sind wie folgt:

  • , wenn ich von einer Taste gerade zum anderen rollen manchmal viel Flimmern gibt es
  • , wenn ich auf eine andere Taste ausrollen in dann wieder verblasst
  • ich habe ein Fall, wenn ich nicht alle Knöpfe zu Alpha 1 zurückbringen muss, muss ich sie zu einem Anfangszustand Alpha zurückbringen.

Ich habe versucht mit tweengroup, aber das scheint auch nicht zu helfen.

lassen Sie mich wissen, wenn Sie weitere Informationen benötigen. Der Code ist in viele andere Dinge integriert, weshalb ich ihn nicht gepostet habe, aber wenn nötig, kann ich etwas zusammenstellen.

danke.

Josh

Antwort

1

IMO, sollten Sie eine Klasse für diese Schaltflächen erstellen, die den Zustand intern unterhält ... so von außen, nur zwei Methoden aufrufen, sagen wir mal fadeDown und fadeUp, auf die Buttons ... Die Buttons selbst wissen, was ihr Alhpa ist, ob es ein Tween läuft etc. ... das wird immer ihr eigenes Tween beenden (oder einfach weitermachen, wenn es das richtige Tween ist) ... und dann die richtige Animation starten gehe zur richtigen visuellen Darstellung ihres internen Zustands ... du könntest die state pattern für diese Angelegenheit in Betracht ziehen ... um deinen Code sauber zu halten ... (benutze einfach private Klassen, um nicht zu viele Dateien zu haben) ...

auch, ist eine gute Sache darüber, dass die Animation von den Logiken getrennt ist, so dass Sie den Knopf leicht außerhalb des Kontexts der Logik wiederverwenden können und/oder das Animationskonzept ändern können (z. verschwimmen die Tasten, anstatt sie nach unten) withouth jeden Einfluss auf die Logik Fading ...

hoffe, das hilft ...;)

greetz

back2dos

0

das Flimmern zu vermeiden, Sie kann eine kleine Verzögerung auf den Tweens verwenden und sie einander überschreiben lassen (überprüfen Sie auf der TweenLite-Seite)

Um das Problem, sie auf eine anfängliche Alpha zurückgeben, eine einfache, wenn nicht funktionieren würde?