Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-08-2007, 13:35   #1 (permalink)
AS3Transformator
 
Benutzerbild von eLem3ntx
 
Registriert seit: Jun 2007
Beiträge: 50
Question hittest abfrage bei mehreren objekten

Hi liebe Flash'ler
Also ich bau garade ein neues Spielchen indem man eine Art kanone mit der Maus steuert und objekte abschießen muss, aus der kanone kommen kleine projektile raus.
Nun mit einem gegnerischem objekt ist dass ja noch einfach also hittest(dass_eine_objekt) aber wenn ich nun 50 solche objekte habe die so heißen enemyA1, enemyA2, A3, ...., wie soll ich dass dann machen?
Viele hittest's untereinander schreiben oder den hittest in eine Forschleife rein?
Oder vielleicht kann man eine Attach reihe Gruppieren sodass man nur abfrgaen muss ob er z.B. enemyAgroup berührt?

Hoffe ihr könnt mir helfen, vielen dank im vorraus -> eLem3ntx
(Der hittest ist in den projektilen)
__________________
Lantian Design - Play Defend the Village, watch great Movies and much more

Geändert von eLem3ntx (20-08-2007 um 13:49 Uhr)
eLem3ntx ist offline   Mit Zitat antworten
Alt 20-08-2007, 14:20   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Du kannst alle Enemys in einen MovieClip
packen und dann mit diesem einen hitTest
durchführen.
Dadurch bekommst Du allerdings nur raus,
ob ein Enemy berührt wurde und nicht wel-
cher. Wenn Du das dann auch noch rausbe-
kommen möchtest, mußt Du nachträglich
tatsächlich eine hitTest-Schleife ausführen.

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 20-08-2007, 14:45   #3 (permalink)
AS3Transformator
 
Benutzerbild von eLem3ntx
 
Registriert seit: Jun 2007
Beiträge: 50
Hmm schade gehts wirklich nicht anderst?
Weil dann hätte ich dass ganze so gelößt, aber es ging iwi nicht:
PHP-Code:
for (i=0i<10i++) {
 if (
this.hittest(_root.enemyA[i])) {
  
_root.enemyA[i].explode 1;
 }

Nun was hab ich flasch gemacht? eig. müsste es ja gehen oder?

edit:
Ok habs hinbekommen falls es jemand interresiert:
PHP-Code:
    for (010i++) {
        
test 'enemyA'+i;
        if (
hitTest(_root[test])) {
            
_root[test].explode 1;
            
hit 1;
        }
    } 
__________________
Lantian Design - Play Defend the Village, watch great Movies and much more

Geändert von eLem3ntx (20-08-2007 um 17:25 Uhr)
eLem3ntx ist offline   Mit Zitat antworten
Alt 02-09-2007, 16:27   #4 (permalink)
AS3Transformator
 
Benutzerbild von eLem3ntx
 
Registriert seit: Jun 2007
Beiträge: 50
Gruppen hittest abfrage

Hmm also erstmal sorry für Doppelpost aber ich denke es ist besser als ein komplett neuer Threa
Nun folgendes Problem: Ich möchte es nun auchmal mit einer Gruppierung versuchen, so wie es gaspode gesagt hatte, da ich mit meiner hittest abfragen schleife nun zu "mehreren" Laggs komme^^
Nun irgendwie funzt dass Script aber nicht, also ich habe einen Movieclip erstellt namens "shootgroup" in diesem movieclip werden per attachmovie einzelne "shoot" 's erstellt nun möchte ich mittels hittest abfragen ob irgendein Objekt mit irgendeinem Objekt in der shootgroup kollidiert.
Hier die hittest abfrage, aber leider passiert nichts:

PHP-Code:
if (_root.shootgroup.hitTest(_parent._x,_parent._y,true)) { 
Nun habe ich rausbekommen dass wenn ich etwas in shootgroup hineinmale und dass Objekt das gemalte berührt geht es aber wenn ich dass gemalte "attachen" lasse funktioniert es nicht :'(

Hoffe ihr könnt mir weiterhelfen...
Vielen Dank im Vorraus
__________________
Lantian Design - Play Defend the Village, watch great Movies and much more

Geändert von eLem3ntx (02-09-2007 um 16:43 Uhr)
eLem3ntx ist offline   Mit Zitat antworten
Alt 02-09-2007, 19:46   #5 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
Zitat:
Zitat von eLem3ntx Beitrag anzeigen
mittels hittest abfragen ob irgendein Objekt mit irgendeinem Objekt
hitTest prüft nur punkt in umgrenzendes-rechteck oder punkt in fläche.

fläche/ fläche geht ab flash8
http://www.seibsprogrammladen.de/fra...ispiele/flash8
-> hitTest
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 03-09-2007, 11:01   #6 (permalink)
AS3Transformator
 
Benutzerbild von eLem3ntx
 
Registriert seit: Jun 2007
Beiträge: 50
Hmm geht leider net -> "unexpected file format"
Aber ich versteh nicht ganz warum es funzt wenn ich die sachen schon direkt "hinzeichne" aber wenn ich die Objecte "hin attache" dann geht es nicht 0.o?

€dit:
Sodelchen habs hinbekommen es war ein kleiner aber feiner fehler
Nämlich: Ich hatte beim attachen des shoots vergessen es in die shootgroup zu machen 0.o

Aber nun wieder ein neues Problem, denn es passiert nur was wenn ich die genauen _x und _y koordinaten treffe, jedoch will ich dass es kollidiert wenn ich dass gesamte objekt treffe, hab da dann auch ein kleines Script aber dass funzt iwi nicht richtig:
PHP-Code:
if (_root.shootgroup.hitTest(_parent.getBounds(_root).xMax _parent._ytrue) || _root.shootgroup.hitTest(_parent.getBounds(_root).xMin_parent._ytrue) || _root.shootgroup.hitTest(_parent._x_parent.getBounds(_root).yMaxtrue) || _root.shootgroup.hitTest(_parent._x_parent.getBounds(_root).yMintrue)) { 
Hoffe ihr könnt mir behilflich seine, danke eLem3ntx
__________________
Lantian Design - Play Defend the Village, watch great Movies and much more

Geändert von eLem3ntx (03-09-2007 um 11:20 Uhr)
eLem3ntx 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:17 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele