AS3 tweenlite循环停止

时间:2013-04-04 20:43:45

标签: actionscript-3 loops tweenlite

我有一个循环动画停止并给我一个参数错误。我用几种不同的方式重新编写代码,但无济于事。这是我的代码:

contactbox.addEventListener(MouseEvent.MOUSE_OVER, Scroll);

function Scroll(evt:MouseEvent){
TweenLite.to(
    btnwave, 2, {
    x:-115.5, ease:Linear.easeNone, overwrite:true, onComplete:Switch});
}
function Switch(){
TweenLite.to(
    btnwave, 0, {
        x:184.6, ease:Linear.easeNone, overwrite:true, onComplete:Scroll});
}

以下是它给我的错误:

ArgumentError: Error #1063: Argument count mismatch on Main/Scroll(). Expected 1, got 0.
at Function/http://adobe.com/AS3/2006/builtin::apply()
at com.greensock.core::TweenCore/complete()
at com.greensock::TweenLite/renderTime()
at com.greensock::TweenLite()
at com.greensock::TweenLite$/to()
at Main/Switch()
at Function/http://adobe.com/AS3/2006/builtin::apply()
at com.greensock.core::TweenCore/complete()
at com.greensock::TweenLite/renderTime()
at com.greensock.core::SimpleTimeline/renderTime()
at com.greensock::TweenLite$/updateAll()

我正在努力提高我的tweenlite技能,以便进行即将开展的工作。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

您收到错误,因为TweenLite未将MouseEvent实例传递给Scroll()。 Scroll()当前要求将MouseEvent对象传递给它,因为它是一个事件处理程序。你可以通过使Scrolls第一个参数可选来解决这个问题:

function Scroll(evt:MouseEvent=null){

这样,当TweenLite调用Scroll()时,MouseEvent将默认为null。