作者STARGAZERs (星之影)
看板Flash
标题[问题] 不解... .as 内的 function 抓不到 stage ?
时间Thu Sep 30 11:35:52 2010
天阿 这真是个让我快要抓狂的问题...
我写了一个特效的 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
1F:→ aquarianboy:原始档? 09/30 12:36
2F:→ STARGAZERs:我晚点拆解来上传好了.... 目前的 fla 有 35MB 之大... 09/30 13:29
3F:推 scars:你的code很奇怪 是你贴上来的时候把字改掉了吗 09/30 13:31
4F:推 scars:然後一个常见的错误是在ADDED_TO_STAGE事件前就存取stage 09/30 13:37
5F:→ scars:你可以看看会不会是这个问题 09/30 13:37
6F:→ STARGAZERs:因为 .as 宣告很多所以我有删除掉宣告 09/30 13:48
7F:→ STARGAZERs:不过基本上我就是这样用的没错 09/30 13:48
8F:→ STARGAZERs:我也确定 在 removeChild 前东西有在 stage 09/30 13:49
9F:→ STARGAZERs:上面的 null 75 下一行就是证明 Orz 09/30 13:49
10F:→ STARGAZERs:我正在找免空 准备上传 code 09/30 13:49
11F:推 KawasumiMai:www.mediafire.com.......... 09/30 13:50
13F:→ STARGAZERs:上传好了 XD 刚好一行不用缩!!! 09/30 13:52
14F:→ STARGAZERs:/dev/SysEffect.as 的 11 行 就是 removeEff:Function 09/30 13:55
15F:→ STARGAZERs:里面用 _textBlock.parent 或是 this.parent 都是 null 09/30 13:55