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

看板Flash作者 (星之影)時間15年前 (2010/09/30 11:35), 編輯推噓3(3012)
留言15則, 4人參與, 最新討論串1/5 (看更多)
天阿 這真是個讓我快要抓狂的問題... 我寫了一個特效的 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

09/30 12:36, , 1F
原始檔?
09/30 12:36, 1F

09/30 13:29, , 2F
我晚點拆解來上傳好了.... 目前的 fla 有 35MB 之大...
09/30 13:29, 2F

09/30 13:31, , 3F
你的code很奇怪 是你貼上來的時候把字改掉了嗎
09/30 13:31, 3F

09/30 13:37, , 4F
然後一個常見的錯誤是在ADDED_TO_STAGE事件前就存取stage
09/30 13:37, 4F

09/30 13:37, , 5F
你可以看看會不會是這個問題
09/30 13:37, 5F

09/30 13:48, , 6F
因為 .as 宣告很多所以我有刪除掉宣告
09/30 13:48, 6F

09/30 13:48, , 7F
不過基本上我就是這樣用的沒錯
09/30 13:48, 7F

09/30 13:49, , 8F
我也確定 在 removeChild 前東西有在 stage
09/30 13:49, 8F

09/30 13:49, , 9F
上面的 null 75 下一行就是證明 Orz
09/30 13:49, 9F

09/30 13:49, , 10F
我正在找免空 準備上傳 code
09/30 13:49, 10F

09/30 13:50, , 11F
www.mediafire.com..........
09/30 13:50, 11F

09/30 13:52, , 13F
上傳好了 XD 剛好一行不用縮!!!
09/30 13:52, 13F

09/30 13:55, , 14F
/dev/SysEffect.as 的 11 行 就是 removeEff:Function
09/30 13:55, 14F

09/30 13:55, , 15F
裡面用 _textBlock.parent 或是 this.parent 都是 null
09/30 13:55, 15F
文章代碼(AID): #1Cf0MRoG (Flash)
文章代碼(AID): #1Cf0MRoG (Flash)