+ Antworten
Ergebnis 1 bis 5 von 5

Thema: [MX 2004] Kollisionsabfrage mit hitTest

  1. #1
    TP-Senior Angie3007 ist auf einem guten Weg Avatar von Angie3007
    Registriert seit
    Feb 2006
    Beiträge
    105

    [MX 2004] Kollisionsabfrage mit hitTest

    Guten Abend zusammen,

    ich habe jetzt so viel über hitTest nachgelesen, aber ich kapiere es einfach nicht. Ich meine, was da geschieht schon, aber die Umsetzung bereitet mit Schwierigkeiten.

    Mein Ziel ist es mit einem Schiff von Mittelamerika nach Europa zu "segeln". Wenn ich Europa auf der Karte getroffen habe, wechselt dieser Kontinent die Farbe.

    Im ersten Bild liegt auf verschiedenen Ebenen die Weltkarte, der Movieclip "Schiff" und der Movieclip "Europa". Das Schiff habe ich mit startDrag und stopDrag schon angesprochen, das funktioniert auch ohne weiteres. Da das Bild der Weltkarte ja aus einem Stück besteht, habe ich den Teil Europa mit dem unsichtbaren Movieclip "Europa" belegt, d.h. ein Rechteck ohne Füllung gezeichnet und die Kontur auf einen Alphawert von 0 runtergezogen damit er unsichtbar bleibt.

    Wenn das Schiff Europa trifft, soll auf Bild 2 der Zeitleiste gesprungen werden, in dem Bild ist Europa dann rot markiert.

    Die hitTest-Abfrage habe ich formuliert und mit bestimmt ein Dutzend Varianten probiert, die bleiben aber ohne Wirkung.

    Wo liegt mein Fehler?

    Gruß Anja
    Geändert von Angie3007 (11.10.2007 um 22:46 Uhr)

  2. #2
    TP-Moderator Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Avatar von Wanderratte
    Registriert seit
    Mar 2002
    Beiträge
    5.487
    Hallo
    du hast die Verschachtelung nicht beachtet.
    PHP-Code:
    on (press) {
        
    startDrag(thistrue);
    }
    on (release) {
        
    stopDrag();
        if (
    this.hitTest(this._parent.Europa)) {
            
    this._parent.gotoAndStop(2);
        }

    Die Abfrage greift aber erst, wenn du die Maustaste losgelassen hast.
    Willst du die eine ständige Überprüfung musst du dieses Script anwenden
    PHP-Code:
    on (press) {
        
    startDrag(thistrue);
    }
    on (release) {
        
    stopDrag();
    }
    onClipEvent (enterFrame) {
        if (
    this.hitTest(this._parent.Europa)) {
            
    this._parent.gotoAndStop(2);
        }

    Gruß

    Wanderratte
    Gebildet ist,
    wer weiß,
    wo er findet,
    was er nicht weiß.

    4bugs
    Home
    Amazon Wunschzettel

  3. #3
    TP-Senior Angie3007 ist auf einem guten Weg Avatar von Angie3007
    Registriert seit
    Feb 2006
    Beiträge
    105
    Hallo Wanderratte,

    super, es klappt einwandfrei. Ich danke Dir.

    Es ist nicht das erste Mal, daß mir die Verschachtelung und das Ansprechen von Movieclips Probleme bereitet. Ich wünschte, ich würde mal so ein "Doofie-Glossar" finden, indem drin steht, wann man _parent, _root etc. bei welcher Art von Verschachtelung benutzt.

    Aber mit Deiner Hilfe bin ich jetzt schon mal ein super Stück weiter.

    Gruß Anja

  4. #4
    TP-Moderator Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Avatar von Wanderratte
    Registriert seit
    Mar 2002
    Beiträge
    5.487
    Hallo,

    ich versuche es mal dir zu Erklären
    _root verweist auf _level0 das ist das Level, wenn du Flash aufmachst.
    Wir nehmen mal an, du hast zwei MCs auf der Bühne mit den Instanznamen:
    Clip_1 und Clip_2
    in jedem der Clips ist nochmal ein MC Clip_unter_1 und Clip_unter_2.
    Jetzt willst du aus irgendeinem Grund aus mit Clip_unter_1 der im Clip_1 ist, den Clip_unter_2 steuern der sich im Clip_2 befindet.
    Dann schreibst du _root.Clip_2.Clip_unter_2.macheDasundDas weil Clip_1 und Clip_2 auf der root Ebene liegen.

    _parent benutzt du wenn nur eine Ebene höher willst, so wie bei deinem Beispiel, damit gehst du aus dem MC herraus eine ebene höher und kannst damit den zweiten Mc in deinem Fall Europa ansprechen.

    Zum besseren Verständnis gucke dir mal den Anhang an
    Angehängte Grafiken  
    Gruß

    Wanderratte
    Gebildet ist,
    wer weiß,
    wo er findet,
    was er nicht weiß.

    4bugs
    Home
    Amazon Wunschzettel

  5. #5
    TP-Senior Angie3007 ist auf einem guten Weg Avatar von Angie3007
    Registriert seit
    Feb 2006
    Beiträge
    105
    Hallo Wanderratte,

    das hilft mir jetzt mal richtig weiter. Deine Grafik habe ich auch schon direkt in meinem Flash "Notfallköfferchen" abgespeichert.
    Herzlichen Dank für Deine Mühe! Ist wirklich nicht selbtsverständlich.

    Gruß Anja

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51