| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Flasher Registriert seit: Aug 2010 Ort: Stuttgart
Beiträge: 360
|
Hallo miteinander! Ich habe die letzten Tage etwas rumgespielt und versucht ein cooles Menü für mein (sich ständig in der Entwicklung befindliches) Portfolio zu basteln, und bin heute auf ein "interessantes" Problem gestoßen, wobei ich jetzt nicht weiß woran das liegt. Ich habe 4 Kästchen , dreidimensional (200x200x20)(nur AS3, kein Papervision oder ähnliches), und die haben jetzt jeweils nen ROLL_OVER und nen ROLL_OUT Listener, woraufhin verschiedene Tweens (ich nutze TweenMax) gestartet werden, um die Position/Rotation im Raum, Helligkeit, Sättigung, und Färbung der einzelnen Kästchen zu steuern - je nachdem, welcher ausgewählt ist. Im Flashplayer funktioniert alles einwandfrei, nur wenn ich es im Browser lade (Firefox 4, Firefox 3.6 & Safari getestet), verschwinden einzelne/alle Kästchen, wenn man ein bisschen hektischer mit der Maus darüber fährt und erscheinen entweder nach einem ganz kurzem Augenblick wieder, oder nach beendigung des ROLL_OUT Tweens... Meine Frage nun: Woher kann dieser Fehler rühren? Ich glaube nicht, dass es etwas mit den overwrites der Tweens zu tun hat, dann müsste es ja schon im FlashPlayer fehlschlagen.. Oder liegt es an meinem üblichen groben Unfug (zB mein notorisches gecaste...) Hier mal der Code vom ROLL_OUT: Code: for (var i:int = 0; i < array.length;++i) {
TweenMax.to(Sprite(array[i]), 1,
{ rotationX:0,
rotationY: 360,
rotationZ:0,
z:0,
x:(myStage.stageWidth * .5 + ((i - (array.length * .5)) * 200) + 100),
ease:Strong.easeOut,
delay:1,
overwrite:0,
colorMatrixFilter:{colorize:0xffffff,amount:0, brightness:1.0,saturation:1.0},
onComplete:(function blub():void { for (var i:int = 0; i < array.length;++i){ Sprite(array[i]).rotationY = 0;Sprite(array[i]).rotationZ = 0 }} ) } );
} Beste Grüße! Geändert von Ouroborus23 (29-09-2010 um 20:20 Uhr) |
| | |
| | #2 (permalink) |
| Certified dump Registriert seit: Aug 2001
Beiträge: 969
|
viel zu unsauber und schlampig das mit blub() - TweenMax hat eine eigene Syntax zum Aufruf mit Parameter-Funktionen Code: import gs.TweenMax;
import mx.transitions.easing.Back;
TweenMax.to(clip_mc, 5, {_alpha:50, _x:120, ease:Back.easeOut, delay:2, onComplete:onFinishTween, onCompleteParams:[5, clip_mc]});
function onFinishTween(argument1:Number, argument2:MovieClip):Void {
trace("The tween has finished! argument1 = " + argument1 + ", and argument2 = " + argument2);
}
__________________ _______ |
| | |
| | #3 (permalink) |
| Flasher Registriert seit: Aug 2010 Ort: Stuttgart
Beiträge: 360
|
Hallo, Danke für die Antwort - die Übergabe der Parameter ist mir neu, das schau ich mir heut abend mal in Ruhe an. Und natürlich ist mir bewusst das "blub()" weit entfernt von sauberem Code ist - aber wie gesagt, ich hab das einfach mal so experimentell hingezaubert... Die Frage ist nur: Woher rührt der Effekt, das im Flashplayer alles einwandfrei angezeigt wird, wohingegen im Browser plötzlich die Inhalte für einen kurzen Moment verschwinden? Ich habe auch überlegt, ob vielleicht meine Herangehensweise mit dem aufruf der to() Funktion von TweenMax falsch ist, und es da andere Möglichkeiten gibt? Tweens vorher deklarieren? Leider ist die Greensock-Dokumentation nicht so die größte Hilfe was das wirklich richtige Verwenden der Tweens angeht, die machens mal so, mal wieder anders... ;/ |
| | |
| | #4 (permalink) |
| Certified dump Registriert seit: Aug 2001
Beiträge: 969
|
Nö - TweenMax ist vollkommen unschuldig. Wenn Du brutal im Sekundetakt den colorMatrixFilter wieder und wieder auf alle (!!) Sprites anwendest, ist doch klar das die Dinger irgendwann unsichtbar werden oder total verrückt spielen Ich denke mal Du musst die Rangehensweise überdenken. TweenMax ist nicht dafür ausgelegt per Rollover im Sekundentakt ein ganzes Menüarray zu colorieren... Firefox-Browser (speziell Mac OS) sind sehr empfindlich - da läuft noch lange nicht jeder Code sauber, der sonst in der Entwicklungsumgebung funktioniert.
__________________ _______ |
| | |
| | #5 (permalink) | ||
| Flasher Registriert seit: Aug 2010 Ort: Stuttgart
Beiträge: 360
| Zitat:
Zitat:
Und wir kommen meiner ursprünglichen Frage näher: Was könnte ein besserer Ansatz sein? Ich würde gern darauf verzichten alles mit Timern zu basteln, und spontan fällt mir kein anderer unumständlicher Weg ein... ;/Mir ist übrigens aufgefallen, dass der Fehler nur auftritt, sobald man ein zweites mal in ein bereits gehighlightetes (Das ist mal 'n Wort...) Quadrat hineinrollt, dessen Roll_Out-Tween noch nicht fertig abgelaufen ist... Also nochmal 2 Kernfragen dazu: -warum verschwinden die Objekte einfach? Das ist mir nicht klar... -was wäre die korrektere/effizientere Herangehensweise als mit TweenMax zu arbeiten? Danke schonmal! | ||
| | |
![]() |
| Lesezeichen |
| Stichworte |
| as3, overwrite, tween, tweenmax |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Flash 8] Fehler bei Darstellung im IE7 | vanse | Flash Einsteiger | 8 | 21-10-2009 16:02 |
| swf-Darstellung im T-Online-Browser | ajinho29 | Flash Einsteiger | 6 | 02-03-2007 11:31 |
| swf - Browser - Darstellung | malte_hh | Flash Einsteiger | 4 | 10-09-2006 22:47 |
| swf - Browser - Darstellung | malte_hh | Flash Einsteiger | 2 | 05-09-2006 16:41 |
| AS und Pdf fehler bei der Darstellung | p.dieter | ActionScript 1 | 2 | 05-01-2006 21:24 |