Archief - Menu probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Marcooo

Legacy Member
Hey iedereen.
Ik ben bezig aan mijn 2de site voor mijn portfolio en nu ken ik wel wat van flash maar wat mijn menu's betreft zit ik toch vast. Het betreft deze menu: http://www.fastwebdev.be/v2

De bedoeling is dus als je over een menu hoverd dat hij uitkomt zoals te zien is bij de eerste #menu 1 en wanneer er niet meer gehoverd word deze weer mooi terug naar binnen toe gaat. Het lijkt simpel, maar ik zit er toch al 2 dagen mee te kloten en het lukt niet bepaald. Nu leer ik graag bij dus dacht ik hier eens te vragen of iemand mij hierbij kan helpen?

Alvast bedankt!

j design

Legacy Member
the easy way:
met rollover naar een 2e frame laten gaan waar een tween begint zodat hij "uitschuift"
bv tot frame 15 "uitgeschoven" en dan bij een rollout naar frame 16 waarop een tween begint naar de "ingeschoven" stand die terug doorloopt naar frame1 waar ook een stop staat

the short easy way:
er is een code ivm MooMooTools (k denk toch dat het zo was) waarmee je met enkel code de MC kan verplaatsen. tween.to enzo en elastic out enzo
Als je deze manier wil gebruiken zet ik het wel ook eens online.

Zoals je wil

H4D3S

Legacy Member
op te lossen met Actionscript, gewoon de Tweening classes gebruiken :
Voor AS2 en AS3 ligt het wel wat anders :

AS2:
Code:
import mx.transitions.Tween;
import mx.transitions.easing.* ;

// in de rolloverstate van u movieclip ( uw menuitem ) :

myMenuItem.onRollover = function()
{
new Tween( movieClip, parameter ,  easingFunction ,  fromValue , toValue , time , useSeconds) 
}
// in de rolloutstate van u movieclip  het zelfde maar dan draai je de from en // to gewoon om : het is beter om uw from value te veranderen naar 
// this.parameter omdat er anders wel eens rare glitches in knn zitte ( vb : this._x )

- movieClip is het object dat je wil verplaatsen, uwe menuItem , in dit geval binnen in de onRollOver kunt ge makkelijk gewoon 'this' (zonder quotes) gebruiken.
- parameter kan bijvoorbeeld x of y of een alpha of ... whatever zijn :) denk er wel aan om de dus "_x" te schrijven met de quotes anders gaat het niet werken
- easingFunction Is de manier waarop u animatie zal verlopen , hier zijn er enkele opties waaruit je kan kiezen bijvoorbeeld Regular.easeInOut of Back.easeOut ) Voor andere verwijs ik je graag door naar google of de flash help .

fromValue en toValue zijn gewoon de coordinaten van waar tot waar je wil verplaatsen. Zoals hierboven stated de from mss vervangen door this._x (in uw geval)

time is de tijd dat hij er over moet doen om de animatie af te leggen

useSeconds wordt meestal op true gezet tenzij je enorm nauwkeurig wil gaan animeren ofzo , indien deze waarde false is worden milliseconden gebruikt ( het is wel mogelijk om bijvoorbeeld 0.5 seconden te nemen )


voor AS3 is het verhaal ietsje anders :
Code:
import fl.transitions.Tween ;
import fl.transitions.easing.* ;
import flash.events.* ;

myMenuItem.addEventListener( MouseEvent.ROLL_OVER , functionToCall )
myMenuItem.addEventListener( MouseEvent.ROLL_OUT, functionToCall2 )
function functionToCall( e : MouseEvent ) : void
{
    new Tween( e.currentTarget , "x" , easingFunction , e.currentTarget.x , toX , time , true );  
 }

function functionToCall2( e : MouseEvent ) : void
{
    new Tween( e.currentTarget , "x" , easingFunction , e.currentTarget.x , toX , time , true );  
 }

Dit wijst zichzelf redelijk uit denk ik , de manier om de Tween op te bouwen is het zelfde als in as2 alleen gebruik je daar "_x" en hier "x" .


LET OP : Deze code is niet getest en kan fouten bevatten , k heb ze zomaar opgeschreven zonder na te kijken of er geen typfouten in zitte :)

Gerritn

Legacy Member
Beste is ook om in AS3 je tweens aan variabelen toe te kennen, op globaal of klasse-niveau gedeclareerd, anders kom je in problemen met de garbage collector en stoppen tweens plots onverwacht etc...
zoiets dan:

Code:
import fl.transitions.Tween ;
import fl.transitions.easing.* ;
import flash.events.MouseEvent ;

var itemTween:Tween;

myMenuItem.addEventListener( MouseEvent.ROLL_OVER , functionToCall )
myMenuItem.addEventListener( MouseEvent.ROLL_OUT, functionToCall2 )
function functionToCall( e : MouseEvent ) : void
{
    itemTween = new Tween( e.currentTarget , "x" , easingFunction , e.currentTarget.x , toX , time , true );  
 }

function functionToCall2( e : MouseEvent ) : void
{
    itemTween = new Tween( e.currentTarget , "x" , easingFunction , e.currentTarget.x , toX , time , true );  
}

Marcooo

Legacy Member
Hm, toch niet zo simpel als ik dacht.
Ben precies nog een hele leek in het flash gebeuren.
Iemand die mij zou willen helpen bij het proberen?
Je mag me altijd toevoegen op [email protected]
Alvast bedankt!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan