Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-10-2007, 12:44   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 287
Wie sollte man das am besten aufbauen?

Hallo Flashgemeinde,

ich würd gerne so ein Tool wie von Eplus aubauen --> HIER ...

Links Parameterleisten und rechts dann alle Handyprodukte.
Wenn man nun links ein paar Parameter ändert, so ändern sich auch die Objektanzeigen.

Nun zu meiner Frage...momentan beschäftige ich mich damit, wie man am besten beim Proggen die Codestruktur anordnet.
Deswegen würd ich gerne wissen, wie fortgeschrittene Leute die einzelnen Aufgaben aufteilen.
d.h. soll ich lieber mit Klassen arbeiten?

Momentan programmiere ich so, dass ich das in Funktionen aufsplitte. Ich möchte aber von diesem Programmierstil wegkommen.

Kann da jemand mir Tips geben ? Dank

Geändert von ~flasher (28-10-2007 um 12:47 Uhr)
~flasher ist offline   Mit Zitat antworten
Alt 28-10-2007, 13:19   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
Zitat:
Zitat von ~flasher Beitrag anzeigen
Ich möchte aber von diesem Programmierstil wegkommen.
das ist doch die antwort ;-)
lerne OOP ist kein fehler wenn man's kann.

OOP ist nicht an flash gebunden, also mal ein buch allgemein zu OOP durchlesen. und auch in der flash-hilfe steht einiges zu OOP.
- wer ist --> klasse
- wer hat --> function/eigenschaft

und einfach damit anfangen. erfahrung muss mach machen, nicht erlesen.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (28-10-2007 um 13:22 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 28-10-2007, 14:01   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 287
jap...ich werd mir auch das buch "essential actionscript 2" bestellen.

aber bis dahin wollt ich mal die erfahrenen flasher mal fragen, wie sie das ganze aufbereiten würden.

theoretisch ist mir die funktion von klassen & co. schon bekannt, aber mir fällt es schwer diese in actionscript umzusetzen.

z.B. das oben genannte Beispiel:

es würde ein klasse handys geben, wo jedes objekt unterschiedliche parameter haben würde.

jedes mal wenn der user einen wert in der reglerleiste geändert hat, schaue ich dann den entsprechenden wert für meine objekte nach und blende sie entweder ein oder aus.

1) Würde es eine Klasse InitObj geben, die die Handys aufzeigt ?
2) Welche KLasse regelt z.b. den User Input ?

Was ich damit sagen will, wie strukturiere ich diese verschiedenen Anforderungen in KLassen auf ?

Wie würdest du die Aufteilung denn machen ?
~flasher ist offline   Mit Zitat antworten
Alt 28-10-2007, 15:17   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
initialisieren ist eine tätigkeit, eine funktion. eine tätigkeit kann keine handys haben ;-)

"..1) Würde es eine Klasse InitObj geben, die die Handys aufzeigt ?.."
jain, die bezeichnung ist irritierend. wenn, dann gibt es ein objekt "liste", das die eigenschaft hat handys darzustellen. und diese klasse sollte man nicht InitObj benennen, sondern z.b. handyliste.

objekte sind z.b.:
das menü
die menüitems
die liste
die handys
buttons
textfelder
usw.
für den anfang ist es ganz ok, wenn du aus jedem movieclip eine klasse machst.

überlege halt, aus welchen objekten/dingen deine anwendung besteht
dann aufschreiben, was die einzelnen objekte machen müssen, also welche funktionen und welche variablen.
und besonders darauf achten, das jedes objekt möglichst nichts mit den anderen zu tun hat. also wenn du ein objekt rausnimmst und in ein vollkommen anderes programm reinsteckst, dann muss das immer noch funktionieren. also wenig bis garkeine globalen variablen benützen.
wenn kommunikation zwischen den objekten nötig ist, dann haben die objekte extra (public) funktionen dafür. so und mit events arbeiten.

speziell die handys sind ein typischer kanditat für's vererben. es gibt eine klasse (basisklasse), die beinhaltet, was alle handys haben. dann gibt es welche, die haben spezielle funktionen. da solltest du versuchen möglichst wenig klassen zu finden, mit denen du alle handy-varianten darstellen kannst.
die basisklasse wäre mal ein ding, das man nicht unbedingt mit einem movieclip vergleichen würde, weil diese klasse nur benutzt wird, um nicht bei jeder variante alles neu zu erfinden (wird also optisch nicht dargestellt und auch nicht für neu XXX benützt, sondern 'nur' als bestandteil aller handys). die davon abgeleiteten handyvarianten könnte man dann wieder mit den mc's vergleichen.


"..2) Welche Klasse regelt z.b. den User Input ?.."
- wer ist --> klasse
- wer hat --> function/eigenschaft
wer ist userinput? <-- gibt es nicht
wer hat einen userinput: <-- z.b. ein button, ein formular oder ein textfeld

funktionen des menüs ist z.b. die darstellung der menüitems zu handeln. kein input
funktion der menüitems ist z.b. mit der maus gedrückt zu werden. also input
usw.

wer was ist und wer was hat ergibt sich eigentlich von alleine. alles auf ein blatt papier aufzeichnen und nachdenken, ob alles logisch richtig und vollständig ist. danach kann man programmieren.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (28-10-2007 um 15:31 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 29-10-2007, 16:42   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 287
ok bin auch schon dabei ein gewisse struktur reinzubringen.

ich würde das folgendermaßen machen:

eine Klasse Handy, wo ich dann die Eigenschaften bereitstelle --> mit
PHP-Code:
new Handy(param1param2usw....) 
würde ich die speziellen Eigenschaften definieren.
Also bspw. Hersteller;Akku Laufzeit; Preis; Gewicht etc....

soll die Funktion, die zuständig für die Darstellung der Handy Instanz auf der Bühne mit in die KLasse oder in eine separate "Display-Klasse" ???

für die Regler habe ich dann eine Klasse Preis, eine Klasse Hersteller usw.. Macht der Aufbau Sinn oder sollte man da einen anderen Ansatz wählen ?

Generell hätt ich ne Frage, ob ich mich lieber direkt mit AS3 beschäftigen sollte, oder erst mit AS2 ???

Geändert von ~flasher (29-10-2007 um 16:44 Uhr)
~flasher ist offline   Mit Zitat antworten
Alt 29-10-2007, 22:01   #6 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
die letzte frage ist am einfachsten zu beantworten: AS3

alles andere, da wird dir jeder etwas anderes raten und alles ist richtig.

prinzipiell:
mache funktionen so klein wie möglich. also nicht eine funktion die 1000 sachen erfüllen kann und die nachher auch mit 1000 fehlern aufwartet. erzeuge kleine überschaubare und verständliche funktionen.


"..bspw. Hersteller;Akku Laufzeit; Preis; Gewicht etc.."
betrachte es abstakter: das sind alles technische daten. also gibt es ein array mit bezeichnung und individuellen daten. somit ist es egal, ob es 3 oder 300 technische daten gibt.
Hersteller fällt da z.b. raus. es macht sinn (datenbankmässig zu denken) für hersteller eine eigene klasse zu erstellten. denn es gibt je hersteller mehrere handys.


ansonsten, du kannst dir dein programm hier nicht erfragen. du musst einfach damit anfangen! schreib dir ein konzept auf und fange an das um zu setzen. egal ob es richtig oder falsch ist. es wird immer argumente geben etwas anders zu machen.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (29-10-2007 um 23:04 Uhr)
hgseib 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 15:17 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele