看板 Flash 關於我們 聯絡資訊
天阿 這真是個讓我快要抓狂的問題... 我寫了一個特效的 code !! 特效 .as 內只有一個 static function function :MovieClip { var removeEffect = function() { _mc.parent.removeChild(_mc); } var _mc:MovieClip = new MovieClip TweenLite.to(_mc, 0, {x:vars.x, y:vars.y}); TweenLite.to(_mc, 0.9, {y:vars.y-50, alpha:1, onComplete:removeEffect()}); returen MovieClip; } .fla 內 var _mc : MovieClip = 特效.function(); stage.addChild(_mc); 利用 TweenLite 讓 _mc 往上移動 到達預設位置之後移除 原本都很正常 可是剛剛我對 onComplete 換 Function 後就掛了 (無法移除) 換回原本的 Function 也沒用 我 trace 的結果是 _mc.parent 或是 _mc.stage 都是 null @@? 可是我有把他丟到 stage 阿.... 如果用 onUpdate (應該是只要移動就會觸發) 配合上我把他 addChild 到 stage 去看會有下面的結果 null 75 <-- onUpdate 回傳的 trace [object Stage] <-- 這邊表示我把他丟到 stage null 205.2 <-- 我都丟到 stage 了還是給我 null null 220.2 null 190.2 我真的不解是怎麼回事... 請問有沒有高手能說明我犯了什麼錯阿 Orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.118.250
aquarianboy:原始檔? 09/30 12:36
STARGAZERs:我晚點拆解來上傳好了.... 目前的 fla 有 35MB 之大... 09/30 13:29
scars:你的code很奇怪 是你貼上來的時候把字改掉了嗎 09/30 13:31
scars:然後一個常見的錯誤是在ADDED_TO_STAGE事件前就存取stage 09/30 13:37
scars:你可以看看會不會是這個問題 09/30 13:37
STARGAZERs:因為 .as 宣告很多所以我有刪除掉宣告 09/30 13:48
STARGAZERs:不過基本上我就是這樣用的沒錯 09/30 13:48
STARGAZERs:我也確定 在 removeChild 前東西有在 stage 09/30 13:49
STARGAZERs:上面的 null 75 下一行就是證明 Orz 09/30 13:49
STARGAZERs:我正在找免空 準備上傳 code 09/30 13:49
KawasumiMai:www.mediafire.com.......... 09/30 13:50
STARGAZERs:上傳好了 XD 剛好一行不用縮!!! 09/30 13:52
STARGAZERs:/dev/SysEffect.as 的 11 行 就是 removeEff:Function 09/30 13:55
STARGAZERs:裡面用 _textBlock.parent 或是 this.parent 都是 null 09/30 13:55