| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Animateur Registriert seit: Jan 2003 Ort: MZ
Beiträge: 1.536
| Ball prallt von Schräge ab
Ich bin ein Mathe-Idiot ... Ich will einen Ball von einer Schräge abprallen lassen und berechnen, wie er weiterfliegt. Hab jetzt Lösungen, die ich gern bestätigt hätte. 1. 100% Steigung (45°) von links unten nach rechts oben. (denke das ist korrekt) tmpXSpeed = xSpeed; xSpeed = ySpeed; ySpeed = tmpxSpeed; 2. 50% Steigung (22.5°) von links unten nach rechts oben. (bin mir unsicher) tmpXSpeed = xSpeed; xSpeed = ySpeed*.5 + (tmpxSpeed*.5); ySpeed = -(ySpeed*.5) +(tmpxSpeed); Verbesserungen und Erklärungen werden dankbar angenommen
__________________ there is no way to happiness, happiness is the way - flashgames |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
habe gerade eben auf ein ähnliches problem geantwortet http://www.seibsprogrammladen.de/fra...ispiele/flash6 -> ballaballa (das schraege.swf)
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #3 (permalink) |
| Animateur Registriert seit: Jan 2003 Ort: MZ
Beiträge: 1.536
|
hmm, ok, danke! also so Code: winkel = (22.5 * Math.PI)/180;
speedX = 2;
speedY = 0;
speed = Math.sqrt(speedX*speedX+speedY*speedY);
var w = Math.atan2(speedX, speedY)+winkel;
speedX = speed*Math.sin(w);
speedY = -speed*Math.cos(w);
trace ("winkel "+winkel);
trace ("speed "+speedX+"/"+speedY); Dabei erschiens mir so logisch
__________________ there is no way to happiness, happiness is the way - flashgames |
| | |
| | #4 (permalink) |
| Animateur Registriert seit: Jan 2003 Ort: MZ
Beiträge: 1.536
|
Hab jetzt doch noch ein Problem Der ball kommt von oben auf eine 45° abgeschrägte Fläche: Code: winkel = (45 * Math.PI)/180;
speedX = 0;
speedY = -2;
speed = Math.sqrt(speedX*speedX+speedY*speedY);
var w = Math.atan2(speedX, speedY)+winkel;
speedX = speed*Math.sin(w);
speedY = -speed*Math.cos(w);
trace ("winkel "+winkel);
trace ("speed "+speedX+" / "+speedY); speedX= -1.41421356237309 speedY= 1.4142135623731 Ergebnis müsste imo aber sein: speedX= -2 speedY= 0 was die eindrucksvolle Grafik zeigt ![]() Wo liegt der (Denk-)Fehler?
__________________ there is no way to happiness, happiness is the way - flashgames |
| | |
| | #5 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
// einfallswinkel == ausfallswinkel var w = Math.atan2(speedX, speedY)+winkel*2; nur damit geht meine fla nicht. keine ahnung warum ;-)
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (27-09-2006 um 21:31 Uhr) |
| | |
| | #6 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
so besser?
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #7 (permalink) |
| Animateur Registriert seit: Jan 2003 Ort: MZ
Beiträge: 1.536
|
Danke für die Mühen, ich glaube, ich hab den fehler jetzt gefunden: statt: winkel = (22.5 * Math.PI)/180; das: winkel = (22.5 * Math.PI)/90;
__________________ there is no way to happiness, happiness is the way - flashgames |
| | |
| | #8 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
das ist winkel*2
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |