• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-12-2004, 19:11   #76 (permalink)
Entwickler
 
Registriert seit: Apr 2002
Ort: Edinburgh, UK
Beiträge: 301
Zitat:
Zitat von K-Grabowski
habs mit 1.4 getestet, haste das Beispiel mal laufen lassen?
Ja, läuft korrekt. Die Werte stimmen immer überein. Hast du ASO Cache geleert?

Gruss,
Alex
__________________
Open Source ActionScript Lib AnimationPackage
Alex U. ist offline   Mit Zitat antworten
Alt 14-12-2004, 19:18   #77 (permalink)
Neuer User
 
Benutzerbild von K-Grabowski
 
Registriert seit: Jan 2003
Ort: Arminia!!!! Bielefeld
Beiträge: 1.138
hab aso geleert, ganz selten ist ne ungenauigkeit von 0.05 drinne. Was ja eigentlich nix machen würde, habe aber noch ein Beispiel, wo ne ungenauigkeit von 8 pixeln drin ist, kann den Fehler aber nicht reproduzieren, muss morgen nochma testen. dann sag ich dir bescheid.
__________________
Wieviel hätte ich also für dieses Fahrzeug zu investieren???
K-Grabowski ist offline   Mit Zitat antworten
Alt 14-12-2004, 19:28   #78 (permalink)
Entwickler
 
Registriert seit: Apr 2002
Ort: Edinburgh, UK
Beiträge: 301
Zitat:
Zitat von K-Grabowski
kann den Fehler aber nicht reproduzieren, muss morgen nochma testen. dann sag ich dir bescheid.
Ja, das wäre gut. Generell ist es ein Fehler wenn überhaupt Ungenauigkeiten auftauchen. Der Endwert sollte standardmäßig immer gesetzt werden und wird beim Frame-based Tweening (also intern über onEnterFrame statt setInterval) auch immer erreicht.

Dazu die Beschreibung aus der forceEnd Methode jeder IAnimatable Klasse:

forceEnd

description: Flash does not guaranteed that time-based tweening will reach the end value(s) of your animation. By default AnimationPackage guarantees that the end value(s) will be reached. The forceEnd method allows you to disable this guarantee and only accept the values from your easing equation. In certain situations this can lead to a smoother ending of the animation. Notice that in frame-based tweening the end value(s) will always be reached.

Gruss,
Alex
__________________
Open Source ActionScript Lib AnimationPackage
Alex U. ist offline   Mit Zitat antworten
Alt 15-12-2004, 11:38   #79 (permalink)
Neuer User
 
Benutzerbild von K-Grabowski
 
Registriert seit: Jan 2003
Ort: Arminia!!!! Bielefeld
Beiträge: 1.138
hab nen formtween in einem mc, dann kriegt die berechnung so seine probleme. habs mal nachgestellt.
Angehängte Dateien
Dateityp: rar anitest.rar (21,5 KB, 9x aufgerufen)
__________________
Wieviel hätte ich also für dieses Fahrzeug zu investieren???
K-Grabowski ist offline   Mit Zitat antworten
Alt 16-12-2004, 16:46   #80 (permalink)
Freizeitflasher
 
Registriert seit: Aug 2004
Ort: Hamburg
Beiträge: 32
Hallo, ich bin gestern auf das Package gestossen und probiere gerade ein wenig damit herum. Ich war auf der Suche nach einem Weg, abgerundete Rechtecke zu skalieren, ohne daß sich die Randbreite ändert. Das ist ja auch direkt in den Beispielen beschrieben, und funktioniert mit diesem Code (einfach aus der Doku übernommen) wunderbar:
ActionScript:
  1. #include "AnimationPackage.as"
  2. APCore.initialize();
  3.  
  4. var myRectangle:Rectangle = new Rectangle(275,200,100,100);
  5. myRectangle.lineStyle(2,0x000000,100);
  6. myRectangle.fillStyle(0xff0000,100);
  7. myRectangle.draw();
  8. var myAnimator:Animator = new Animator();
  9. myAnimator.caller = myAnimator;
  10. myAnimator.start = [myRectangle.getSize().w,myRectangle.getSize().h];
  11. myAnimator.end = [400,400];
  12. myAnimator.setter = [[_root,"scale"]];
  13. myAnimator.run();
  14. //Proxy class.
  15. function scale(h:Number,w:Number) {
  16. myRectangle.setSize(w,h);
  17. myRectangle.draw();
  18. }
Nun möchte ich aber auch die Animationsgeschwindigkeit ändern, was sich, wenn ich die Doku für die Klasse Animator richtig verstanden habe, z.B. mit 'myAnimator.run(5000);' machen lässt. Nur kann ich da als Parameter so ziemlich alles angeben, es hat nicht den geringsten Effekt, ich hab sogar schon 'myAnimator.run(hallo);' ausprobiert, es kommt nichtmal eine Fehlermeldung.
Was hab ich da übersehen oder falsch verstanden?

Gruß, gringle.
gringle ist offline   Mit Zitat antworten
Alt 17-12-2004, 13:40   #81 (permalink)
Entwickler
 
Registriert seit: Apr 2002
Ort: Edinburgh, UK
Beiträge: 301
Zitat:
Zitat von gringle
Nun möchte ich aber auch die Animationsgeschwindigkeit ändern, was sich, wenn ich die Doku für die Klasse Animator richtig verstanden habe, z.B. mit 'myAnimator.run(5000);' machen lässt.
Gruß, gringle.
Hi gringle,

das ist ein kleiner Bug in Animator. Du kannst aber statt der run Methode aber auch die duration Eigenschaft oder die animationStyle Methode benutzen um die Zeit zu verändern. Ich habe dir die berichtigte Animator Klasse angehängt.

Gruss,
Alex
Angehängte Dateien
Dateityp: zip Animator.zip (7,0 KB, 9x aufgerufen)
__________________
Open Source ActionScript Lib AnimationPackage

Geändert von Alex U. (18-12-2004 um 12:59 Uhr)
Alex U. ist offline   Mit Zitat antworten
Alt 17-12-2004, 14:11   #82 (permalink)
Entwickler
 
Registriert seit: Apr 2002
Ort: Edinburgh, UK
Beiträge: 301
Zitat:
Zitat von K-Grabowski
hab nen formtween in einem mc, dann kriegt die berechnung so seine probleme. habs mal nachgestellt.
Moin,

In deiner FLA gibt es mehrere potentielle Fehlerquellen. Z.B. halte ich es nicht für eine gute Idee die init Methode mehrmals auszuführen indem du einfach eine Frameschleife verwendest. Die meisten Animation Instanzen werden so nicht zu ende animiert ohne ein explizites stop.

Also, ich gehe mal davon aus das diese Ungenaugigkeiten von deiner FLA kommen oder eventl. auch von Rundungsungenauigkeiten im Flash Player. Mir sind solche Ungenauigkeiten in meinen Projekten und Test oder von anderen zumindest noch nicht aufgefallen. Kannst ja Bescheid sagen wenn du dein Bespiel weiter vereinfacht hast und vor allem etwas aufgeräumt hast.

Gruss,
Alex
__________________
Open Source ActionScript Lib AnimationPackage
Alex U. ist offline   Mit Zitat antworten
Alt 17-12-2004, 14:45   #83 (permalink)
Neuer User
 
Benutzerbild von K-Grabowski
 
Registriert seit: Jan 2003
Ort: Arminia!!!! Bielefeld
Beiträge: 1.138
war ja nur ein beispiel, normalerweise würd ich ne init methode natürlich nicht zweimal aufrufen, kannst sie auch wie du willst nennen . habs mal nen bisschen bereinigt und ordentlicher gemacht. Trotzdem selber Fehler.
Ich glaube probleme kommen auf wenn viel bewegung in dem MC selber ist, aber dürfte ja eigentlich nicht.
Angehängte Dateien
Dateityp: rar anitest.rar (20,6 KB, 7x aufgerufen)
__________________
Wieviel hätte ich also für dieses Fahrzeug zu investieren???
K-Grabowski ist offline   Mit Zitat antworten
Alt 18-12-2004, 12:54   #84 (permalink)
Freizeitflasher
 
Registriert seit: Aug 2004
Ort: Hamburg
Beiträge: 32
Danke! Jetzt funktioniert alles wie gedacht. (:
Gruß, gringle.
gringle ist offline   Mit Zitat antworten
Alt 18-12-2004, 21:28   #85 (permalink)
Freizeitflasher
 
Registriert seit: Aug 2004
Ort: Hamburg
Beiträge: 32
Noch was, selbes Beispiel wie bei meinem ersten Post, diesmal nur mit einem Rechteck, welches kein Quadrat ist. Z.B. also 'var myRectangle:Rectangle = new Rectangle(275,200,200,50);'
Wenn man dieses nun animiert, vertauscht 'myAnimator.start = [myRectangle.getSize().w,myRectangle.getSize().h];' die width und height Werte, hier würde die Animation also mit einem Rechteck mit den Maßen (50, 200) starten.
gringle ist offline   Mit Zitat antworten
Alt 19-12-2004, 12:07   #86 (permalink)
Entwickler
 
Registriert seit: Apr 2002
Ort: Edinburgh, UK
Beiträge: 301
Zitat:
Zitat von gringle
Noch was, selbes Beispiel wie bei meinem ersten Post, diesmal nur mit einem Rechteck, welches kein Quadrat ist. Z.B. also 'var myRectangle:Rectangle = new Rectangle(275,200,200,50);'
Wenn man dieses nun animiert, vertauscht 'myAnimator.start = [myRectangle.getSize().w,myRectangle.getSize().h];' die width und height Werte, hier würde die Animation also mit einem Rechteck mit den Maßen (50, 200) starten.
Der Fehler liegt im Beispiel nicht in AP selber. In der scale Funktion vom Beispiel habe ich die Parameter w und h vertauscht.


Alex
__________________
Open Source ActionScript Lib AnimationPackage
Alex U. ist offline   Mit Zitat antworten
Alt 19-12-2004, 15:24   #87 (permalink)
Freizeitflasher
 
Registriert seit: Aug 2004
Ort: Hamburg
Beiträge: 32
Ja, ich hab das bei mir dann auch vertauscht, ich dachte nur, dass das etwas verwirrend sein könnte, beim späteren Durchsehen z.B.. Ich hab halt auch ein bisschen gebraucht, um zu merken, warum die Animation nicht da anfängt, wo ich es gerne hätte. Ich bin aber sonst sehr begeistert.
Gruß, gringle
gringle ist offline   Mit Zitat antworten
Alt 23-12-2004, 11:22   #88 (permalink)
Neuer User
 
Benutzerbild von K-Grabowski
 
Registriert seit: Jan 2003
Ort: Arminia!!!! Bielefeld
Beiträge: 1.138
der Fehler liegt irgendwo in der Animation-Klasse, in dem Angehängten Beispie siehst du die Ungenauigkeiten der Animationklasse genau, du kannst zwischen Animation und Move wechseln damit man die Fehlerhäufigkeit sieht. die Move Klasse funzt einwandfrei. Guck dir mal die Fla an, hab versucht es einigermaßen übersichtlich zumachen.
Angehängte Dateien
Dateityp: rar anitest.rar (23,9 KB, 4x aufgerufen)
__________________
Wieviel hätte ich also für dieses Fahrzeug zu investieren???
K-Grabowski ist offline   Mit Zitat antworten
Alt 23-12-2004, 21:38   #89 (permalink)
Entwickler
 
Registriert seit: Apr 2002
Ort: Edinburgh, UK
Beiträge: 301
Yep, ich glaube ich weis jetzt was dort passiert.

Bei Animation wird immer eine Instanz der Pause Klasse erzeugt, die solange läuft wie die duration Eigenschaft des Animation Klasse. Dadurch läuft beim time-based tweening parallel zur Animation des oder der Childs auch ein setInterval initiiert von Pause. Pause löst dann das onEnd Event aus. Das heist das onEnd Event läuft unabhängig von der eigentlichen Animation oder Animationen der Childs. Normalerweise sollte das doch kein Problem darstellen, aber da Flash hier wohl langsam und ungenau ist, treten diese Ungenauigkeiten auf. Mir scheint als laufen die verschiedenen setInterval(s) nicht gleich ab und können sogar innerhalb von Animationen sich verzerren. Überrascht hat mich das beim frame-based Tweening ähnliche Probleme auftraten. Hat das jemand mal genauer untersucht? Es leuchtet mir jetzt auch ein warum die Ungenauigkeiten größer werden wenn der Flash Player mehr beansprucht wird.

Lösung: ein child mit einer duration von Animation löst mit EventDispatcher das onEnd Event von Animation aus. Nur wenn kein Child bis zur duration von Animtion läuft wird die Pause Klasse nebenbei eingeschaltet. Anbei eine Version von der Animation Klasse, die bei mir immer genau läuft. Probiere bei dir mal aus und sag Bescheid falls etwas nicht klappt.

Schöne Weihnachten!
Alex

PS: denk dran immer AP mit APCore.initialize zu initialisieren.
Angehängte Dateien
Dateityp: zip Animation.zip (3,8 KB, 10x aufgerufen)
__________________
Open Source ActionScript Lib AnimationPackage

Geändert von Alex U. (23-12-2004 um 21:42 Uhr)
Alex U. ist offline   Mit Zitat antworten
Alt 23-12-2004, 22:40   #90 (permalink)
Neuer User
 
Benutzerbild von K-Grabowski
 
Registriert seit: Jan 2003
Ort: Arminia!!!! Bielefeld
Beiträge: 1.138
Das nenn ich mal Service so kurz vor Weihnachten

funzt jetzt alles einwandfrei, saubere Arbeit.

Wünsch dir auch ein frohes Fest und schonmal im vorraus einen guten rutsch.
__________________
Wieviel hätte ich also für dieses Fahrzeug zu investieren???
K-Grabowski ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 04:56 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele