| |||||||
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: May 2011
Beiträge: 2
|
Hey zusammen, ich bin gerade dabei ein Flash Game in ActionScript 3 für ein Projekt während meiner Ausbildung zum FI zu programmieren. Jetzt bin ich bei einem wahrscheinlich leicht zu lösenden Problem hängen geblieben. Leider habe ich momentan keine Ansprechpartner, deshalb dieser Thread. Mein Problem ist folgendes: In meinem Spiel erzeuge ich mithilfe eines MouseDown Listeners Code: stage.addEventListener(MouseEvent.MOUSE_DOWN, Bollen); Die Methode "Bollen" sieht so aus: Code: function Bollen(e:MouseEvent):void{
meiBollen = new Kugel();
meiBollen.x = weapon_mc.x;
meiBollen.y = weapon_mc.y;
kugelWinkel = weapon_mc.rotation*Math.PI / 180;
meiBollen.xspeed_beschl = Math.cos(kugelWinkel)*kugelSpeed;
meiBollen.yspeed_beschl = Math.sin(kugelWinkel)*kugelSpeed;
addChild(meiBollen);
meiBollen.addEventListener(Event.ENTER_FRAME, Move);
} Zitat:
Wie spreche ich die beiden an? Ich kann ja nur in der jeweiligen Methode mit Zitat:
Noch mal zum Verständnis: Wenn ein Schuss einen Gegner trifft, soll der Gegner und der Schuss entfernt werden. Hoffe mal auf 'ne Antwort | ||
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Nov 2005
Beiträge: 548
|
Was ohne großen Umbau geht: steck jedes erzeugte Objekt zusätzlich in ein globales Array, gegen welches du jedesmal testen kannst. Das wird aber mit Sicherheit sehr langsam und fehleranfällig. Ein Graus woran du alles denken musst um ein Objekt zu löschen: Listener entfernen, Arrays updaten,... - wenn du davon was vergisst oder zu früh/spät/verkehrt machst, ist der nächste Crash sicher. Tendenz geht gegen unwartbar. Grundsätzlich wäre ein Szenenmanager (implementiert als Klasse) besser, der alle Objekte kennt, sich um sämtliche Kollisionen kümmert ("jeder gegen jeden" - auch da gibts bewährte Optimierungen) und die Objekte hinzufügt, bewegt, entfernt etc. Und nur ein Enter-Frame-Handler für die ganze Szene statt jedem Objekt seinen eigenen zu geben. |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: May 2011
Beiträge: 2
|
Hey, danke für die Antwort. Ich verstehe nur so halb wie du das meinst. Du meinst also ich soll eine neue Klasse erstellen in der dann die Objekte erzeugt werden, oder wie? Und brauch ich dann nicht auch dort mehrere Listener (einen Timer und einen MouseDown)? Kannst du mir da vielleicht ein kleines Beispiel zeigen? MfG |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| as3, e.target, flash, hittestobject, hittestpoint |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Flash CS5] hitTestObject - Problem | ValueTown | Flash Einsteiger | 6 | 26-08-2010 04:49 |
| [Flash CS4] Problem mit der Kollisionsabfrage hitTestObject | Lyssander | Flash Einsteiger | 8 | 25-05-2010 12:15 |
| Problem mit tell target :-(( | noni | Flash 4 und Flash 5 | 1 | 14-11-2001 00:10 |
| tell target problem | fgovaere | Flash 4 und Flash 5 | 2 | 17-10-2001 14:31 |
| Target Problem | cedot | Flash 4 und Flash 5 | 4 | 28-08-2001 14:54 |