2011-02-24 48 views
0

我已經設置在懸停和吐溫關閉懸停在Flash中某一個元素,在這裏你將鼠標懸停在一個元素,一個信息窗口滑入斷底,而當你將鼠標懸停關閉它向後滑動。懸停時,當我在動畫懸停之前懸停時,給定的對象跳轉到第一個動畫的結尾處並返回。當某人懸停在某物上時,如何讓動畫變得輕鬆自如?AS3吐溫緩解

function initialPlacement() 
{ 
    block1.x = (-814); 
    block1.y = (stage.stageHeight - 100); 
} 

initialPlacement(); 

tension.addEventListener(MouseEvent.ROLL_OVER,hover1); 
tension.addEventListener(MouseEvent.ROLL_OUT,off1); 

function hover1(event:MouseEvent):void{ 
    hover1tween.start(); 
} 

var hover1tween:Tween = new Tween(block1,"x",Regular.easeOut,(0-block1.width),0,30,false); 

hover1tween.stop(); 

function off1(event:MouseEvent):void{ 
    off1tween.start(); 
} 

var off1tween:Tween = new Tween(block1,"x",Regular.easeInOut,0,(0-block1.width),30,false); 
off1tween.stop(); 

initialPlacement(); 
+0

感謝您的編輯,我不知道如何在這裏格式化的東西。 – lanemiller 2011-02-24 21:32:02

回答

1

我認爲最簡單的方法是使用「continueTo」功能,將它在哪裏,而不是重新啓動其發送吐溫在一個新的方向。

function initialPlacement() 
{ 
    block1.x = (-814); 
    block1.y = (stage.stageHeight - 100); 

    block1tween = new Tween(block1,"x",Regular.easeInOut,(0-block1.width),0,30,false); 
    block1tween.stop(); 
} 

var block1tween:Tween; 
initialPlacement(); 

tension.addEventListener(MouseEvent.ROLL_OVER,hover1); 
tension.addEventListener(MouseEvent.ROLL_OUT,off1); 

function hover1(event:MouseEvent):void{ 
    block1tween.continueTo(0, 30); 
} 

function off1(event:MouseEvent):void{ 
    block1tween.continueTo((0-block1.width),30); 
} 

這是否符合您的需求?否則,您可以用一個新的補間替換補間,每個補間都在Tween的「begin」參數中傳入當前座標,但是我發現只使用「continueTo()」會更容易和更清晰。

+0

完美的作品!一般來說,我對動作非常陌生,所以我從未使用過這個功能。謝謝! – lanemiller 2011-02-24 23:15:50