| |||||||
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: Mar 2008
Beiträge: 98
| Probleme beim Hittest
Hallo zusammen ![]() ich habe eine Figur gebaut (mann_mc) die beim einer Kollisionsabfrage nicht mehr durch die Plattformen (plattform_1_mc und plattform_2_mc) fallen soll. Das Problem ist, das die Figur kurz in der Plattform stoppt und letzendlich trotzdem durchfällt. Was mache ich falsch ? stop(); // Verhalten des Helden mann_mc.onEnterFrame = function() { // Hittest for ( var i=1; i <= 2; i++ ) { var name = eval("_root.spiel_mc.plattform_" + i + "_mc"); if ( this.hitbereich_mc.hitTest(name) ) { // Steht auf einer Plattform. Daher kein Fallen und // gelandet keine velocity mehr _root.game.falling = false; _root.game.velocity = 0; // y-Position korrigieren this._y = name._y; break; } else { // Scheinbar noch kein Halt _root.game.falling = true; } } // Gravitation if (_root.game.falling == true) { // Der Held ist am fallen. Daher beschleunigt er _root.game.velocity += _root.game.gravity; this._y += _root.game.velocity; } }; |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
hier links unten mal auf 'vB Code' klicken, da steht, wie man beiträge im forum gestalten kann. // var name = eval("_root.spiel_mc.plattform_" + i + "_mc"); richtiger: var name = _root.spiel_mc["plattform_" + i + "_mc"]; if ( this.hitbereich_mc.hitTest(name) ) hitTest erwartet globale koordinaten natürlich ungetestet: Code: mann_mc.onEnterFrame = function() {
_root.game.falling = true;
for (var i = 1; i<=2; i++) {
var plattform = _root.spiel_mc["plattform_"+i+"_mc"];
if (this.hitbereich_mc.hitTest(plattform)) {
_root.game.falling = false;
_root.game.velocity = 0;
this._y = plattform._y;
continue;
} }
if (_root.game.falling) {
_root.game.velocity += _root.game.gravity;
this._y += _root.game.velocity;
}
};
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |