作者STARGAZERs (星之影)
看板Flash
标题Re: [问题] 不解.as内的function抓不到stage
时间Thu Sep 30 15:57:44 2010
※ 引述《scars (scars)》之铭言:
: ※ 引述《STARGAZERs (星之影)》之铭言:
: 几个问题
: 1.TweenLite 的 vars object 你丢进去的 onComplete
: 应该是 removeEffect 这个参照而不是 removeEffect()
: 不然会先执行这个函数之後再把它的结果(TextField)丢回 onComplete
阿阿阿!!! 我想这就是答案!!
我刚刚又测了一下....
如果用 onComplete:removeEffect => ok
但是用 onComplete:removeEffect() => 会有问题
加参数 onComplete:removeEffect(_xx)=> 还是有问题
所以後面有 () 就会有问题
感谢 scars 大的解答...
不过我很怀疑 加了参数後 onComplete:removeEffect(_xx)
传进去的 _xx 似乎跟目标物不同 因为我用 update 这参数下去抓的时候
永远抓不到 _xx 的 parent (这部份我在第一篇里面有贴过 trace 结果)
: 2.removeEffect里面的this再怎麽样都不会是_textBlock
: 你可以用 _textBlock.parent.removeChild(_textBlock);
这边是我参造 E大建议说改 this 来测试所留下来的
没有清理好造成误会真的很抱歉!!
: 3.我看你的code,被你comment掉的 removeChild是在 trace 前面
: 该不会你先remove他再trace他的stage吧
汗... 我没做这麽天兵的事情阿!!!
我这边是因为做测试所以先做了 comment 再补面下面的Code....
: 我这边修正之後跑起来是正常的
: public class SysEffect {
: public static function NumEffect(_text:String, vars:Object):TextField {
: var removeEffect:Function = function () {
: _textBlock.parent.removeChild(_textBlock);
: }
: /* 略 */
: _textBlock.addEventListener(Event.REMOVED_FROM_STAGE, trace);
: TweenLite.to(_textBlock, 1, {/* 略 */ onComplete:removeEffect});
: return _textBlock;
: }
: }
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.43.118.250
1F:→ dsmwang:我之前用TweenLite,只要onComplete里面放上非字串就会有 09/30 17:35
2F:→ dsmwang:问题。所以後来就尽量把程式分开处理了。 09/30 17:35