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);
Action Script ongelma
Flash aloittelija
0
806
Vastaukset
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Eläkeläiset siirrettävä muuttotappioalueille
Joutoväki pois ruuhkauttamasta elättäjien arkea. Samalla putoaa jokaisen asumiskulut ja rahaa jää enemmän kuluttamiseen.4283181SDP pelastaa uppoavan Suomen
2027 kun SDP voittaa ylivoimaisesti vaalit alkaa Suomen uusi raju syöksy kohti täystyöllisyyttä ja turvallisempaa yhteis842446Kauppalehti - Törkeä skandaali paljastui: Espanja käytti EU-rahoja ihan muuhun kuin piti
Espanja on käyttänyt miljardeja euroja EU:n elpymisavustuksia eläkkeisiin ja sosiaalimenoihin – ja pyytää lisää. Espanj802063Jopa Espanjassa talous kasvaa, Purra vain irvistelee
Huomaa kuinka Purra on Suomen historian huonoin miniseteri, joka ei ole saanut aikaiseksi kuin tuhoa, Siis jopa vasemmis1261783- 1431667
Jääkiekon MM:t pitää siirtää MTV:ltä Ylelle
Persuille ikäviä uutisia taas. . Valtioneuvoston asetuksen mukaan MM-kisat kuuluvat kansallisesti merkittäviin tapahtumi161362- 761329
Raiskaukset loppumaan?
Onko kenelläkään tiedossaan tuloksellisia keinoja saada väkisinmakaaminen loppumaan tai edes vähenemään? Lainsäädännön2951135Tsemii Pete ja Linda! Tässä tärkeät kellonajat Euroviisut-viikon ohjelmista tv:ssä!
Euroviisut järjestetään Wienissä Itävallassa 12.-16. toukokuuta. Tsemii Pete ja Linda kisaan! Vetäkää Suomelle voitto Li181111Uuden upotuskasteen vaiettu ongelma
Alkuseurakunnan kaste oli useamman vuosisadan upotuskaste, joka toimitettiin joko ulkona luonnon vesistöissä tai kasteki1021059