0

尝试使用 GreenSock 在 Flash AS3、AIR 3.2 for iOS 中使其工作。我尝试将其定义为变量、函数等,但无济于事。网上一搜一无所获。

代码行出现以下错误TweenMax tween = TweenMax.to(textOne, 14, {x:xScreenPosEnd, ease:SlowMo.ease.config(1, 0), repeat:-1});

1071:语法错误:在属性 TweenMax 之后需要一个定义关键字(例如函数),而不是 tween。
1084:语法错误:在左大括号之前需要右大括号。
1084: 语法错误:在 rightparen 之前需要标识符。

var middle:Boolean = false;

public function run():void {
    TweenMax tween = TweenMax.to(textOne, 14, {x:xScreenPosEnd, ease:SlowMo.ease.config(1, 0), repeat:-1});
    tween.addEventListener(TweenEvent.UPDATE, updateListener);
    tween.addEventListener(TweenEvent.REPEAT, repeatListener);
}

function updateListener(e:TweenEvent):void {
    if(tween.currentProgress > 0.5 && middle == false)
    {
        TweenMax.to(textOne, 7, {ease:SlowMo.ease.config(1, 0), repeat:-1, autoAlpha:0});
        middle = true;
    }
}

function repeatListener(e:TweenEvent):void {
    textOne.alpha = 1.0;
    middle = false;
}

编辑:错误行已替换为出现的var tween:TweenMax = TweenMax.to(textOne, 14, {x:xScreenPosEnd, ease:SlowMo.ease.config(1, 0), repeat:-1});
进一步错误是:
1120:访问未定义的属性 TweenMax。
1046:未找到类型或不是编译时常量:TweenMax。
1120:访问未定义的属性补间。
1120:未定义属性中间的访问。

我的 GreenSock 进口如下:

import com.greensock.easing.*;
import com.greensock.plugins.*;
import com.greensock.events.TweenEvent;

甚至尝试过import com.greensock.*;

编辑:添加该行import com.greensock.TweenMax;已删除错误:
1120:未定义属性 TweenMax 的访问。
1046:未找到类型或不是编译时常量:TweenMax。

其他两个错误仍然存​​在。

4

1 回答 1

1

@Vesper 是绝对正确的。

var tween:TweenMax = TweenMax.to(...)

As3 使用 name:Type 表示法。至于您的进一步错误,它们可能来自不正确地引用greensock代码,但它们是朝着正确方向迈出的一步。请在编辑中发布它们。

好吧,让我们来看看 :

private var _middle:Boolean = false;
private var _tween:TweenMax;

public function run():void {
    _tween = TweenMax.to(textOne, 14, {x:xScreenPosEnd, ease:SlowMo.ease.config(1, 0), repeat:-1});
    _tween.addEventListener(TweenEvent.UPDATE, updateListener);
    _tween.addEventListener(TweenEvent.REPEAT, repeatListener);
}

private function updateListener(e:TweenEvent):void {
    if(_tween.totalProgress() > 0.5 && _middle == false) {
        TweenMax.to(textOne, 7, {ease:SlowMo.ease.config(1, 0), repeat:-1, autoAlpha:0});
        _middle = true;
    }
}

private function repeatListener(e:TweenEvent):void {
    textOne.alpha = 1.0;
    _middle = false;
}

我不确定功能性,但如果textOne实际存在,这段代码不应该抛出错误。

于 2013-02-11T13:21:58.193 回答