9RIA.com天地会 - 论坛

返回列表 发帖

天地培训

9RIA天地会官方培训机构

Adobe官方认证培训中心

Tween为什么执行不完就停止了?

用Tween类以来,一直有个痛苦困扰着我:它自己在没有执行完毕的时候就停止了。怎么确保Tween能执行完毕?

天地人才库
没执行完就停止了?这个现象倒是没见过,是不是你的程序有问题?
可以发源码上来看看么

TOP

  1. package {
  2.         import flash.display.Sprite;
  3.         import fl.transitions.Tween;
  4.         import fl.transitions.easing.None;
  5.         import flash.filters.GlowFilter;

  6.         public class darkShadow extends Sprite {

  7.                 public function darkShadow() {
  8.                         init();
  9.                 }
  10.                 private function init() {
  11.                         var aimX:Number = this.x;
  12.                         var aimY:Number = this.y;
  13.                         var startX:Number = stage.stageWidth*Math.random();
  14.                         var startY:Number = stage.stageHeight*Math.random();
  15.                         var startRotation = 360*Math.random();
  16.                        
  17.                         this.cacheAsBitmap = true;
  18.                         this.filters = new Array(new GlowFilter(0xffffff,1.5,1.5,1.5,2,2));
  19.                         var tweenAlpha:Tween = new Tween(this,"alpha",None.easeNone,0,1,1,true);
  20.                         var tweenX:Tween = new Tween(this,"x",None.easeNone,startX,aimX,1,true);
  21.                         var tweenY:Tween = new Tween(this,"y",None.easeNone,startY,aimY,1,true);
  22.                         var tweenRotation = new Tween(this,"rotation",None.easeNone,startRotation,0,1,true);
  23.                 }
  24.         }
  25. }
复制代码
这个类很简单,就不解释了。fla中有一些mc是继承自这个类,因为想让它们实现相同的效果。但是发现有的没有运行完补间就停止了。很郁闷...

[ 本帖最后由 poshidon 于 2008-4-3 10:54 编辑 ]

TOP

好兄弟,讲义气!---by eko

踏上天地会荣耀之路!

 

申请舵主

加入掘金队

加入译林军

知识专题整理

 

咨询(QQ):

1442604479(小地)

 

是不是用MovieClip要好点?

TOP

实践证明没用......测试时候是好的,但是发布出来过后,就出问题了......测试 != 发布.........

TOP

好多效果哦,试试用TweenLite吧,他能实现同时多个属性改变。而且很小巧精干。
http://blog.greensock.com/tweenliteas2

TOP

e文!!!
仅仅刚刚过了四级啊.......
而且我想知道为什么测试 != 发布.....
是flash的bug?

TOP

测试 != 发布??

TOP

因为你的tween是在函数里声明的,所以会被垃圾回收站回收,你声明为类变量就行了

TOP

我测试的时候都是好的,一点问题都没有,但是发布出来就不对啦!而且没有专门发布,就是测试过后自动发布的那个swf.......

TOP

原帖由 little 于 2008-4-3 11:41 发表
因为你的tween是在函数里声明的,所以会被垃圾回收站回收,你声明为类变量就行了

有道理。44看。但是为什么测试!=发布?是bug么?

TOP

或者你也可以找出Tween这个类,
把这句_mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true);
的最后一个参数弱引用改为false,垃圾回收器就不会回收了

TOP

原帖由 little 于 2008-4-3 11:47 发表
或者你也可以找出Tween这个类,
把这句_mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true);
的最后一个参数弱引用改为false,垃圾回收器就不会回收了 ...

猛将兄,那要回收它,就要在M_F事件中手动清除它了?

TOP

不懂。。。。。。。。。。。。。。

TOP

原帖由 Password 于 2008-4-3 11:17 发表
好多效果哦,试试用TweenLite吧,他能实现同时多个属性改变。而且很小巧精干。
http://blog.greensock.com/tweenliteas2


不知道在哪下载他的这个类?

TOP

返回列表