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

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-08-2004, 13:11   #1 (permalink)
Entwickler
 
Registriert seit: Apr 2002
Ort: Edinburgh, UK
Beiträge: 301
AnimationPackage zukünftige Entwicklung

Moin Leute,

vielleicht haben einige von euch schon mit AnimationPackage gearbeitet. Ich habe noch einige Ideen zur Erweiterung und dachte mir das es Sinn machen könnte hier ein Post aufzumachen indem ich euch einige Dinge frage, die ich in der nächsten Version veröffentlichen werde (z.B. Fragen zur API, Namensgebung, Feature requests). Bei einigen Punkten ist es einfach besser mehrere Meinungen zu haben.

Deswegen hier die erste Frage:

Wer die Move Klasse kennt, weis auch das man zur Benutzung nur die Zielwerte angeben muss. (btw. das hier betrifft viele Klassen aber als Beispiel nehme ich Move) Die Startwerte werden bei Initialisierung aus den aktuellen _x und _y Werten des Movieclips ermittelt. Jetzt benötige ich allerdings z.B. für die neue Sequence Klasse benutzerdefinierte Startwerte. Also muss ich die API ändern und möchte das ganze abwärtskompatibel halten. Die API wird also nur erweitert werden. Hier sind 4 Möglichkeiten zur neuen API. Welche gefällt euch am Besten?

1:
ActionScript:
  1. var myMove:Move = new Move(mc,400,50);
  2. myMove.setOrigin(400,300);
  3. var myMove2:Move = new Move(mc,150,50);
  4. myMove2.setOrigin(400,50);
  5. var myMove3:Move = new Move(mc,150,300);
  6. myMove3.setOrigin(150,50);
2:
ActionScript:
  1. var myMove:Move = new Move(mc,{startx:400,starty:300,endx:400,endy:50});
  2. var myMove2:Move = new Move(mc,{startx:400,starty:50,endx:150,endy:50});
  3. var myMove3:Move = new Move(mc,{startx:150,starty:50,endx:150,endy:300});
3:
ActionScript:
  1. var myMove:Move = new Move(mc,{x:400,y:300},400,50);
  2. var myMove2:Move = new Move(mc,{x:400,y:50},150,50);
  3. var myMove3:Move = new Move(mc,{x:150,y:50},150,300);
4:
ActionScript:
  1. var myMove:Move = new Move(mc,"ORIGIN",400,300,400,50);
  2. var myMove2:Move = new Move(mc,"ORIGIN",400,50,150,50);
  3. var myMove3:Move = new Move(mc,"ORIGIN",150,50,150,300);

1,2,3 oder 4?


Gruß,
Alex
Alex U. ist offline   Mit Zitat antworten
Alt 05-08-2004, 14:30   #2 (permalink)
Entwickler
 
Registriert seit: Apr 2002
Ort: Edinburgh, UK
Beiträge: 301
Ich muss dazu sagen, das Möglichkeit 1 wahrscheinlich so oder so möglich sein wird. Es geht also nur um Möglichkeit 2,3 oder 4 zusätzlich zu 1.

Geändert von Alex U. (05-08-2004 um 14:33 Uhr)
Alex U. ist offline   Mit Zitat antworten
Alt 05-08-2004, 16:14   #3 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.831
na wir haben das ja schon per icq bekakelt.
ich favorisiere immer noch die 2te variante

mir ist allerdings nicht klar wozu der string "ORIGIN" in der 4ten variante gut ist, muss zu meiner schande aber auch gestehen, dass ich bisher nur das tutorial gelesen habe.
angewendet habe ich das animationpackage noch nicht.
michael ist offline   Mit Zitat antworten
Alt 06-08-2004, 09:59   #4 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
ich kenn deine pack zwar nicht aber die bsp. zeige ja an worum es geht. ich finde mgl. 1 auch vollkommen ausreichend. in der function wird dann einfach ne flag gesetzt startCoords=true; und gut Varianten 3 und 4 sind gar nicht mein Geschmack, einmal ne String übergabe um nen Type oder Mode zu erkennen fühlt sich immer unbequem an vorallem wenn man es anders lösen kann.
Variante 2 kann man auch noch durchgehen lassen, das ganze mit nem eigenen initObject zu lösen. aber ich bin kein Freund von Parametern im Konstruktor.

Fazit:

Version 1 ist ausreichend. Man könnte auch getter/setter für die Koords einzeln machen.

setStartX(); / getStartX();
setStartY(); / getStartY();
setStartXY(); / getStartXY();

