0

一点背景故事:我在大学时接手了一个 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.

所以我在 Internet 上进行了研究,得出的结论是 TweenEvent 甚至不是 Flex SDK 4.6.0 的一部分,但我需要 Adob​​e 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 并获得了 Adob​​e 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 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 */
4

1 回答 1

2

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

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

TweenMax 可以做任何fl.transitions.Tween类可以做的事情,甚至更多。在Greensock 网站上,有很多说明告诉您每个属性的作用,并且页面中还有一个非常酷的动画浏览器,因此您可以看到它会做什么,它还会向您显示生成的代码。

在此处输入图像描述

就像这样做一样简单:

import com.greensock.*;

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

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

于 2012-07-09T08:30:54.830 回答