{MX} Flugbahn für Objekte

Status
Nicht offen für weitere Antworten.
Original geschrieben von sancho
aso, was ich noch fragen wollte:
ich weis das oop für objekt orientiertes programmieren oder so steht, aber was heisst das jetzt direkt? ist oop einfach dann wenn man ein script auf einen mc schreibt, oder muss da was bestimmtes erfüllt sein damit man es oop nennen darf?
was genau oop ist - darüber streiten sich die geister. für die einen ist es eine reine programmiertechnik, für die anderen ein grundlegender denkansatz. und vermutlich meinen beide seiten eh dasselbe :).

meine definition - oder eher ein erster ansatz: es gibt elemente mit gleichen verhaltensweisen aber möglicherweise unterschiedlichen parametern. beispiel: zwei movieclips wabern (gleich) aber unterschiedlich stark (parameter). dafür kann man nun dieselbe funktion nutzen indem man die werte für das 'waber-ausmaß' als variable beim aufruf der funktion übergibt. weiter geht's, wenn es noch weitere unterschiedliche eigenschaften gibt. z.b. zwei von fünf drehen sich zusätzlich zum wabern, die anderen wechseln die farbe. hier gibt es die möglichkeit klassen/objekte/methoden anzulegen, grundeigenschaften (wabern) weiterzugeben und zusätzliche eigenschaften (verhaltensweisen) zu definieren. wichtig hierbei - die gesamte programmierungsstruktur sollte bereits vor der ersten geschriebenen scriptzeile durchdacht sein (also doch denkansatz). nachträgliches 'verklassifizieren' u.ä. wäre da eher eine 'notOOPeration' :);).
naja ... ist echt schwierig zu erklären. deshalb hier ein paar links:

http://www.debreuil.com/docs/ch01_Intro.htm
http://www.flashstar.de/tutlist/index.php3?bereich=flatuts

was es meiner meinung nach NICHT ist, aber oft angenommen wird: ein schwierigkeitsgrad (vielleicht abgesehen vom abstrakten denken), denn manchmal sind objektorientierte scripte im endeffekt wesentlich simpler, als wenn man mühsam die einzelnen elemente gleicher oder ähnlicher art jedes für sich programmiert.

gruß
rena

ps: und ein paar physiknachhilfestunden täten mir glaub auch gut :)
 
Netter Versuch, Sancho!

Mit einem Mouse-follow ist es natürlich einfach. Ich möchte aber eine methode, die ich so aufrufen kann:

myMC.MoveTo(200,200)

und mein mc bewegt sich auf einer gerade zur koordinate x:200,y:200

is nicht so easy. Habs auf jeden falls noch nicht geschafft, werd's aber nochmals versuchen.

c u
 
@skyla

so ein teil gibts doch glaub ich bei flashworkers, oder?
auf jedenfall hab ich sowas schon mal gesehen.

da klickt man wo hin und das teil bewegt sich geradlinig dorthin.
hätte da auch irgendwie ne methode im kopf wie man das machen könnte, aber wäre irgendwie kompliziert, weil ich da mit viereck, diagonale und winkel usw. arbeiten würde! :)
wäre wohl bsichen zu kompliziert und rechenintensiv. h3h3

ich schau mal ob ich das finde, dann post ich es hier!
 
habs jetzt leider nicht gefunden, aber ich bin mir recht sicher, das ich es mal auf flashstar.de gesehen hab (nicht flashworker!)
 
@rena: eine ergänzung zu dem von dir geschriebenen: OOP basiert auf dem algorithmischen Prinzip 'Divide and Conquer' also teile und herrsche (gebiete regieren durch aufteilen des Landes und vergabe an die fürsten...französicher Krieg oder so ähnlich). Auf Flash (oder oop allgemein) übersetzt: den code auf objekte aufteilen und die objekte interagieren dann untereinander (so die Fürsten-Chaos...).

Hab das kürzlich mal gelesen und fand's noch witzig...
 
hey thx @ all, das mit dem oop hab ich verstanden..

@ skyla: du willst einfach nur dass sich der mc in einer graden auf einen punkt hinbewegt? ich dachte das ginge mit
_y = _y + (_y - ziel)/x

oder wie meinst du das jetzt direkt? kann mir nicht so richtig was drunter vorstellen :/

*sancho*
 
Versteh Deine Formel auch nicht so ganz...:)

Stell dir vor Du hast einen mc auf der bühne x:200, y:100. Jetzt schreibst Du mc.MoveTo (300,250,5)

Der MC bewegt sich nun auf einer geraden (in einem weiteren schritt kanns natürlich auch eine kurve sein wie bei diesem


Der mc würde sich nach dem Aufruf der methode MoveTo von 200/100 nach 300/250 in einem Tempo von 5 bewegen.

wäre doch ;-) , oder?
 
Zuletzt bearbeitet:
PHP:
movieclip.prototype.moveto = function (x,y,bremse) {
	this.onEnterFrame = function() {
		this.x_differenz = x-this._x;
		this.y_differenz = y-this._y;
		this._x += this.x_differenz/bremse;
		this._y += this.y_differenz/bremse;
	}
}
testmc.moveto(200,400,18);
Geist :)
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück