Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-09-2005, 18:48   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 2
hit test zu langsam ??

hi
ich schreib grad an nem kleinen space-shooter

dabei werden die gegner und die schüsse per attachmovie geladen und je per onClipEvent (enterFrame) bewegt.
jetzt will ich dass wenn ein schuss einen gegner trifft beide mc's gelöscht werden .
probiert hab ich das so:
im schuss_mc:
ActionScript:
  1. onClipEvent (enterFrame){  
  2.         var a = _root.anzahl.text;// gesamtanzahl der gegner wird a zugewiesen
  3.     for (i=1; i<=a; i++) {
  4.         //alle gegner werden auf hit durchsucht  
  5.                    if (this.hitTest(_root["gegner"+i].hitarea)) {
  6.                            //mc's werden gelöscht
  7.                _root["gegner"+i].removeMovieClip();
  8.                removeMovieClip(this._parent);
  9.         }
  10.     }
  11. }
das funktioniertauch einwandfrei mit wenigen gegnern
werdens mehr (ich hab 15 ausprobiert) hängt er und der flashplayer wird überlastet (meldung)

So jetzt die Frage:

gibt es einen einfacheren, schnelleren, oder einfach besseren Weg



thanks schonmal in vorraus
mobiler_hamster

Geändert von mobiler_hamster (15-09-2005 um 18:50 Uhr)
mobiler_hamster ist offline   Mit Zitat antworten
Alt 15-09-2005, 21:27   #2 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Wie hoch ist/wird den a bzw. _root.anzahl.text;? Wird das auch wieder zurückgesetzt?
Wenn nicht, wird die for-Schleife wohl zu lang werden

Vielleicht besser die gegner_mc überprüfen lassen, ob sie den schuss_mc berühren. Die haben ja sowieso 'nen onEnterFrame, wenn ich deinen Ansatz richtig verstanden habe und wenn die dann weg (durch oder abgeschossen) sind, ist auch deren Prüfroutine weg und belastet nicht weiter.
__________________
www.rena-hermann.de

The angels have the phone box
rena ist offline   Mit Zitat antworten
Alt 16-09-2005, 13:23   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 2
HI
also maximal dacht ich an 20 - 25 gegner (also a)
(ja wird natürlich beim unload der gegner zurückgesetzt)

und dadurch , dass ich ja mit meinem schiff unendlich viele schüsse abgeben kann würde doch die schleife für alle schüsse noch gößer werden als wenn ich mit dem einzelnen schuss alle gegner check (beide haben nen onClipEvent ( enterFrame))
oder??

Geändert von mobiler_hamster (16-09-2005 um 13:24 Uhr)
mobiler_hamster ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 16:16 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele