Re: [問題] 不解.as內的function抓不到stage
※ 引述《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
→
09/30 17:35, , 1F
09/30 17:35, 1F
→
09/30 17:35, , 2F
09/30 17:35, 2F
討論串 (同標題文章)