Jeg har en menu, med undermenuer. Jeg ønsker at menuen skal "tilbage til start" ved rollout af stage'en, evt. med en 10 pixels inde hele vejen rundt.
Jeg har fosøgt mig med en stor usynlig knab, der ligger nederst, men den opfatter en rollover på en overliggende knab som et rollout, og det konflikter.
Kan man lave det med mouse trace, og i såfald hvordan? Eller er der andre forslag?
Smid en adresse og jeg sender en staveplade med posten ;o)
Den nemme løsning kunne være at lave en 10 px knap hele vejen rundt i kanten af din stage og kalde onRollOver på den. Det er naturligvis ikke det fedeste for folk med digitizere og løsningen er ikke 100% skudsikker med mus - hvis man bevæger den vildt hurtigt, bliver onRollOver ikke kaldt. Men det var en ofte set løsning i pre-MX æraen.
En anden løsning er, som du selv er inde på, at smide et tjek ned i en onEnterFrame eller en onMouseMove, der kigger på om musen er inde på stagen. Vælger du ikke den første løsning, så sig til, så er det ikke utænkeligt at jeg i løbet af dagen får tid til at skrue sådan en sammen.... (jeg har nemlig på fornemmelsen at det kræver en smule motionering af de små grå for at få den til at virke optimalt)
OK, det fungerer. Men det er et for stort problem at man kan bevæge musen henover knappen hurtigt, uden der sker noget. Det sker mist hver anden gang i test, selvom frameraten er 30.
Det ville være monster kewl, hvis du kunne skrue noget optimal kode sammen. På forhånd tak.
Det kunne sikkert laves lidt mere smart, men prøv om den her gør det:
var kant:Number = 10; // bredden på kanten this.onMouseMove = function() { // Hvis musen er enten til højre eller venstre for stage if(this._xmouse < kant || this._xmouse > (Stage.width - kant)) { trace("udenfor x"); // goto et eller andet } // Hvis musen er ovenfor eller nedenfor stagen else if(this._ymouse < kant || this._ymouse > (Stage.height - kant)) { trace("udenfor y"); // goto et eller andet } else { // Alt er ok } }
Lægger gerne et svar, men vi må da hellere få det til at virke?
Smider du scriptet i en frame? Og bliver der slet ikke tracet noget ud i output vinduet? (du kan forresten i Flash minimere vinduet ved at klikke på "de to firkanter" ved siden af krydset oppe i højre hjørne - på den måde simulerer Playeren den aktuelle størrelse på filmen)
Synes godt om
Ny brugerNybegynder
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.