Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-03-2006, 10:43   #1 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.058
Seitenaufbau mit AS2 - wie macht ihr das??

Hallo,

ich habe da noch mal ne Frage zum Umgang mit AS2.

As2: Ok, arbeiten mit Klasses etc. wegen der Widerverwendbarkeit usw. habe ich verstanden. Wie sieht das aber jetzt mit dem grundsätzlichen Seitenaufbau aus. In so ziemlich jedem Projekt kommen ja spezielle Funktionen und Abläufe vor, die so nicht unbedingt widerverwendbar sind. Bisher habe ich solche Sachen dann einfach in Funktionen etc. in meinen Movie auf die Zeitleiste gepackt.
Unter AS2 soll man ja, soweit ich das verstanden habe, eigentlich kein AS mehr in den eigentlichen Movie schreiben (außer ein paar stop's etc.). Wo packe ich nun mein AS hin?? Mache ich dann speziell für den Film eine eigene Klasse in der dann diese Speziellen Funktionen drin sind?? Bzw. in der dann auch andere Standart-Klassen instanziert werden??

Oder wie macht ihr das so??
Leider konnte ich bis jetzt zu diesem Thema nicht wirklich was Hilfreiches finden.

Danke vorab :-)
__________________

Gruß kakktus
kakktus ist offline   Mit Zitat antworten
Alt 25-03-2006, 11:09   #2 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
Hey Kakktus,

Wiederverwendbarkeit: zum dem Thema kann ich dir diesen thread von ralf nur wärmstens empfehlen! klick
Beiß dich bitte nicht an dem wörtchen wieder... fest!

Projektaufbau: ich lege mir für jedes project einen neuen ordner an. In diesen kommen dann meine quelldateien + individuelle, projektbezogene klassen.

lg,
shorty
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.

Geändert von shorty (25-03-2006 um 11:14 Uhr)
shorty ist offline   Mit Zitat antworten
Alt 25-03-2006, 11:25   #3 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.058
HI,

erstmal danke für deine Antwort :-)
Dann ist es also grundsätzlich richtig für jeden Movieclip eine eigene Klasse zu erstellen wo dann halt alles spezielle drin ist.
Demnach müsste ich dieser Klasse dann root übergeben??

Also so??
PHP-Code:
var root:MyMain = new MyMain(this); 
Und könnte dann alles wittere in meiner Klasse abarbeiten.

Sorry, wenn ich so blöde frage aber ich arbeite noch nicht so lange mit As2 bzw. Klassen und bin da noch etwas unsicher. Vorallem weil ich zum Thema Klassen erstelle ziemlich viel gefunden habe aber zum Thema eigentlicher Einsatz in Projekten noch nicht so viel.
__________________

Gruß kakktus
kakktus ist offline   Mit Zitat antworten
Alt 27-03-2006, 13:46   #4 (permalink)
\x3a\x6f\x29
 
Benutzerbild von [je]
 
Registriert seit: Apr 2004
Ort: paris
Beiträge: 806
Wie macht ihr das?

Abgesehen von dem angesprochenen Problem haben sich einfach ein paar Sachen herauskristalisiert, die ich wiederverwende.
Dazu gehören in AS2 die Delegates, (Pre)Loader, Mathe Utils (Rectangle, Point usw.) und eine "Main". Theoretisch könnte man auch noch das Menü und Content abstrakt lösen. Aber das ist einfacher/schneller, wenn man ein Menü der Seite entsprechend selbst baut.

Ich bastel dann mein Hauptfilm mit essentiellen Sachen, die für Menü etc. benötigt werden und dann einzelne Unterseiten in extra swfs. Diese Sind alle so aufgebaut, dass sie an einer stelle anhalten (fadein) und dann wenn man sie abspielt sich auflösen (fadeout). An beiden Stellen wird per AsBroadcaster am besten ein Event abgefeuert.

So lässt sich eigentlich alles schön aufbauen. Den Content Kram können dann andere Leute bauen.
__________________
joa ebert
http://blog.joa-ebert.com/ - http://www.joa-ebert.com/
[je] ist offline   Mit Zitat antworten
Alt 27-03-2006, 14:10   #5 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.058
HI,

danke für deine Antwort.
Also ich jetzt für jeden Film eine Main-Datei gemacht in der alles drin steht was für den jeweiligen Film wichtig ist. Quasi das was früher in der fla drin war.
Naja und Sachen wie Preloader etc. habe ich extra.
__________________

Gruß kakktus
kakktus ist offline   Mit Zitat antworten
Alt 28-03-2006, 19:22   #6 (permalink)
Developer
 
Benutzerbild von malthoff
 
Registriert seit: Sep 2001
Ort: Stuttgart
Beiträge: 519
Lightbulb Interessanter Thread ansich

Hi.

Ich bastel auch gerade eine AS2 basierte Seite. Vom Aufbau fast schon
besser in HTML und PHP zu machen, aber was solls.

