Brauche Hilfe bei Code...

Status
Nicht offen für weitere Antworten.

SonMiko

Erfahrenes Mitglied
Ich habe einen Code zur Schwerkraft hier im Forum gefunden.
Kann ihn mir jemand erklären? Nur das wichtigste...

PHP:
//Das verstehe ich, hier wird die Kugel als solche von der Libary eingefügt, in Level 1.
_root.attachMovie("kugel","kugel",1);

//Die Beschränkungen für das Abprallen... verstehe ich auch...
unten=stage.height;
rechts=stage.width;
oben=0;
links=0;

//Was bedeutet "MovieClip.prototype"? schwerkraft ist die Funktion, aber was bedeutet das davor?
MovieClip.prototype.schwerkraft=function(xspeed,yspeed,reibung,schwerkraft,bounce){
//Ich wollte schon immer wissen, wofür das onEnterFrame steht? Ist es unendlich fortlaufend wenn der Frame ausgeführt wird?	
this.onEnterFrame=function(){
	this._x+=xspeed;;
	if (this._x+ this._width/2>rechts){
		this._x=rechts-this._width/2;
		xspeed=-xspeed*bounce;
	}
	if (this._x-this._width/2<links){
		this._x=links+this._width/2;
		xspeed=-xspeed;
	}
	this._y+=yspeed;
	if (this._y+this._height/2>unten){
		this._y=unten-this._height/2;
		yspeed=-yspeed*bounce;
	}
	if (this._y-this._height/2<oben){
		this._y=oben+this._height/2;
		yspeed=-yspeed;
	}
	yspeed=yspeed*reibung+schwerkraft;
	xspeed=xspeed*reibung
	if (this.xspeed==0){
//Wofür steht das "delete this.onEnterFrame"?Wird es gelöscht und wieder ausgeführt?
		delete this.onEnterFrame;
	}
	}
}
//Hier wird die Kugel mit der Eigenschaft "schwerkraft" (also der Funktion) ausgestattet (oder bessergesagt "belastet"), und per Zufall werden Werte hinzugefügt... Damit hab ich auch keine Probleme
kugel.schwerkraft(Math.random()*60-30,Math.random()*60-30,0.99,2,0.9)

Soviel zum Script Ich habe Kommentare eingefügt, der Code war zuvor Kommentarlos.
Mich interessieren Grundlegend ein paar Dinge Wie kommt es das ein Objekt sich aufgrund eines Codes bewegt und diese Bewegung immer weiter fortführt?
Ich meine, normalerweise müsste doch ein "Ergebnis" berechnet werden und die Kugel würde an einem Endpunkt ausgegeben werden, oder? Wie kommt es das die sich wirklich bewegt? Wie kommt es das man zwischen dem Anfang und dem Ende sämtliche Flugbahnen der Kugel nachvollziehen kann?
Anbei sende ich den Film.
 

Anhänge

  • schwerkraft.zip
    4,2 KB · Aufrufe: 10
Hi,

Was bedeutet "MovieClip.prototype"? schwerkraft ist die Funktion, aber was bedeutet das davor?
Mit dem Prototype-Objekt kannst Du einer Symbolklasse (z.B. MovieClips) weitere Funktionen oder Eigenschaften mitgeben. Angenommen ich schreibe folgendes:
Code:
MovieClip.prototype.werbinich = function() {
    trace("Ich bin: " + this._name);
}
, dann verfügen alle MovieClips über diese Funktion:
Code:
// "clip" sei ein MC:
clip.werbinich(); // gibt "Ich bin clip" aus

Ich wollte schon immer wissen, wofür das onEnterFrame steht? Ist es unendlich fortlaufend wenn der Frame ausgeführt wird?
Eine onEnterFrame-Methode ist eine Funktion, die mit jedem Frame-Aufruf ausgeführt wird. Sie eignet sich z.B. prima zum Animieren von Objekten:
Code:
// "clip" sei ein MC:
clip.onEnterFrame = function() {
    this._x ++;
} // --> Der MC wird sich mit jedem Frame einen Pixel
// nach rechts bewegen
Pro MovieClip kann eine onEnterFrame-Methode zur Zeit ausgeführt werden.

