因TweenEvent而无法编译

时间:2012-07-05 08:30:00

标签: actionscript-3 flashdevelop

一个小背景故事:我在大学里参加了一个AS3项目,原来的团队中没有一个人可以离开/到达。我原先被告知我只有FlashDevelop。我还没有改变代码,只需编译它。我非常擅长使用eclipse进行java编程,但AS3和Flashdevelop对我来说都是新的。 (当然我在开始之前就读过它了!)

我正在使用FlashDevelop 4.0.1和Flex SDK 4.6.0。

当我第一次尝试编译它时,我得到了以下错误:

svn\trunk\src\com\hybrid\ui\ToolTip.as(381): col: 38 Error: Type was not found or was not a compile-time constant: TweenEvent.

所以我在互联网上进行了研究并得出结论,TweenEvent甚至不是Flex SDK 4.6.0的一部分,但我需要Adobe CS Flash。这得到了Config.xml看起来如何的支持。这两行添加到项目路径中。

<path-element>C:\Program Files (x86)\Adobe\Adobe Flash CS3\de\Configuration\Component Source\ActionScript 3.0\User Interface</path-element> 
<path-element>C:\Program Files (x86)\Adobe\Adobe Flash CS4\Common\Configuration\ActionScript 3.0\projects\Flash\src</path-element> 

所以我订购了Flash并获得了Adobe Flash CS6。现在事情开始变得没有意义了。 我在下面添加了一行,我认为这对于上面的一行来说是合适的。 (审查名称)

path-element>C:\Dokumente und Einstellungen\***\Adobe\Adobe Flash CS6\Common\Configuration\ActionScript 3.0</path-element> 

错误更改为:

C:\Dokumente und Einstellungen\***\Desktop\HiWi\iml-as3-svn-110718-11-04\svn\trunk\src\IML.mxml(106): Error: Could not resolve <ns1:ULog> to a component implementation.

然后我尝试添加第二行,我找不到完全匹配,所以我尝试添加

<path-element>C:\Dokumente und Einstellungen\***\Adobe\Adobe Flash CS6\de_DE\Configuration\ActionScript 3.0</path-element> 

通过这样做我得到了确切的第一个错误。

svn\trunk\src\com\hybrid\ui\ToolTip.as(381): col: 38 Error: Type was not found or was not a compile-time constant: TweenEvent.

所以现在我完全失去了,我不知道我哪里出错,所以一些帮助真的会受到影响。请告诉我你是否需要查看代码或我是否在某处完全出错。我知道这是一个非常具体的问题,但我希望有更多专业知识的人看到我不知道的事情。我今天和明天几乎都会在这里,所以如果我得到一些答案,我会立即尝试。提前谢谢!

编辑:似乎只有一个类使用它(除非我忽略了一些东西)。 import语句是:

import fl.transitions.Tween;    
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;

那么,这是否意味着我需要那些文件?但是不应该将上面添加的路径固定下来吗?

我不想发布整个类,因为它相当长,所以这里使用Tweens。现在看着它似乎没那么多。

private var _tween:Tween;


/* Fade In / Out */

    private function animate( show:Boolean ):void {
        var end:int = show == true ? 1 : 0;
        // added : DR : 04.29.2010
        if( _tween != null && _tween.isPlaying ) {
            _tween.stop();
        }
        // end add
        _tween = new Tween( this, "alpha", Strong.easeOut, this.alpha, end, .5, true );
        if( ! show ){
            _tween.addEventListener( TweenEvent.MOTION_FINISH, onComplete );
            _timer.reset();
        }
    }

    private function onComplete( event:TweenEvent ):void {
        event.currentTarget.removeEventListener(event.type, arguments.callee);
        this.cleanUp();
    }

    /* End Fade */

1 个答案:

答案 0 :(得分:2)

如果您正在使用Flash Develop,我会去下载TweenMax from Greensock的AS3包。在生成的zip中,您将找到源代码,示例和预编译的swc。

您可以直接引用项目中的swc或com文件夹中的类,这取决于您。

TweenMax可以执行fl.transitions.Tween类可以执行的任何操作以及更多内容。在Greensock site上有很多说明,告诉你每个属性的作用,以及页面中一个非常酷的动画浏览器,这样你就可以看到它会做什么,它也显示你是结果代码。

enter image description here

这很简单:

import com.greensock.*;

// this will tween `mc` from whatever alpha it is now to 1.
TweenLite.to(mc, 1, {alpha:1});

显然,你可以补充很多属性和回调,所以我建议你去那里阅读。您上面的代码可以转换为使用Tween max,我确定您将来会将它用于所有Flash动画。