Quote:
Originally Posted by dla86
Allego il fila .fla che ho realizzato in AS3 , contiene lo stesso menu di Onsitus ma non in AS2. :)
perdonatemi se ci fossero errori.
Onsitus attendo un tuo parere.
|
Ciao Dla
Ho guardato il tuo esempio, il problema c'è quando esce del quadro grande (non sparisce sempre). Infatti ho visto che hai spostato:
menu_mc.mask_mc.addEventListener(MouseEvent.MOUSE_ OUT,f2);
(che era menu[i].addEventListener(MouseEvent.MOUSE_OUT,f2);)
al di fuori del loop for. Se l'ho rimette nel 'for', il tween per qualche ragione non si ferma sul stato over.
Stesso risultato che avevo ottenuto io con:
Code:
import fl.transitions.Tween;
import fl.transitions.easing.*;
var btn_array:Array = [main_mc.btn1, main_mc.btn2, main_mc.btn3, main_mc.btn4, main_mc.btn5, main_mc.btn6, main_mc.btn7, main_mc.btn8, main_mc.btn9];
function btn_rollOver(e:MouseEvent):void {
scaleMask(main_mc.mask_mc,1);
moveMask(main_mc.mask_mc,btn_array[e.target.id].x,btn_array[e.target.id].y);
}
function btn_rollOut(e:MouseEvent):void {
scaleMask(main_mc.mask_mc,0);
}
function moveMask(clip, xBtn, yBtn):void {
var tweenX:Tween = new Tween(clip, "x", Strong.easeOut, clip.x, xBtn, 1, true);
var tweenY:Tween = new Tween(clip, "y", Strong.easeOut, clip.y, yBtn, 1, true);
}
function scaleMask(clip, scale):void {
var tweenXScale:Tween = new Tween(clip, "scaleX", Strong.easeOut, clip.scaleX, scale, 0.5, true);
var tweenYScale:Tween = new Tween(clip, "scaleY", Strong.easeOut, clip.scaleY, scale, 0.5, true);
tweenXScale.looping = false;
tweenYScale.looping = false;
}
for (var i:Number=0; i<btn_array.length; i++) {
btn_array[i].id = i;
btn_array[i].addEventListener(MouseEvent.MOUSE_OVER,btn_rollOver);
btn_array[i].addEventListener(MouseEvent.MOUSE_OUT,btn_rollOut);
}
Avevo provato stesso giorno in as3 ma li sono rimasta bloccata (poi mi sono scordata).
Dai che troveremo la soluzione giusto.
PS: mi hanno regalato una copia del 'Essential Actionscript 3.0" della O'reilly. Adesso siamo allo stesso livello
