| |||||||
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: Sep 2004
Beiträge: 3
| enemys und mauern
Hi Leute, ich arbeite gerade an einem Spielchen und habe gerade ein Problem mit der Kollision der Gegner. Die Kollision des Spielers funktioniert wunderbar. Die Objekte werden in ein Array geladen und dann mit zB für den seitlichen Hittest abgefragt: Code: for (i=0; i<Level.length; i++) {
if (player.getRect(this).intersects(Level[i])) {
if (speedX > 0) { // moving right
player.x = Level[i].left - player.width/2;
}
if (speedX < 0) { // moving left
player.x = Level[i].right + player.width/2;
}
}
} mfg |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Sep 2004
Beiträge: 3
|
Hier nochmal die Klasse. Es soll die Kollision von 2 Rechtecken im Endeffekt erfolgen. Code: package {
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.display.DisplayObject;
import flash.events.*;
public class enemy extends MovieClip {
var speedX = 0;
private var ROOT:Object;
public function enemy() {
ROOT = MovieClip(root);
addEventListener(Event.ENTER_FRAME, loop);
}
public function loop(e:Event) {
speedX = -10;
this.x += speedX;
for (var i=0; i<ROOT.Level.length; i++) {
if (this.getRect(this).intersects(ROOT.Level[i])) {
trace("Hit");
if (speedX > 0) { // moving right
this.x = ROOT.Level[i].left - this.width/2;
}
if (speedX < 0) { // moving left
this.x = ROOT.Level[i].right + this.width/2;
}
}
}
}
}// end class
}// end package |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Nov 2005
Beiträge: 548
|
- Du schreibst nicht, was genau nicht geht. Also wunder dich nicht über fehlende Antworten. - ROOT sieht nach Müll aus. - Warum über root gehen wollen - übergib doch direkt das Array als Referenz. - Aber eigentlich macht man das so auch nicht, mach lieber eine Klasse "Level", die alle Mauern und aktuellen enemys etc. enthält. Diese Klasse prüft dann. |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Flash CS3] "Undurchdringliche Mauern" für MCs | Ray_86 | Flash Einsteiger | 2 | 27-11-2008 12:12 |
| welches Werkzeug für die Mauern im Labyrinth | willibald | Flash 4 und Flash 5 | 4 | 20-07-2004 19:09 |
| Mauern | KingJamez | Flash 4 und Flash 5 | 5 | 14-01-2004 14:00 |