Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-09-2004, 15:41   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 302
Objektorientiertes Programmieren

hat einer von euch eine Idee was man programmieren kann um den Einstieg in die Objektorientierte Programmierung zu bekommen?

Dankeschööön
Fany
fany ist offline   Mit Zitat antworten
Alt 23-09-2004, 16:31   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Hi!
Im Moock findest so sachen, die Ball_Class wie unten oder auch ein Quiz
ActionScript:
  1. ///////////// in der Bib. auf "ballSymbol" //////////////////////
  2. #initclip
  3. if (_global.org == undefined) {
  4.     _global.org = new Object();
  5. }
  6. if (_global.org.ken == undefined) {
  7.     _global.org.ken = new Object();
  8. }
  9. org.ken.Ball = function() {
  10.     this.geschwindigkeit = this.parameter.geschwindigkeit;
  11.     this.setPosition(this.parameter.x, this.parameter.y);
  12.     this.setFarbe(this.parameter.ballFarbe);
  13.     this.setGroesse(this.parameter.radius);
  14.     this.onEnterFrame = this.bewege;
  15.     delete this.parameter;
  16. };
  17. org.ken.Ball.prototype = new MovieClip();
  18. Object.registerClass("ballSymbol", org.ken.Ball);
  19. org.ken.Ball.prototype.setGroesse = function(neuerRadius) {
  20.     this._width = this._height=(neuerRadius*2);
  21. };
  22. org.ken.Ball.prototype.setPosition = function(x, y) {
  23.     this._x = x;
  24.     this._y = y;
  25. };
  26. org.ken.Ball.prototype.setFarbe = function(neueFarbe) {
  27.     var farbe = new Color(this);
  28.     farbe.setRGB(neueFarbe);
  29. };
  30. org.ken.Ball.prototype.bewege = function() {
  31.     this._x += this.geschwindigkeit.x;
  32.     this._y += this.geschwindigkeit.y;
  33. };
  34. #endinitclip
  35. ///////////////////////////////////////////////////////////////////////
  36. /////////////// azfruf im Film ///////////////////////////////////////
  37. function main(rd, bf, xp, yp, xgs, ygs) {
  38.     var ballParameter = new Object();
  39.     ballParameter.radius = rd;
  40.     ballParameter.ballFarbe = bf;
  41.     ballParameter.x = xp;
  42.     ballParameter.y = yp;
  43.     ballParameter.geschwindigkeit = {x:xgs, y:ygs};
  44.     var initObj = new Object();
  45.     initObj.parameter = ballParameter;
  46.     this.attachMovie("ballSymbol", "roterBall", 1, initObj);
  47. }
  48. main(15, 0xFF0000, 100, 100, 10, 5);
  49. ////////////////////////////////////////////////////////////////////////
  50.  
Aus Moock für MX nachgebaut
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 23-09-2004, 19:23   #3 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Ein guter Einstieg ist es, seine MovieClips als Komponenten zu programmieren.
mfg r.
bokel ist offline   Mit Zitat antworten
Alt 23-09-2004, 19:43   #4 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Oder so!!
Mein problem ist das ich als Halb-Hobby-Scripter keine anwendungen finde wo ich OOP wirklich brauch, aber vielleicht kommt des ja noch
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 23-09-2004, 22:27   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 302
cool vielen dank!!!
fany ist offline   Mit Zitat antworten
Alt 23-09-2004, 22:28   #6 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 302
he bokel...
was meinst du genau mit komponenten im bezug auf OOP?
fany ist offline   Mit Zitat antworten
Alt 23-09-2004, 22:37   #7 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
@RustyCake:
Das ist nicht unbedingt ein Manko. Wenn die Projekte gut überschaubar sind, kann man sie auch ohne OOP prima lösen. OOP ist schliesslich kein Allheilmittel, mit dem man sich einreiben kann und dann flutscht die Sache Letztlich ist es nur eine besondere Art der Organisation, die dir helfen soll, den Überblick zu bewahren. Das ist vielleicht ähnlich wie der Gegensatz zwischen einem Einmannunternehmen, wo eine Person alles macht, und einer groesseren Firma, in der es Buchhalter, Einkäufer, Verkäufer, Sekretärinnen, Manager usw. gibt. Wenn eine Sache gross wird, behält man durch die Aufteilung der Aufgaben einfach einen besseren Überblick.

mfg r.

Geändert von bokel (23-09-2004 um 22:42 Uhr)
bokel ist offline   Mit Zitat antworten
Alt 23-09-2004, 22:41   #8 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
@fany:
Mit Komponenten meine ich MovieClips, denen eine Klasse zugeordnet ist und die damit direkt vom Start weg eine bestimmte Aufgabe übernehmen können, wie z.B. eine Checkbox oder eine Bilderstapel oder eine animierte Linie oder ... was du halt gerade so brauchst.

mfg .r
bokel ist offline   Mit Zitat antworten
Alt 23-09-2004, 22:45   #9 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 302
@bokel:
meinst du: MovieCLips.prototype.bestimmteaction = function ()..... ?

habe gehört das es nicht so vorteilhaft sowas zu verwenden weil im endefekt jeder movieclip diese eigenschaft erhält (allerdings nur bei anweisung ausgeführt wird) und die gesamte flash datei somit grösser wird....

p.s. schönes beispiel was du an Rusty gegeben hast
fany ist offline   Mit Zitat antworten
Alt 23-09-2004, 22:53   #10 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Richtig, MovieClip.prototypes sind zwar nett, können aber auch reichlich Probleme machen. Das gilt vor allem, wenn man mit mehreren Leuten an einem Projekt arbeitet.

Nein, was ich meinte sind Subklassen von MovieClips, die einem bestimmten Bibliothekssymbol zugeordnet werden.



mfg. r

Geändert von bokel (23-09-2004 um 23:00 Uhr)
bokel ist offline   Mit Zitat antworten
Alt 23-09-2004, 22:55   #11 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 302
hmmm dann weiss ich nicht genau was du meinst....
fany ist offline   Mit Zitat antworten
Alt 23-09-2004, 23:02   #12 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
ActionScript:
  1. Verfolger = function(){}
  2.  
  3. Object.registerClass("VerfolgerSymbol", Verfolger);
  4.  
  5. Verfolger.prototype = new MovieClip();
  6.  
  7. Verfolger.prototype.onEnterFrame = function(){
  8.   this._x += this._xmouse/2;
  9.   this._y += this._ymouse/2;
  10. }

Das ist ein sehr einfaches Beispiel für eine MovieClip-Subklasse, die die Maus verfolgt. Du brauchst nur einen MovieClip mit dem LinkageNamen "VerfolgerSymbol" in der Bibliothek anlegen und diesen Clip einen Frame nach dem Script auf die Bühne bringen, und schon wird das Script ausgeführt.

Wenn du darüber mehr wissen willst, brauchst du wahrscheinlich Literatur. Ich würde mir mal den Moock anschauen, das ist sowas wie die Bibel der Flashprogrammierer und dort findest du auch etwas über MovieClip-Subklassen.

mfg .r

Geändert von bokel (23-09-2004 um 23:04 Uhr)
bokel ist offline   Mit Zitat antworten
Alt 23-09-2004, 23:04   #13 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 302
sorry mit meinen anfänger fragen aber ist Moock ein Buch?
fany ist offline   Mit Zitat antworten
Alt 23-09-2004, 23:07   #14 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Ja, genau.

mfg. r
bokel ist offline   Mit Zitat antworten
Alt 23-09-2004, 23:18   #15 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 302
cool dankeschööön....
klappt alles super. nur bei einigen elementen muss ich ich nun erstmal schlau machen. beispiel registerclass....

ich pack das
fany 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 23:08 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele