Re: [問題] 不解.as內的function抓不到stage

看板Flash作者 (星之影)時間13年前 (2010/09/30 15:57), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串4/5 (看更多)
※ 引述《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
我之前用TweenLite,只要onComplete裡面放上非字串就會有
09/30 17:35, 1F

09/30 17:35, , 2F
問題。所以後來就盡量把程式分開處理了。
09/30 17:35, 2F
文章代碼(AID): #1Cf4BxDy (Flash)
討論串 (同標題文章)
文章代碼(AID): #1Cf4BxDy (Flash)