| |||||||
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) |
| Neuer User Registriert seit: Jul 2011
Beiträge: 26
|
Hallo Leute, ich habe hier folgendes Problem: wenn ich mit meinem Player nahe an meinen Feind herankomme rotiert dieser in meine Richtung. Wenn ich aber nun meinen Feind mit meinem Player umkreise (dieser dreht sich entsprechend mit) dann macht er irgendwann ploetzlich eine 360 Grad-Drehung. Das passiert wenn ich ihn umkreise. Momentan weiss ich nicht wo der Fehler ist und komme einfach nicht mehr weiter. Es waere sehr nett, wenn mir da jemand bitte weiterhelfen koennte. Danke. Code:
tempEnemy.dX = tempEnemy.x - player.x;
tempEnemy.dY = tempEnemy.y - player.y;
tempEnemy.rotateTo = toDegrees(getRadians(tempEnemy.dX, tempEnemy.dY));
if(tempEnemy.frame < 0) tempEnemy.frame += 360;
if(tempEnemy.frame > 359) tempEnemy.frame -= 360;
tempEnemy.trueRotation = int((tempEnemy.rotateTo - tempEnemy.frame) / tempEnemy.rotateSpeed);
tempEnemy.vX += (player.x - tempEnemy.x) / tempEnemy._speed;
tempEnemy.vY += (player.y - tempEnemy.y) / tempEnemy._speed;
tempEnemy.vX *= tempEnemy.decay;
tempEnemy.vY *= tempEnemy.decay;
private function toDegrees(radians:Number):Number
{
var degrees:Number = Math.floor(radians * 180 / Math.PI);
//trace (degrees);
return degrees;
}
private function getRadians(deltaX:Number, deltaY:Number):Number
{
var radian:Number = Math.atan2(deltaY, deltaX);
if (deltaY < 0)
{
radian += (2 * Math.PI);
}
return(radian);
} |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
schau dir sowas mal an: H.G.Seib -> Position (ZIP laden) position: ermittelt ob B vor oder hinter, links oder rechts von A steht
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #4 (permalink) |
| Keine Panik Registriert seit: Apr 2010 Ort: Düsseldorf (im ernst)
Beiträge: 1.867
|
das ist doch eigentlich "nur" ein shortRotation-Problem wenn dein enemy bei frame 359 ist, und der neue wert bei 2 liegt, dreht er sich 357° nach links, und nicht 3~ nach rechts. wenn ich deine Variablen richtig verstanden habe: PHP-Code: wieso speicherst du diese ganzen temporären Werte in deinem Enemy? oder brauchst du die noch für ne Andere Berechnung in deinem code? Geändert von thomas_E (05-11-2011 um 01:36 Uhr) Grund: Fehler im code |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Flash 8] Mc mit Statischertextfeld - rotiert - wie zentrieren? | palpalo | Flash Einsteiger | 2 | 29-04-2011 18:50 |
| Sehr viel Text und sehr lahme Mausinteraktion | elmanuelmanu | ActionScript 3 | 3 | 25-03-2010 11:23 |
| dynamische Textfelder > rotiert | XChrisX | Flash MX 2004 | 2 | 26-02-2007 13:53 |
| KI Gegner | snoob | ActionScript 2 | 8 | 14-05-2006 21:28 |
| MC rotiert um Punkt und entfernt sich gleichzeitig von ihm | bronkobecker | Spielkonzepte und Spieleprogrammierung | 6 | 19-10-2005 12:05 |