![]() |
DDM君 (2009-05-05 07:01:28) |
1)cube的参数不是个materialList嘛,把其中包含的每个material的interactive设成true就可以了。 2)可以参考此思路 http://flab3d.com/tutorial.php?top=t16buttonmode |
![]() |
wusaki (2009-05-05 11:11:29) |
那我想问, 我对其中某一个面(例如是"front"面,该面对应的MovieMaterial叫M1,该M1指向的MC叫MC1) 如果要添加鼠标侦听的话,我是应该对什么添加侦听事件? |
![]() |
DDM君 (2009-05-05 17:54:56) |
InteractiveScene3DEvent.OBJECT_CLICK听诊这个事件正确吗? |
![]() |
wusaki (2009-05-05 21:19:41) |
...我想问的就是,如果要侦听其中一个面,究竟CLICK的是: A.整个长方体 B.长方体中的其中一个面 C.该面的材质 D.该面材质所属的MC 上的哪个? (OBJECT_CLICK 应该理解为对一个物体整个点击的吧……) |
![]() |
老鼠赛跑 (2009-05-05 21:59:04) |
sandy3d的教程代码就有这个:) |
![]() |
wusaki (2009-05-05 22:04:40) |
是么 在哪在哪?~ |
![]() |
老鼠赛跑 (2009-05-06 01:25:22) |
http://www.flashsandy.org/tutorials/3.0/sandy_cs3_tut18 |
![]() |
DDM君 (2009-05-06 08:12:47) |
这个可以具体写出程序来试试嘛,强大程序员就是在不断的尝试中成长的嘛,呵呵。 |
![]() |
sliz (2009-05-06 12:33:18) |
最经典的做法就是遍历正方体的faces |
![]() |
wusaki (2009-05-06 14:22:34) |
求源程序 |
![]() |
netsnower (2009-05-15 10:29:47) |
cube.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, onCubeClick); function onCubeClick(evt:InteractiveScene3DEvent):void { trace("点击了立方体"); trace(evt.face3d.material); } 能够trace到贴图的名称,我用的图片贴图,可以得到图片地址。 我想到的就是利用这个图片地址来实现判断用户点击了哪个面了…… 应该有更好的办法吧。 |
![]() |
DDM君 (2009-05-15 17:52:56) |
netsnower君这个方法很简洁,很有效。很不错的哟^_^!! |
![]() |
ccinclude (2009-06-15 16:50:40) |
bfm1=new BitmapFileMaterial('m1.png'); bfm2=new BitmapFileMaterial('m2.png'); bfm3=new BitmapFileMaterial('m3.png'); bfm4=new BitmapFileMaterial('m4.png'); bfm5=new BitmapFileMaterial('m5.png'); bfm6=new BitmapFileMaterial('m6.png') ; bfm1.interactive=true; bfm2.interactive=true; bfm3.interactive=true; bfm4.interactive=true; bfm5.interactive=true; bfm6.interactive=true ; cube=new Cube(new MaterialsList({front:bfm1,back:bfm2,right:bfm3, left:bfm4, top:bfm5, bottom:bfm6}),400,400,400,4,4,4); //cube=new Cube(new MaterialsList(listArr),500,500,500,3,3,3); cube.rotationX=30;//先转个角度比较好测试效果。 cube.rotationY=30;//先转个角度比较好测试效果。 scene.addChild (cube); cube.addEventListener (InteractiveScene3DEvent.OBJECT_CLICK, onCubeClick); } function onCubeClick (evt:InteractiveScene3DEvent):void { trace ("点击了立方体"); trace (evt.face3d.material); } 我的是这样写的,可是点击的时候,没有反应的。。 |
![]() |
DDM君 (2009-06-16 06:47:35) |
代码咋一看没什么问题,这句-trace ("点击了立方体");-都trace不出来吗? png是透明图片吗,换成jpg也是一样的结果吗?如果整体贴一张图这样写all:bfm1能trace出什么结果呢? |
![]() |
wusaki (2009-06-17 17:52:43) |
回想起来 我那时候做了个专门生成立方体的类 把六个PLANE组成一个DisplayObject3D....... 效果很奇怪的: www.wusaki.cn 的主页 真落后啊…… |
![]() |
DDM君 (2009-06-17 19:00:11) |
呵呵,没事的呀,很不错的,达到目的就行~wusaki君不错的! |
|
|