![]() |
hunter_xsy (2009-12-28 17:25:45) |
更正下 aa1,aa2……aa6分别为库中影片剪辑 为aa1或mm1加了鼠标事件试了下好像都不行~~ |
![]() |
新手 (2009-12-29 08:37:49) |
我也想问这个问题,怎么给PLANE,CUBE这些东西加动画 按钮效果。 |
![]() |
新手 (2009-12-29 09:01:25) |
var bitmapMaterial:MovieAssetMaterial=new MovieAssetMaterial("map",false,true,false); 我使用这个可以有动画效果,但是按钮效果却出不来。 |
![]() |
新手 (2009-12-29 09:03:09) |
var bitmapMaterial:MovieAssetMaterial=new MovieAssetMaterial("map",false,true,false); //var bitmapM:MovieMaterial=new MovieMaterial(bitmapMaterial); var plane:Plane = new Plane(bitmapMaterial); plane.x = Math.random()*3500-1500; plane.y = Math.random()*3500-1500; plane.z = Math.random()*3500-1500; plane.rotationX = Math.random()*180-90; plane.rotationY = Math.random()*180-90; plane.rotationZ = Math.random()*180-90; myScene.addChild(plane); plane.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, onPlaneClick); 我使用FLAB3D给的一个演示,改了一下,这样动画可以有,但是plane的事件就没有了。。忘高手指教 |
![]() |
hunter_xsy (2009-12-29 09:55:59) |
用这个MovieMaterial()就可以动画化了吧,只需要设置括号里的参数。鼠标交互这个我郁闷了 没查到相关的资料~~~ |
![]() |
hunter_xsy (2009-12-29 10:05:47) |
楼上的是不是没有给贴图设置成可交互? plane.interactive=true; |
![]() |
DDM君 (2009-12-29 10:34:45) |
可以参考以下我们傻瓜包里flab3d包里面的roomcube类,里面有写到的哟~ |
![]() |
hunter_xsy (2009-12-29 10:39:14) |
恩 谢谢DDM君 我去看看 还有到处查查到个方法:先给每个贴图都赋个名字,然后给CUBE加点击事件,通过每个面的name来判断点击的是哪个面,不知道这个方法发散起来实用性强不强? mm1.interactive = true; mm1.name = "front"; mm2.interactive = true; mm2.name = "back"; mm3.interactive = true; mm3.name = "left"; mm4.interactive = true; mm4.name = "right"; mm5.interactive = true; mm5.name = "top"; mm6.interactive = true; mm6.name = "bottom"; |
![]() |
poppyvivi (2009-12-30 11:34:04) |
回 hunter_xsy : 我使用这个 var bitmapMaterial:MovieMaterial=new MovieMaterial(map,true,true); map为库中的影片,报错如下: 1067: Class 类型值的隐式强制指令的目标是非相关类型 flash.display:DisplayObject。 还有你说的plane.interactive=true; 设置也报错: 1119: 访问可能未定义的属性 interactive (通过 static 类型 org.papervision3d.objects.primitives:Plane 引用)。 |
![]() |
hunter_xsy (2009-12-30 15:54:13) |
回poppyvivi: private var frontMaterial:MovieMaterial; frontMaterial=new MovieMaterial(aa1,true,true);//我这里的aa1是个影片剪辑,放在库中 frontMaterial.interactive=true; 你再试试~~ |
![]() |
rong0577 (2010-01-13 15:03:33) |
var bitmapMaterial:MovieAssetMaterial=new MovieAssetMaterial("map",false,true,false); //var bitmapM:MovieMaterial=new MovieMaterial(bitmapMaterial); var plane:Plane = new Plane(bitmapMaterial); plane.x = Math.random()*3500-1500; plane.y = Math.random()*3500-1500; plane.z = Math.random()*3500-1500; plane.rotationX = Math.random()*180-90; plane.rotationY = Math.random()*180-90; plane.rotationZ = Math.random()*180-90; myScene.addChild(plane); plane.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, onPlaneClick); 我使用FLAB3D给的一个演示,改了一下,这样动画可以有,但是plane的事件就没有了。。忘高手指教 引用一下楼上的话, 这个问题谁解决了?? 我也碰到这个问题。 |
![]() |
DDM君 (2010-01-13 15:10:31) |
plane的事件就没有了是指不能触发onPlaneClick了吗? 如果实在不行的话, 可以考虑把plane加入到一个layer,然后给这个layer加入鼠标事件. |
|
|