tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
799
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Igelkuesser Tutorials.de Gastzugang
    Hiho Flasher,

    hier mal eine Frage:
    Wie kann ich ein Ereignis aufrufen, wenn ein von mir per Tastatur gesteuerter MovieClip einen bestimmten Bereich auf einem Bild betritt?

    Konkret: Ich steuer eine Figur, und wenn diese vor einer "Tür" steht, wird ein Event aufgerufen, z.B. der Raum gewechselt.

    Eigentlich wollte ich es so lösen: (Code vom 1. Frame)
    Code :
    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
    
    var speed = 5;
     
    this.onEnterFrame = function() {
        if (Key.isDown(Key.UP)) {
            if(hero._y >= 60 ){
                hero._y -= speed;
            }
             setProperty(hero,_rotation, 180); 
        }
        if (Key.isDown(Key.DOWN)) {
            if(hero._y <= 240 ){
            hero._y += speed;
            }
            setProperty(hero,_rotation, 0); 
        }
        if (Key.isDown(Key.LEFT)) {
            if(hero._x >= 60 ){
                hero._x -= speed;
            }
            setProperty(hero,_rotation, 90); 
        }
        if (Key.isDown(Key.RIGHT)) {
            if(hero._x <= 440 ){
                hero._x += speed;
            }
            setProperty(hero,_rotation, 270); 
        }
     
        [B]if(hero._x <= 160 and hero._x >= 155 and hero._y <= 45 and hero._y >= 35){
            gotoAndStop(2);[/B]
        }
    };
    (Frame No. 2 wird aufgerufen, sobald die Position des MC in einem bestimmten Bereich ist)

    Aber das funktioniert nicht wirklich, der Depp springt mir schon beim Initialisieren zum 2. Frame. (Und nein, ich lasse ihn nicht dort starten...)

    Hat jemand eine Idee?
     

  2. #2
    Alaniak Alaniak ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    219
    trace doch mal die x und y position des MCs. Dann siehst ja wo er "steht"
     

  3. #3
    Igelkuesser Tutorials.de Gastzugang
    hm, problem 1 gelöst. Die Angaben waren tatsächlich falsch. Anscheinend ist die X- und Y-Angabe in der Entwicklungsumgebung nicht diesselbe wie im Flash selber. Nunja.

    Nächstes Problem:
    Damit er vom 2. Frame nicht wieder in den ersten springt, habe ich dort ein
    Code :
    1
    
    stop();
    eingefügt.
    Wenn ich das Flash starte, springt er immer noch sofort zum 2. Frame und stoppt.

    Wie kann ich es einrichten, dass die function() andauernd ausgeführt wird?
    Mit while(true) stürzt das Programm ab
     

  4. #4
    Alaniak Alaniak ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    219
    Ich hab das ganze mal getestet bei mir klappt das einwandfrei. Hast du im ersten und im zweiten Frame ein stop();?

    Ansonsten kannst du die fla auch mal hochladen.
     

  5. #5
    Igelkuesser Tutorials.de Gastzugang
    Ach... stop() beim 1. Frame vergessen :|

    .fla ist zu gross, aber es funktioniert ja Trotzdem noch die .swf im Anhang.

    Thx!
    Angehängte Dateien Angehängte Dateien
     

Ähnliche Themen

  1. Bild per Tastatur bewegen
    Von Death Overlord im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 26.12.09, 14:56
  2. Tastendruck als Ereignis C#
    Von Basti18 im Forum .NET Windows Forms
    Antworten: 8
    Letzter Beitrag: 17.11.09, 20:31
  3. Bild mit Tastatur bewegen
    Von Eisblume166 im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 05.06.09, 14:38
  4. ActiveX DLL und ereignis
    Von galdasc im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 01.06.04, 22:05
  5. Ereignis ID 208
    Von mvbruch im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 08.04.04, 12:56

Stichworte