[問題] 請教一些 pv3D的問題

看板Flash作者 (想玩音樂)時間14年前 (2009/10/14 00:07), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
想請教各位先進 當我在 scene3D內使用 BitmapEffectLayer 並且在這個layer內加入一個物件 DisplayObject3D 並且以 InteractiveScene3DEvent 來控制滑鼠事件 當滑鼠移入 DisplayObject3D 的時候加入 BitmapFireEffect 效果 滑鼠移開的時候,移除 BitmapFireEffect 效果 現在發生一個錯誤 滑鼠移入的時候可以正常產生effcet but 滑鼠移開的時候 effect沒有如預期被移除 ?? 程式碼大致上如下...(程式碼很長,故擷取重點說明) peoson1 = new Sphere(myMaterial , 40, 0,0); peoson1.getChildByName("chestBelly").addEventListener( InteractiveScene3DEvent.OBJECT_OVER, mouseOverHuman); peoson1.getChildByName("chestBelly").addEventListener( InteractiveScene3DEvent.OBJECT_OUT , mouseOutHuman); bfe = new BitmapFireEffect(5,2); bfe.flameSpread = 10; ble = new BitmapLayerEffect( new GlowFilter(0xffb510, 0.3 , 10 , 10 , 4 , 3 , true , false)); HumanUseLayer = new BitmapEffectLayer(viewport); HumanUseLayer.addDisplayObject3D(peoson1); viewport.containerSprite.addLayer(HumanUseLayer); default_scene.addChild(peoson1); public function mouseOverHuman(e:InteractiveScene3DEvent):void{ isMouseOverHuman = true; } public function mouseOutHuman(e:InteractiveScene3DEvent):void{ isMouseOverHuman = false; } // Event.ENTER_FRAME 的時候會跑這一段 function public function startShowEffect():void{ if(isMouseOverHuman){ if(!isFireEffectAdded){ HumanUseLayer.addEffect(ble); HumanUseLayer.addEffect(bfe); peoson1.useOwnContainer = true; isFireEffectAdded = true; } textInfo.text = "user trigger startShowEffect"; } else{ if(isFireEffectAdded){ // removeEffect can not work ?? HumanUseLayer.removeEffect(ble); HumanUseLayer.removeEffect(bfe); peoson1.useOwnContainer = false; isFireEffectAdded = false; } textInfo.text = "user end startShowEffect"; } } 不知道我少了哪幾樣步驟呢 ?? 接觸3D的東西不久...非常不熟還要多k多啃文件 謝謝 -- No time to pray.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.8.67.247 ※ 編輯: metalalive 來自: 124.8.84.237 (10/15 14:36)
文章代碼(AID): #1ArAMk9d (Flash)