1&1 Webhosting
Flashhilfe.de - Flash Community

Einfache Kollisionsabfrage funktioniert nicht [Flash 10]

Forum > ActionScript 3.0 > Einfache Kollisionsabfrage funktioniert nicht

 


AntwortenRegistrieren Seite1  

 13.02.2011, 11:14 
Beiträge: 61
Registriert: Dec 2010

Einfache Kollisionsabfrage funktioniert nicht
Hallo,

ich versuche mich gerade an einer Kollisionsabfrage in AS3, aber es will einfach klappen. Ich habe ein sehr vereinfachtes Beispiel, dass ich hochladen werde, bei dem per Drag and Drop ein Moviclip auf einen anderen verschoben werden kann, und sobald diese übereinandertreffen, soll eine Aktion stattfinden (im Beispiel soll zum nächsten Schlüsselbild gesprungen werden) Würde mich freuen, wenn sich jemand die Datei ansehen könnte, schon jetzt vielen Dank!
Geändert von grafikuser am 13.02.11 um 11:14 Uhr

 14.02.2011, 21:14Re1
Benutzerbild von Kerstin77
Beiträge: 924
Registriert: Jul 2008

Hallo,

speicher mal bitte als CS4, dann ist die Chance auf Hilfe größer ;-)

Grüße,
Kerstin
Wer Rechtschreibfehler findet, darf sie gerne behalten.
 14.02.2011, 21:18Re2
Beiträge: 61
Registriert: Dec 2010

Themenautor/in

Oh klar, hab ich nicht dran gedacht ;-)
Geändert von grafikuser am 14.02.11 um 21:18 Uhr

 
nicht sichtbar bei eingeloggten Mitgliedern
 14.02.2011, 21:41Re3
Benutzerbild von Kerstin77
Beiträge: 924
Registriert: Jul 2008

Hallo,

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
stop();

test.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
function fl_ClickToDrag(event:MouseEvent):void {
     stage.addEventListener(Event.ENTER_FRAME, kollision);
     test.startDrag();
}

stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
function fl_ReleaseToDrop(event:MouseEvent):void {
     stage.removeEventListener(Event.ENTER_FRAME, kollision);
     test.stopDrag();
}

function kollision(evt:Event):void {
     if (test.hitTestObject(testzwei)) {
        stage.removeEventListener(Event.ENTER_FRAME, kollision);
        gotoAndStop(2);
     }
}


Jetzt kommt allerdings noch ein Nullobjekt-Verweis, aber warum da steh ich grad selbst ein wenig auf dem Schlauch...

Grüße,
Kerstin


Edit / so funktioniert es fehlerfrei:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
stop();

var weiter:Boolean = false;

test.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
function fl_ClickToDrag(event:MouseEvent):void {
     stage.addEventListener(Event.ENTER_FRAME, kollision);
     test.startDrag();
}

stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
function fl_ReleaseToDrop(event:MouseEvent):void {
     stage.removeEventListener(Event.ENTER_FRAME, kollision);
     test.stopDrag();
     if (weiter) gotoAndStop(2);
}

function kollision(evt:Event):void {
     if (test.hitTestObject(testzwei)) {
        weiter = true;
        test.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_UP));
     }
}
Wer Rechtschreibfehler findet, darf sie gerne behalten.
Geändert von Kerstin77 am 14.02.11 um 21:45 Uhr

 14.02.2011, 21:54Re4
Beiträge: 61
Registriert: Dec 2010

Themenautor/in

Perfekt, vielen Dank dafür. Das Script werde ich mir morgen mal näher zu Gemüte führen ;-)
 
Themen
Ähnliche Beiträge zum Thema
 

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.
Partner Webseiten: DesignerInAction.de   Designnation.de   Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   PSD-Tutorials.de   Tutorials.de

Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2012 Sebastian Wichmann - Flashhilfe.de