06. juli 2006 - 22:35Der er
9 kommentarer og 1 løsning
movieclip der får mouseevent uanset depth
Hej Alle,
Her er en haster med gode point til de hurtige :-)
jeg har en temmelig omfattende flash-fil, hvori der bl.a. ligger et movieclip, der fungerer som en usynlig knap (kaldet "wizardKnap"). Den har følgende funktion tilknyttet:
on (release) { trace(this.getDepth()); trace(_root.wizGameTarget.getDepth()); }
I et separat layer ovenover movieclippet ligger et andet mc, der loader en ekstern swf ind via actionscript (kaldet "wizgameTarget"). Mit problem er at når jeg loader den eksterne swf ind, så kan jeg stadig klikke på wizardKnap'en, selvom den er fuldstændig dækket af den eksterne swf jeg har loadet ind.
UANSET hvad jeg placerer henover wizardKnap (andre movieclips, grafik, etc), så får jeg et mouseevent på den. Også uanset hvordan jeg flytter rundt på mine layers. Jeg har endda prøvet at slette knap-movieclippet og oprette det på ny.
Jeg tjekkede depth på både min knap og på det mc der loader den eksterne swf. WizardKnap har -16374 og WizGameTarget har -16372, så WizardKnap burde jo ligge under WizGameTarget...
1. hmm, men det er jo ikke en knap, men et movieclip? Flash plejer da at være sådan, at det altid kun er det øverste layer der får fokus (forudsat der ikke er "hul" i det)???
2. jeg kan godt disable knappen via actionscript når brugeren loader den eksterne swf, men da brugeren skal fuldføre en opgave i den eksterne swf-fil jeg loader ind (det er et lille spil), så kan jeg ikke detecte hvornår brugeren er færdig med opgaven og enable knappen igen...
Jeg har desværre ikke adgang til den oprindelige .fla-fil til den eksterne swf, så jeg kan ikke rette i den. Det hele skal løses i den flash-fil der bruges til at loade den eksterne swf.
tjekkede det lige i flash - du har sgu' ret, man kan ikke dække en knap med et mc. Det er fandeme da bindegalt og fuldstændig ulogisk...! er der ikke en måde man kan snyde det på ?
den eksterne swf fungerer på den måde at den indeholder en masse mc's - hver med et billede af diverse objekter (en krukke, en hylde, etc) som man så skal trække hen på de rigtige steder for at løse spillet. Hvis man laver den rigtige kombination, spilles der en lille animation og en rumraket (som er placeret henover min knap) flyver væk og afslører at der er en dør bagved. Dvs. at det helst skal kunne trigges af at raketten flyver væk... det er derfor det ville være supersmart hvis den bare kunne dække over knappen og så flyve væk.
Et gæt; Du kan finde ud af hvad rakettens instancenavn er (evt med en decompiler), og så opsætte en tom onPress eventhandler på denne, og fjerne "hånd"-cursoren fra den. Så vil rakettens event "override" knappens, indtil den er væk?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.