Schiefer-Wurf Formel

Teaser

Mitglied
Hallo Flashies,

ich hab hier ein kleines Problem mit einer physikalischen Formel:

Es handelt sich dabei um den sogenannten Schiefen Wurf, mit dessen Hilfe man Flugbahnen mit Einbezug der Gravition berechnen kann. Theoretisch müsste sich das ja mit Flash grafisch realisieren lassen. Ich hab auch beim Durchstöbern des Forums schon ein Thema dazu gefunden, aber die dort genannte Formel funkioniert nicht richtig. Folgendes wurde dabei auf den MC (das fliegende Objekt) programmiert:

Code:
t = 0 //zeit null setzen
v = 50 // startgeschwindigkeit
alpha = -45 //abschusswinkel

kugel.onEnterFrame = function() {
	t += .4
	this._x = (Math.cos(Math.PI/180 *alpha) * v * t)
	this._y = 200+(Math.sin(Math.PI/180 *alpha) * v * t) - ( 0.5 * -9.81 * t * t ) 
	y = this._y
	x = this._x
}

anscheinend scheint es auch zu funktionieren, aber bei genauerer Betrachtung kümmert diese Formel den Winkel kaum. Wenn ich verschiedene Werte für alpha einsetze ändert sich der Abschusswinkel überhaupt nicht. Genau genommen "fällt" die Kugel immer etwas mehr oder weniger, abhängig von der Geschwindigkeit.
Liegt es vielleicht das die Formel für MX geschrieben ist, ich aber nur Version 5 habe?

Vielen Dank schon mal fürs Durchlesen
 
Hi,

eigentlich sollte sich da in Flash 5 garnichts tun, denn MovieClip.onEnterFrame gibt es erst seit Flash 6.

In MX und MX2004 funktioniert das Script wie gewünscht.

Versuch in Flash 5 mal folgendes: Nimm den Code aus der Zeitleiste, und setze ihn statt dessen so modifiziert auf die Instanz der Kugel:
PHP:
onClipEvent(load) {
	this.t = 0 //zeit null setzen
	this.v = 50 // startgeschwindigkeit
	this.alpha = -89 //abschusswinkel
}

onClipEvent(enterFrame) {
	t += .4;
	this._x = (Math.cos(Math.PI/180 *alpha) * v * t);
	this._y = 200+(Math.sin(Math.PI/180 *alpha) * v * t) - ( 0.5 * -9.81 * t * t ); 
	y = this._y;
	x = this._x;
}

Gruß
.
 
Danke,

ich hatte die Formel zuvor schon auf den MC gelegt und umgeschrieben, die Formel die ich hier gepostet habe stammte aus dem anderen Thread. Ich verstehe zwar nicht was jetzt anders ist als an dem was ich gemacht hab, aber es scheint zu funktionieren, danke.
War wahrscheinlich eine Kleinigkeit, daran hängts bei mir immer, also danke nochmal

- close pls -
 
Zurück