![]() |
[Flash MX]Easing Menu System
Ik heb een Flash animatie gemaakt waarbij ik deze code heb gebruikt/gejat.
Ik ben niet zo ontzettend goed met actionscript, maar ik wil de code aanpassen. Ik wil:
Dus voor de duidelijkheid: als ik alleen de onRelease zou vervangen door een rollover, dan zou de content blijven staan op de bijbehorende knop waar de muis het laatst overheen is geweest. Dat is dus niet de bedoeling, de content zou dan terug moeten springen naar de content van de knop waar het laatst op geklikt is... Heeft iemand enig idee hoe ik dit het beste kan aanpakken? |
ehm ik snap je niet?
|
Je kunt bijvoorbeeld onRollOver of onRollOut gebruiken?
|
Daar was ik al bang voor...
Dit is de exacte code die ik gebruik: Code:
onClipEvent (load) { Over verdere werking van het script zou ik graag willen verwijzen naar deze site , waar ik het script vandaan heb. Zoals het script nu is (zie voorbeeld op die site) verschuift het contentframe (de movieclip die deze code bevat) netjes omhoog/omlaag als er op 1 van de 7 knoppen wordt geklikt, waarbij in de mask waarachter de movieclip beweegt het bijbehorende icoontje wordt laten zien. Wat ik wil is dat er bij een onMouseOver het contentmovieclipje beweegt (dus ipv bij een onRelease). Dat heb ik inmiddels voor elkaar gekregen (door onRelease te vervangen door onRollOver). Het enige wat er nu nog moet gebeuren is dat als je "mouse out" van een knop het contentmovieclipje teruggaat naar de positie die hoort bij de knop waar het laatst op geklikt is. Dus: stel je klikt op de knop met label pix, het contentmovieclipje verschuift zijn y-positie met -280 pixels. Maar als je dan met je muis over bijvoorbeeld news gaat (de content verplaatst zich dan weer) en je gaat daarna met je muis over geen enkele knop meer (dus je "mouse out"), dan moet de content terug gaan naar -280 (dus naar het pix icoontje). Dat laatste gebeurt nu dus niet, de content blijft staan op de positie van de bijbehorende knop waar de muis het laatst overheen gegaan is. Ik hoop dat het nu duidelijk is...ik denk niet dat ik het duidelijker kan uitleggen. De mensen die alleen al de moeite nemen dit allemaal te lezen ben ik zeer dankbaar, de mensen die dan ook nog s met een oplossing komen ben ik ontzettend dankbaar :) |
haha zozo dat is denk nog niet eens zo makkelijk...
wat je moet je doen is je buttons een variable meegeven...en wanneer je dan rollout doet dan moet hij naar die variable kijken terug springen...hmm ik ga er is ff over nadenken :) |
Dat doet me deugd. Je komt in de "met dank aan"-lijst te staan als je een werkende code weet te bedenken ;).
Ik zat zelf aan zoiets te denken: Per knop moet de code uit 3 delen bestaan:
Daarna moet er een vergelijkbaar stukje code komen die verteld wat er moet gebeuren bij een onRollOver, ik denk met een andere variabele "rollY" ofzo, alleen moet deze variabele wel in dezelfde formule gebruikt worden: Code:
onClipEvent (enterFrame) { En tenslotte een stukje code die zegt wat er moet gebeuren bij een onRollOut, namelijk de "rollY" variabele krijgt dan de waarde van "endY" zodat de content teruggaat naar zijn laatste onRelease positie... Ik heb geen idee of dit een efficiente methode is en of het uberhaupt haalbaar is...maar met mijn beperkte kennis is dit het enige wat ik kan bedenken... Owja, en ik heb alleen 's avonds de mogelijkheid het uit te proberen, omdat ik hier op stage geen Flash heb... |
Oew, ik heb nog s over je voorstel gedacht:
Citaat:
Je zet een constante waarde in de knop (de y-positie van de bijbehorende content, bijvoorbeeld "buttonY"). In de content zet je dan bij een _root.knopnaam.onRelease endY = buttonY _root.knopnaam.onRollOver endY = waarde (niet verwijzen naar die buttonY) _root.knopnaam.onRollOut endY = buttonY Alleen moet de onRollOver een soort van voorrang krijgen t.o.v. onRelease en onRollOut... Pff, nouja, ik laat het aan jou over Chilli Dude... |
mja ik kan ook alleen s'avonds want overdag op me stage geen tijd om dit te fiksen :p kan je mij misschien je .fla mailen?
|
rechts aan (right on) dude...
|
zelda <3 oh ehm ik ga ff t script bekijken :p het gaat om die dingen onderaan neem ik aan?
|
Ja, t script staat in dat onderste mask.
Gisteren heb ik nog wat dingen geprobeerd, en misschien is het een idee om ipv een onRollOut een "if get.mouse.position.x > 200" (dit zal waars niet actionscript verantwoord zijn, maar je snapt het non?). Dus dat de content terugspringt naar de laatste onRelease als de muis een bepaalde x-waarde overschrijd. Jammer dat ik hier vanmorgen pas opkwam, anders had ik het nog kunnen proberen. |
Chilli Dude, het is me gelukt! Ik hoop niet dat je heel hard bezig was ofzo...toch bedankt voor de moeite.
Jij hebt wel een plaatsje in mijn "thanks to:" lijst verdient ;) Dit is de werkende code: Code:
onClipEvent (load) { |
netjes netjes, hmnee was nog niet heel erg er aanbegonnen maar wel begin gemaakt :) en kwam idd op t zelfde neer als wat jij daar hebt (y) goed dat je het zelf heb gefixt! Leer je veel van :)
|
Sjit ja...en je voelt je ook ff heel erg goed :)
|
Alle tijden zijn GMT +1. Het is nu 16:49. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.