Avatar billede bingokaj Nybegynder
06. juli 2006 - 22:35 Der 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...

så hvad FANDEN gør jeg galt ?!?
Avatar billede mat Nybegynder
06. juli 2006 - 22:53 #1
Sådan virker det bare, du kan ikke "afmaske" knapper med grafik, men du kan slå knappen fra med:

knap.enabled = false;

hvor "knap" er instancenavn på din knap.

mvh mat
Avatar billede bingokaj Nybegynder
08. juli 2006 - 13:52 #2
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.
Avatar billede bingokaj Nybegynder
08. juli 2006 - 14:00 #3
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å ?
Avatar billede mat Nybegynder
08. juli 2006 - 18:32 #4
Det er svært at sige uden at vide hvordan det hele foregår - men mon ikke man kan udtænke et hack?
Avatar billede bingokaj Nybegynder
08. juli 2006 - 19:38 #5
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.
Avatar billede mat Nybegynder
09. juli 2006 - 00:00 #6
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?
Avatar billede bingokaj Nybegynder
09. juli 2006 - 14:56 #7
det er temmelig genialt det der - jeg fik det lige til at virke ved at gøre præcis som du sagde :-D

mange tak for hjælpen, det var guld værd!
Avatar billede bingokaj Nybegynder
09. juli 2006 - 14:56 #8
how doh, det er jo ikke mig der skal lægge et svar - smid et, så får du dine point
Avatar billede mat Nybegynder
09. juli 2006 - 18:40 #9
kewl :)
Avatar billede bingokaj Nybegynder
13. juli 2006 - 13:45 #10
there ya go :-D
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester