mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 23.04.2024 12:18 Benutzername: Passwort: Auto-Login

Thema: hitTest - Problem vom 20.03.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> hitTest - Problem
Autor Nachricht
schibbie
Threadersteller

Dabei seit: 20.03.2006
Ort: -
Alter: 47
Geschlecht: Männlich
Verfasst Mo 20.03.2006 16:03
Titel

hitTest - Problem

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen,
Ich habe folgendes Problem: Habe mehrere Drag-Elemente in einen MC integriert, welcher auf der Bühne gescrollt werden kann. Auf der Hauptbühne liegen 3 MCs, die als hit-Bereich dienen sollen, sprich: da sollen die Drag-Elemente andoggen (Instanznamen: hit_1, hit_2, hit_3). Folgende Aktion habe ich den Drag-Elementen zugewiesen:


Code:
on (press) {
    startDrag(this, true);
}
on (release) {
    stopDrag();
    if (this.hitTest(_root.hit_1) == true) {
        this._x = _root.puzzlex;
        this._y = _root.puzzley;
    }
    if (this.hitTest(_root.hit_2) == true) {
        this._x = _root.puzzlex+50;
        this._y = _root.puzzley;
    }
    if (this.hitTest(_root.hit_3) == true) {
        this._x = _root.puzzlex+100;
        this._y = _root.puzzley;
    }
}



... puzzlex und puzzley sind auf der Hauptbühne definiert. Jetzt funktioniert zwar die Dragfunktion, aber nicht der hitTest.(dieser funktioniert nur, wenn die Dragelemente direkt auf der Bühne liegen) Was mache ich falsch?
viele Grüße

schibbie
  View user's profile Private Nachricht senden
meral

Dabei seit: 11.02.2006
Ort: München
Alter: 47
Geschlecht: Weiblich
Verfasst Do 23.03.2006 01:10
Titel

schreib mal die hittest

Antworten mit Zitat Zum Seitenanfang

Schreib mal das Hittest in die Hauptzeitleiste.

So ungefähr:
Code:

this.puzzlex.onPress = function() {
   if (this.hitTest(_root._xmouse, _root._ymouse, false)) { // Wenn mc puzzlex den Mauszeiger berührt...
      this.startDrag(false); // ... dann wird puzzle_x an die Maus gehängt
   }
}

this.puzzlex.onRelease = this.puzzlex.onReleaseOutside = function() { // Maustaste wird losgelassen
   this.stopDrag(); // Stoppt das Ziehen des mc
   if (this.hitTest(hit_1)) { // Wenn der mc puzzlex jetzt den mc hit_1 berührt...
      puzzlex._x = hit_1._x; // ... dann setze den mc puzzlex auf die Koordinaten
      puzzlex._y = hit_1._y; // des mc hit_1
      }
};

this.puzzley.onRelease = this.puzzlex.onReleaseOutside = function() { // Maustaste wird losgelassen
   this.stopDrag(); // Stoppt das Ziehen des mc
   if (this.hitTest(hit_1)) { // Wenn der mc puzzlex jetzt den mc hit_1 berührt...
      puzzley._x = hit_1._x; // ... dann setze den mc puzzley auf die Koordinaten
      puzzley._y = hit_1._y; // des mc hit_1
      }
};


Für das nächste hitfeld (hit_2) schreibst Du das gleiche, alles in einen frame auf der HZL.

Ich weiß nicht ob Dir das hilft, aber ich finds praktischer, die aktionen in eine Ebene zu schreiben, dann kann man sie leichter verändern.

Hast Du ne .fla zum ankucken?

Gruß. Meral
  View user's profile Private Nachricht senden
Anzeige
Anzeige
 
Ähnliche Themen HitTest Problem
(Flash 8) - hitTest Problem!
[Flash MX 2004] - kombination aus hitTest und onRollOver?!
Formmailer-Problem-neues problem
Problem mit Ton
Problem mit div
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Multimedia


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.