Die Vorteile liegen auf der Hand. die API bleibt kompatibel da nur zusätzliche Functionen dazu kommen. Die Werte können, müßen aber nicht gesetzt werden, wenn nicht gesetzt werden die startWerte ausgelesen.

have a nice day

alex
__________________
TVNEXT Solutions
atothek ist offline   Mit Zitat antworten
Alt 10-08-2004, 19:42   #5 (permalink)
Entwickler
 
Registriert seit: Apr 2002
Ort: Edinburgh, UK
Beiträge: 301
Danke für das Feedback. Version 1 und 2 haben gewonnen. ( ; @alex: gute Idee. Ich denk drüber nach. (es gibt ja auch noch andere Klassen die eine ähnliche API haben müssten)

noch eine Frage an alle:

bokel kam auf die Idee ein Mittelding zwischen der Sequence und der Parallel Composite Klasse anzubieten. Man soll in der Lage sein neben sequentiellen und parallelen Animationen auch überlappende Animationen nach gleicher Art zu erstellen. Dafür werden bei jeder addChild Methode die jeweiligen Start- und Endwerte der Animation (in duration) angegeben.

ActionScript:
  1. APCore.initialize();
  2. var myListener:Object = new Object();
  3. APCore.addListener(myListener);
  4.  
  5. var myMoveOnQuadCurve:MoveOnQuadCurve = new MoveOnQuadCurve(mc,100,100,300,300,500,100);
  6. var myScale:Scale = new Scale(mc,25,25);
  7. var myRotation:Rotation = new Rotation(mc,360);
  8. var myColorTransform:ColorTransform = new ColorTransform(mc,0xff0000,50);
  9.  
  10. var myAnimation:Animation = new Animation();
  11. //Wenn kein Start- und Endwert angegeben wird,
  12. //läuft die Animation über die gesamte Länge der Animation Instanz.
  13. myAnimation.addChild(myMoveOnQuadCurve);
  14. myAnimation.addChild(myColorTransform);
  15. myAnimation.addChild(myScale,0,1000);
  16. myAnimation.addChild(myRotation,1000,1500);
  17. myAnimation.animationStyle(2000,Circ.easeInOut,"onCallback");
  18. myAnimation.animate(0,100);
  19. myListener.onCallback = function(source) { 
  20.     source.callback = "onCallback2";
  21.     source.animate(100,0);
  22. }
  23. myListener.onCallback2 = function(source) {
  24.     source.callback = "onCallback";
  25.     source.animate(0,100);
  26. }


Beispiel .swf

Bitte nicht über das Eventhandling kümmern. Wie bei allen Klassen in AnimationPackage kann man hier auch GDispatcher nutzen. Das ganze soll hier nicht wichtig sein. Mir geht es eher darum ob man gegen Konventionen verstößt oder ob es technisch bedenklich ist, eine Klasse mit dem gleichen Namen wie das package in der die Klasse liegt zu erstellen. (fast gleich: package: animation; Klasse: Animation). Man könnte das ganze ja auch AnimationComposite nennen. Oder ob ihr irgendwelche andere Ideen, Anregungen hierzu habt.

Alex
Alex U. ist offline   Mit Zitat antworten
Alt 26-08-2004, 16:20   #6 (permalink)
Entwickler
 
Registriert seit: Apr 2002
Ort: Edinburgh, UK
Beiträge: 301
Falls einige Zeit haben könnt ihr hier die neuste Version von AnimationPackage euch anschauen und testen. Ich bin fast am Release der 1.02er Version und suche natürlich gerade jetzt noch viel Kritik dazu bevor ich es veröffentliche. Insgesamt ist es das umfangreichste Update zu AnimationPackage bisher.

hier ist die BETA

Gruss,
Alex
__________________
Open Source ActionScript Lib AnimationPackage
Alex U. ist offline   Mit Zitat antworten
Alt 26-08-2004, 21:22   #7 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
@Alex U.: Du weisst ja das ich begeistert von der Idee des AnimationPackage war und bin - aber so aus reiner neugier. Hast schonmal geschaut, wer das Package so verwendet - downloadzahlen, etc.? Wäre sicher nicht uninteressant - eine gute Idee sollte ja nicht daran scheitern, dass die Damen und Herren Entwickler es nicht nutzen - leider ist das schon vielen guten Entwicklungen so gegangen...

Liebe Grüsse
Matze K.
Madokan ist offline   Mit Zitat antworten
Alt 27-08-2004, 08:00   #8 (permalink)
thinkin aBout tha lib.
 
Benutzerbild von kaneda
 
Registriert seit: Nov 2001
Ort: Kölle
Beiträge: 1.379
Downloadzahlen & FLashwelt

Die Flashwelt ist komisch. Möcht ich mal anmerken. Die as2lib hatte etwas über 1000 Downloads in der ersten Woche. Und es sind in den ersten 2 Monaten 2 Feature Requests und 1 Bug report reingeflattert. WIr haben in der Zwischenzeit selbst viele Bugs gefunden und behoben.

Ich denke kaum das die Flashcommunity mit Packages (jeglicher Art) wirklich klar kommt. Auch Opensource ansich und die damit verbundenen Workflows scheinen noch nicht so wirklich angenommen worden zu sein.

Das typische Flasherverhalten ist nunmal: Copy & Paste und Modifizieren. Das ist aber nicht nur sehr unproduktiv, es bringt probleme und ein wirklicher "Entwicklungsprozess" ist auch nicht da.

Alex U. hat damit genauso zu kämpfen wie ich und deswegen stellt er solche Posts ins Forum. Um es bekannt zu machen und damit leute es nutzen, und andere (so wies in einem Opensource Projekt sein sollte) eben auf Probleme hinweisen.

*schadefind*
__________________
Back to community with http://leichtgewicht.at
kaneda ist offline   Mit Zitat antworten
Alt 27-08-2004, 10:52   #9 (permalink)
Entwickler
 
Registriert seit: Apr 2002
Ort: Edinburgh, UK
Beiträge: 301
Ähnliches Feedback wie kaneda beschrieben hat kommt auch zu AnimationPackage. Ich selber habe keine Plattform zum Verbreiten. Einige finden das aber auch gut und helfen dabei. Von dir Matze kamen z.B. viele über Flashstar. Viele kamen auch über as2lib, Andre Michelle und Flashforum. Über Colin Moock's Artikel kamen am meisten. Colin wird auch noch zur Version 1.02 etwas veröffentlichen. Ich freue mich natürlich immer und halte das für sehr sinnvoll wenn noch weitere davon berichten und vor allem wenn Leute berichten wo sie es anwenden. Ich denke das ist das Schönste für Open Source Entwickler und sorgt letztendlich dafür das es weitergeht . Colin nutzt es z.B. für seine Projekte und wird eventl. davon auf Flashkonferenzen in Japan erzählen. Auch einzelne Entwickler aus Australien, England, Frankreich, Russland, Kanada und USA haben schon mal geschrieben das sie es nutzen. Von einem Flash Designer habe ich gehört das es für ihn der Grund war letzendlich AS2 zu lernen.

Enttäuschend nur das das Macromedia offenbar nicht interessiert. Im Devnet wären wahrscheinlich mit Abstand die höchsten Verbreitungsquoten. Aber die Stories kennste ja Matze. Wie du schon sagtest: Jetzt kanns ans rüsseln gehen.

Alex
__________________
Open Source ActionScript Lib AnimationPackage
Alex U. ist offline   Mit Zitat antworten
Alt 27-08-2004, 11:06   #10 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
@kaneda: Wirklich schade, dass hören zu müssen - mehr als hoffen kann man wohl nicht.

@Alex U: Auf alle Fälle rüsseln und wer Zeit und Lust hat sollte auch mitwirken - das gilt auch für die as2Lib.

Zahlreiche OpenSource Projekte haben es bisher in diesem Bereich leider nie sehr weit gebracht, wäre schade wenn sich das zukünftig nicht ändern würde.

Liebe Grüsse
Matze K.
Madokan ist offline   Mit Zitat antworten
Alt 27-08-2004, 11:20   #11 (permalink)
thinkin aBout tha lib.
 
Benutzerbild von kaneda
 
Registriert seit: Nov 2001
Ort: Kölle
Beiträge: 1.379
Neue Zeit

Ich glaube das momentan einfach weder die IDE noch die Entwickler wirklich das Format haben im Opensource Prozess mitzuarbeiten (Es ist sehr umständlich sich in ein Projekt einzulesen und der Vorteil wird noch nicht sehr schnell klar). Das trifft die as2lib noch viel härter weil wir uns im Gegensatz zum Animation Package mit Systemnahen Dingen befassen, die oft nichts mit irgendwelchen Graphischen Dingen zu tun haben, dennoch hilfreich sind.

Ich glaube daran das Sich das mit dem Erscheinen von asdocgen, der Version SEPY 2.0 und ähnlichem ändern wird. Die richtigen Tools fehlen eben noch. Deswegen heissts für uns jetzt durchbeissen und nicht aufgeben.
__________________
Back to community with http://leichtgewicht.at
kaneda ist offline   Mit Zitat antworten
Alt 27-08-2004, 14:13   #12 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.831
Naja die meißten "Flasher" kommen eben immer noch aus der Design-Ecke.
Mir fällt es selbst sehr schwer ohne Informatik-Background mitzuhalten wenn hier mit Patterns um sich geschmissen wird. Ob das an fehlendem "Format" liegt sei dahingestellt.

Ich denke auch nicht das es unbedingt an IDE oder Entwicklern liegt. Alle OOP-Möglichkeiten die uns auch mit AS2 gegeben sind, wirken irgendwie "aufgeschraubt" auf eine Technologie, die ursprünglich für etwas viel unbedeutenderes konzipiert wurde.

Sich in Projekte wie as2lib einzulesen braucht Zeit.
Und die wenigsten haben Projekte in einer Größenordnung, wo es sich lohnt sich hineinzuarbeiten.

Zumindest ist das mein Gefühl.

Ich hoffe trotzdem das ich in absehbarer Zeit dazu komme mich mehr in as2lib und AnimationPackage einzuarbeiten.


gruß
michael
michael ist offline   Mit Zitat antworten
Alt 27-08-2004, 14:32   #13 (permalink)
thinkin aBout tha lib.
 
Benutzerbild von kaneda
 
Registriert seit: Nov 2001
Ort: Kölle
Beiträge: 1.379
Hmm

Ich denke wenn man eine Dementsprechende IDE hat die wirkliches Codecompletion (wird bisher von keiner IDE wirklich unterstützt), ein sauberes Documentation listening und Echtzeit Fehlerausgabe unterstützt dann kann das schon sehr helfen. Wobei ich dir schon recht geben muss: Die as2lib wächst unaufhaltsam und der Vorteil zeigt sich manchmal erst spät (manchmal ist die as2lib ganz und gar nicht angebracht).

Uns bleibt nur ein hoffen das wir auf dem richtigen weg sind
__________________
Back to community with http://leichtgewicht.at
kaneda ist offline   Mit Zitat antworten
Alt 27-08-2004, 23:31   #14 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
@gutknut: Die Aussage über die Flasher stimmt genau - was den Informatik-Background bet. muss ich sagen auch Patterns sind kein Allheilmittel genauso wenig, wie Refactoring - auch wir aus der Informatik haben uns diese Dinge ja nur abgeschaut - Patterns beispielsweise aus der Architektur! Aber eines bieten Sie uns auf alle Fälle - Neue Ansätze für bessere Lösungen!

Was Flash bet. ist der OOP-Anteil tatsächlich nur aufgesetzt, man schaue sich die MX 2004 Version genauer an - der Richtige Weg ist eingeschlagen, aber die Altlasten stehen vielen Neuerungen im Weg.

Wenn ich eine Vorsichtige Schätzung abgeben sollte würde ich sagen, haben sich bisher rund 10% der Flash Entwickler mit AS 2.0 beschäftigt - davon nutzen AS 2.0 vielleicht 30-40%. Die restlichen 90% der Entwickler gibt sich immer noch AS 1.0 hin und viele schlagen sich mit Trial-Error-Entwicklung herum bzw. schwören auf prozedurale Strukturen. Da kann man noch so von Design Patterns, etc. schwärmen - es ist einfach noch zu früh...

@kaneda: Ich denke schon das wir auf dem richtigen Weg sind - Projekte, wie as2Lib und dem AnimationPackage schaden niemanden - ob Sie angenommen werden, wird die Zeit zeigen. Mein rat: Nicht aufgeben und standhaft bleiben - ist wie mit der Landwirtschaft um die Ernte einfahren zu können muss man die Saat aussehen und viel Zeit und Pflege aufwenden!

Was mir bei MX 2004 fehlt ist ein erweiterter und überarbeiter Debugger - darüber war ich recht enttäuscht, das Exception-Handling ist schon ein richtiger Schritt, aber so lange die IDE hinterher läuft.

Liebe Grüsse
Matze K.

Geändert von Madokan (27-08-2004 um 23:33 Uhr)
Madokan ist offline   Mit Zitat antworten
Alt 27-08-2004, 23:47   #15 (permalink)
dummschnack
 
Benutzerbild von Chino
 
Registriert seit: Mar 2002
Ort: Essen
Beiträge: 1.778
Jungs, macht euch mal keine Sorgen - Durch Leute wie euch wird Flash erwachsen! Danke dafür!

Gruss, Chino
__________________
» flashbored since 2006
» my band: radioghost
Chino 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:50 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele