[問題] 請教一些 pv3D的問題
想請教各位先進
當我在 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)