Aufbau ist folgender: Horizontale festgelegte Navi, eine vertikale aus
XML dynamisch erzeugte SubNavi und den Content Bereich.

Die ganze Seite ist gescriptet, also nur ein Bild in der Haupt-FLA.

In dem ersten Bild starte ich meine Controller Klasse, der ich, wie Du schon
angemerkt hast, _root übergebe. Der Controller initialisiert dann andere
Objekte, weisst den auf die Bühne gezogenen HauptNavi Button ihre
onRelease Funktionen zu, startet eine Instanz meiner XMLloader Klasse.

In der XML Loader Instanz wird nach dem XML Parsen das XML Objekt
an die ContentHall weitergereicht (ja doofer name), die aus den
Kategorien und den Untersektionen (aus XML) Instanzen der Klassen Kategorie
und Sektion erzeugt.

Der Content Bereich der Seite besteht immer aus Bild und Text. Da es
in unterschiedlichen Bereichen unterschiedlich viel zu sagen oder zu zeigen
gibt, habe ich unterschiedliche "Templates" in Flash angelegt, die bereits einen
MC als Platzhalter für Bilder und ein TextField für Texteinblendung bereit hält.

Im Kontroller gibt es jetzt eine Funktion showView(), die eine Kategorie aus der
ContentHall übergeben bekommt und dann, je nach in XML kodiertem Template,
ein Template auf die Bühne attached. Vorher wird der alte noch gelöscht.

Damit das nicht schlagartig passiert, habe ich noch eine Funktion fadeInContent()
und fadeOutContent(), die einfach einen MC mit weißem Hintergrund über dem
Content ein oder ausfaded. Dahinter wird dann der Content getauscht.

Ist performanter als den Content (bestehend aus Bild und TextField) selber
aus und einzufaden.

Riesige Probleme hatte ich bei den Templates bei der Verwendung von der TextArea- Komponente.
Die war in den Templates bereits auf die Bühne gezogen, genau wie ein leerer MC für die Bilder.

Habe ich dann in der eigentlichen Anwendung ein solches Template attached,
wurde der Text in der TextArea nicht angezeigt. War aber vorhanden, man konnte
ihn mit der Maus markieren und woanders wieder einfügen. Es war der Text,
der dort auch ankommen sollte. Mit setSize() konnte man den Text
sichtbar machen, aber damit hat sich die komplette Komponente so vergrößert,
dass jeglicher Text angezeigt wurde, also keine Scrollbar mehr benötigt
wurde, was aber gewünscht war.

Ich habe jetzt alles auf normales TextField umgerüstet, mir die
Scrollbutton selber geschrieben und funktioniert alles bestens.

Jetzt steht noch an, alle Bilder im Vorfeld zu laden, damit sie später bei
loadMovie sofort aus dem Cache kommen.

Außerdem muss ich noch eine Funktionalität hinzufügen, die eine SlideShow
erstellt, wenn in einer Kategorie oder Sektion mehrere Bilder angegeben
sind.

Gruß,
dr.ache
malthoff ist offline   Mit Zitat antworten
Alt 29-03-2006, 09:34   #7 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.058
Hi!

danke für deinen ausführlichen Beitrag :-)
Also wie ich weiter oben schon geschrieben habe, packe ich jetzt auch alles nur noch in Klassen. Ist zwar anfangs etwas mehr Schreiberei und man ein wenig Zeitaufwändiger und man muss ein wenig umdenken, aber wenn man mal einige Klassen hat die man öfter verwenden kann, holt man die zusätzliche Zeit schnell wieder raus.
__________________

Gruß kakktus
kakktus ist offline   Mit Zitat antworten
Alt 29-03-2006, 22:53   #8 (permalink)
using namespace
 
Benutzerbild von artjom
 
Registriert seit: May 2002
Ort: Hamburg underground
Beiträge: 657
und ich fusch' bei flashseiten. denn diese sind blose präsentation, mit paar klick möglichkeiten.(powerpoint like)
da lohnt sich meiner erfahrung nach nicht, sich großartige konzepte nach mvc auszudenken.
besonders nicht, wenn man unter zeitdruck steht und eine webseite keine 3mb groß sein soll.

und was kann man an einer website so großartiges proggen, ausser einer "hochkomplexen" navigation? ... die (thema wiederverwendbarkeit) auf einer anderen seite anders funzt/aussieht, angepasst werden muss, und somit neu zu programmieren ist... da is absolut nix mit wiederverwendbarkeit. und wenn du als designer auf haufen deiner seiten die gleichen strukturen hast..., na dann, setzen sechs!

gruß
__________________
artjom.com -|- Melom
Einen PC beschleunigen? Klar, mit 9,81 m/s^2!
artjom ist offline   Mit Zitat antworten
Alt 30-03-2006, 09:50   #9 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.058
Hi!

Zitat:
und was kann man an einer website so großartiges proggen, ausser einer "hochkomplexen" navigation?
Ich denke da gibt es noch einiges mehr als nur ne Navigation.

Und zum Thema Wiederverwendbarkeit:
Da gibt es einiges z.B. Formulare, Loader, Slider, Buttonfunktionen etc.

Und wenn du mit Klassen arbeitest hat das doch nichts damit zu tun immer die gleiche Struktur zu verwenden. Und was hat das mit 3mb zu tun??
__________________

Gruß kakktus
kakktus ist offline   Mit Zitat antworten
Alt 30-03-2006, 14:01   #10 (permalink)
using namespace
 
Benutzerbild von artjom
 
Registriert seit: May 2002
Ort: Hamburg underground
Beiträge: 657
Zitat:
Da gibt es einiges z.B. Formulare, Loader, Slider, Buttonfunktionen etc.
is nix was man in klassen unterbrigen könnte, denn das sind doch alles 10 zeiler (in einem projekt).

man könnte natürlich alles in einzelnen klassen zuweisen. von einem projekt nutzt man den preloader so, im anderen projekt wieder anders, so dass die preloader klasse langsam größer wird.
instanziiert man nun diese klasse, so hat man gleich die halbe library am harken. dadurch können diese 3mb (natürlich übertrieben ) resultieren.

is nicht so dramatisch wie es sich anhört, ich habe es nur nie sinnvoll geschaft actionscipt komponente in websites wiederzuverwenden.

gruß
__________________
artjom.com -|- Melom
Einen PC beschleunigen? Klar, mit 9,81 m/s^2!

Geändert von artjom (30-03-2006 um 14:03 Uhr)
artjom ist offline   Mit Zitat antworten
Alt 30-03-2006, 17:19   #11 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Also ich habe schon ein paar Projekte gesehen, die mehr als 10 Zeilen pro Klasse hatten

mfg. r
bokel ist offline   Mit Zitat antworten
Alt 30-03-2006, 17:27   #12 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.058
Das kann ich nur bestätigen
Also ich habe eigentlich fast nie unter 150 Zeilen.
Und so ne Formklasse z.B mit feldabfrage kommt bestimmt nicht mit 10 Zeilen aus.
__________________

Gruß kakktus
kakktus ist offline   Mit Zitat antworten
Alt 30-03-2006, 18:02   #13 (permalink)
\x3a\x6f\x29
 
Benutzerbild von [je]
 
Registriert seit: Apr 2004
Ort: paris
Beiträge: 806
Und ein Slider/Scroller/Preloader der deine Library füllt ist einfach nur schlecht programmiert.

Die Designer und Leute die Inhalte bauen, werden dir danken, wenn du ein gescheites Konzept für solche fälle entwickelt hast. Das spart nämlich Zeit und man muss diesen Leuten nicht immer wieder zumuten einen Scroller zu bauen.
__________________
joa ebert
http://blog.joa-ebert.com/ - http://www.joa-ebert.com/
[je] ist offline   Mit Zitat antworten
Alt 31-03-2006, 09:17   #14 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.058
genau :-)

Also ich finde es mittlerweile viel angenehmer mit Klassen zu arbeiten. Man kann sich echt einige Arbeit erspahren.
__________________

Gruß kakktus
kakktus ist offline   Mit Zitat antworten
Alt 31-03-2006, 18:00   #15 (permalink)
using namespace
 
Benutzerbild von artjom
 
Registriert seit: May 2002
Ort: Hamburg underground
Beiträge: 657
ja es ist zwar angenehmer alles in klassen zu packen, aber wiederverwendenen wirst du es nicht. das war ja das thema.
bokels "große" klassen werden wohl keine üblichen website komponenten beinhalten, die sich in websites wiederverwenden lassen. ein preloader ist in 10 zeilen fertigprogrammiert. eine preloader klasse mit mehr als 100 zeilen wird wohl animation-funktionen beinhalten, die sich (wie schon erwähnt) bei einem designer am besten nicht gleichen sollen.

Zitat:
Die Designer und Leute die Inhalte bauen, werden dir danken, wenn du ein gescheites Konzept für solche fälle entwickelt hast. Das spart nämlich Zeit und man muss diesen Leuten nicht immer wieder zumuten einen Scroller zu bauen.
wie, also ein "scroller-konzept"? das sind doch wieder 10 zeilen. pack sie in eine funktion und fertig is. wenn ein designer dein konzept checken muss, wird er wohl in der lage sein, ein preloader selbst zu proggen.

ich check nicht warum es nicht offensichtlich ist

gruß
__________________
artjom.com -|- Melom
Einen PC beschleunigen? Klar, mit 9,81 m/s^2!
artjom 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 14:26 Uhr.

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


Copyright ©1999 – 2014 Marc Thiele