Wofür steht das "delete this.onEnterFrame"?Wird es gelöscht und wieder ausgeführt?
Damit wird schlicht und einfach die laufende onEnterFrame-Methode beendet (genauer: Es wird diese beendet, die auf dem genannten Objekt läuft: "this" bezieht sich innerhalb einer onEnterFrame-Methode allerdings immer auf das Objekt, auf dem diese Methode läuft).

Hier wird die Kugel mit der Eigenschaft "schwerkraft" (also der Funktion) ausgestattet ...
Eigentlich nicht ganz: Die Funktion "schwerkraft" wurde zuvor für jeden MovieClip mit dem Prototype-Objekt definiert. In dieser Zeile wird sie für den betreffenden MC lediglich aufgerufen.

Alle diese Dinge hätte Dir die Referenz (F1) allerdings sofort und umfassender, als wir es können, verraten ... nur mal als Tipp für die Zukunft. ;)

Gruß
.
 
Menzelschen Dank :)
Auf Dich ist verlass ;-)

Hab leider nur die Englische Hilfe...

Ich suche schon lange eine Seite, wo ich die einzelnen Funktionen (ähnlich wie bei Self-PHP) in einer Art Funktionsreferenz auf deutsch durchblättern kann oder durchklicken. Sowas gibts aber wohl nicht...

Danke und besten Gruß,

Mike
 
... ich frag jetzt lieber nicht, warum Du Dir die englische Version kaufst, wenn Dir die Sprache Probleme bereitet - ich befürchte, die Antwort würde mich nicht erfreuen. :rolleyes:

Wie dem auch sei: Hier gibts die Deutsche Dokumentation - ist halt etwas langsam, die Seite ...

Gruß
.
 
Also ich verwende die Englische Demo...

Wie kommt man denn eigentlich an die Vollversion?
Gibts nicht eine alternative, ohne das man 800,00€ oder mehr bezahlt?
Ich möchte es schon sehr gerne kaufen. Vielleicht gibts eine Schülerversion?

Habe in einem Newsletter ein Angebot erhalten, auf einer Webseite kann man angeblich "OEM-Software" zu sehr geringen Preisen herunterladen.
Beispielsweise 100€ Flash 8
Aber ob das so legal ist?


Gruß,

Mike
 
Hi,

zu OEM-Versionen kann ich Dir nicht raten - hier gabs letztens einen Thread, in dem festgestellt wurde, dass viele dieser Angebote Fälschungen sind, meine ich.

Es gibt aber die Möglichkeit, eine Schüler- oder Studentenversion von Macromedia/Adobe zu erwerben: Klick - oder Du probierst es z.B. mit http://www.educheck.de/; sollte fast einfacher gehen.

Gruß
.
 
Boah ist ja wahnsinn,

ist denn gegenüber der Professional Version von Flash 8 eine
änderung in der Schüler Version enthalten, oder eine "Eingrenzung"?
 
Die Version verfügt soweit ich weiß über den selben Leistungsumfang. Die einzige Einschränkung ist natürlich, dass Du damit keine kommerziellen Produkte anfertigen darfst. Näheres steht in den Lizenzbedingungen.

Gruß
.
 
Hier das Lizenzmodell:
Lizenzmodell
Macromedia SSL-Lizenzen können im Prinzip frei im Fachhandel erworben werden. Sie erhalten eine Version, die 30 Tage lang lauffähig ist. In der Zwischenzeit fordern Sie bei Macromedia den endgültigen Lizenzschlüssel an, mit dem das Produkt aktivert werden kann. Wenn Sie nicht die Bedingungen des Hersteller erfüllen, können Sie auch keinen Lizenzschlüssel erhalten.

Also quasi eine Shareware?

Darf ich einmal so rein Interessenhalber fragen, welche Version du von Flash hast, und wieviel du bezahlt hast?

Gruß,

Mike
 
Status
Nicht offen für weitere Antworten.
Zurück