一个小背景故事:我在大学里参加了一个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 */
答案 0 :(得分:2)
如果您正在使用Flash Develop,我会去下载TweenMax from Greensock的AS3包。在生成的zip中,您将找到源代码,示例和预编译的swc。
您可以直接引用项目中的swc或com
文件夹中的类,这取决于您。
TweenMax可以执行fl.transitions.Tween
类可以执行的任何操作以及更多内容。在Greensock site上有很多说明,告诉你每个属性的作用,以及页面中一个非常酷的动画浏览器,这样你就可以看到它会做什么,它也显示你是结果代码。
这很简单:
import com.greensock.*;
// this will tween `mc` from whatever alpha it is now to 1.
TweenLite.to(mc, 1, {alpha:1});
显然,你可以补充很多属性和回调,所以我建议你去那里阅读。您上面的代码可以转换为使用Tween max,我确定您将来会将它用于所有Flash动画。