Action Script ongelma

Flash aloittelija

Osaako kukaan neuvoa ongelmassa, jota en ymmärrä? Minulla on Flash sovellus, jonka kukin näyttö on erillinen SWF-tiedosto ja vaihdan näyttöjä lataamalla uuden tiedoston sisältämän MovieClipin tyhjän parent-näytön päälle. Yksi näytöistä on valikko sisältäen valikko-itemeitä, joiden valinta edellyttää fokusta kyseisellä itemillä. Mikäli fokus ei ole ennestään itemillä, itemin klikkaus ainoastaan siirtää fokuksen sille. Muussa tapauksessa siirrytään itemin osoittamalle näytölle. Aluksi fokus on oletus itemillä, joka ei ole aktiivinen. Kun valiko näytöllä ollaan ensimmäistä kertaa, niin kaikki toimii mainiosti. Kuitenkin päädyttäessä valikko-näytölle uudestaan, ei fokusta jostain syytä tarkasteta enää lainkaan, vaikka koodi on aivan sama sisältäen fokuksen tarkastavan ehtolausekkeen, vaan sovellus siirtyy seuraavalle näytölle riippumatta fokuksesta. Ohessa on kyseisen valikko näytön sorsat.

var focus:Number = 0;

this.createEmptyMovieClip("background_mc", this.getNextHighestDepth());
background_mc._x = 0;
background_mc._y = 0;

this.createEmptyMovieClip("default_focus_mc", this.getNextHighestDepth());
default_focus_mc._x = 15;
default_focus_mc._y = 80;

this.createEmptyMovieClip("foo_focus_mc", this.getNextHighestDepth());
foo_focus_mc._x = 15;
foo_focus_mc._y = 205;

this.createEmptyMovieClip("bar_focus_mc", this.getNextHighestDepth());
bar_focus_mc._x = 15;
bar_focus_mc._y = 460;

var loader:MovieClipLoader = new MovieClipLoader();

loader.loadClip("menu_view.png", background_mc);

updateDisplay();

function clearDisplay() {
  loader.loadClip("", default_focus_mc);
  loader.loadClip("", foo_focus_mc);
  loader.loadClip("", bar_focus_mc);
};

function updateDisplay() {
  clearDisplay();
  
  if ( focus == 0 ) {
    loader.loadClip("grid_highlight.png", default_focus_mc);
  }
  if ( focus == 3 ) {
    loader.loadClip("grid_highlight.png", foo_focus_mc);
  }
  if ( focus == 9 ) {
    loader.loadClip("grid_highlight.png", bar_focus_mc);
  }
};

var pressListener:Object = new Object();

pressListener.onMouseDown = function() {
  if ( _parent.MAIN_MENU == _parent.current_view ) {
    if ( 15 < _xmouse && 205 < _ymouse && 115 > _xmouse && 325 > _ymouse ) {
      if ( focus == 3 ) {
        _parent.setDisplay(_parent.FOO_SCREEN);
      }
      
      focus = 3;
    }
    
    if ( 15 < _xmouse && 460 < _ymouse && 115 > _xmouse && 585 > _ymouse ) {
      if ( focus == 9 ) {
        _parent.setDisplay(_parent.BAR_SCREEN);
      }
      
      focus = 9;
    }

    if ( 180 < _xmouse && 600 < _ymouse && 360 > _xmouse && 640 > _ymouse ) {
      _parent.setDisplay(_parent.MAIN_SCREEN);
    } else {
      updateDisplay();
    }
  }
};

Mouse.addListener(pressListener);

0

722

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000

      Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

      Luetuimmat keskustelut

      1. Natomaa hyökkäsi Iraniin

        Näemme nyt tällä hetkellä Natomaan nimeltä Yhdysvallat, joka toimii aika pitkälti perinteisen kansainvälisen lain ulkopu
        NATO
        719
        3174
      2. Trump aloitti III maailmansodan tänään.

        Narsisti ja mielipuoli Trump pitäisi saada pois, miten se onnistuisi parhaiten?
        Maailman menoa
        362
        2882
      3. Suvi Lindenillä 5 366 päivän putki

        Täytyy kyllä myöntää vaikka olen itsekin innokas, niin en ole tuollaiseen yli kymmenen vuoden putkeen kyennyt. Välillä o
        Maailman menoa
        69
        2698
      4. Mistä se kertoo

        Näin miehen pitkästä aikaa. Samantien iski sellainen paineen tunne rintaan, sitä ei ole ollut vuosiin. Ja nyt olen siitä
        Ikävä
        34
        2606
      5. Rakas tiedät, että toivoisin

        Kuulevani sinusta. Tiedät, että viestisi tekisi minut ihan onnelliseksi. Että äänesi kuuleminen saisi minut leijumaan ja
        Ikävä
        58
        2118
      6. Eräs on taas viettänyt kokoyön täällä!!

        Etkö sä nuku koskaan??
        Ikävä
        49
        1669
      7. Miksi rakastuit

        Kaivattuusi?
        Ikävä
        83
        1648
      8. Viesti miehelle

        Nyt vastaa oikea taa´app. Ainoastaan puhelimitse voidaan selvittää asioita, mutta tuskin sitä haluat kaiken halveeramise
        Ikävä
        13
        1641
      9. Nyt on sanottava että sattuu kipeästi

        Jos, sinä aikana kun olen kaivannut ja odottanut sinua ja olet tiennyt sen, niin jos valitsit toisen miehen. Katsot minu
        Ikävä
        18
        1639
      10. Teit asiat lopulta niin

        Ettei meillä ole ikinä mitään mahdollisuuksia toisiimme.
        Ikävä
        57
        1529
      Aihe