![]() |
DDM君 (2009-04-10 09:01:07) |
不好意思,在下打不开呢,具体描述一下需求呢? |
![]() |
(2009-04-14 16:40:23) |
用9个小图组成一个面,一共有6个面,也就是54张小图, 然后这个6个面按Z轴排列,之间有一定的空隙,组成一个立方体的样子, 点2.3.4.5.6.面的话 他们会沿Z轴排列到最前面 就象 多米勒股牌 的那种样子 一层一层的 |
![]() |
DDM君 (2009-04-15 10:08:22) |
哦,这个比较麻烦。 第一是需要4元数的一些过渡移动,可以参考参考我们傻瓜包里flab3dcamera.as类的一些代码 主要思路是: 先要把所有plane的位置(开始位置,结束位置)记录到数组里,点击后把点击那张放在结束位置的第一张。 根据您的描述的思路,不知会否有些帮助^_^. |
![]() |
(2009-04-16 09:08:01) |
不是很明白 你还是看看我给你的连接,看看效果, http://www.porsche.com/china/ 是保时节汽车的网站, http://www.porsche.com/microsite/panamera/china.aspx |
![]() |
DDM君 (2009-04-16 12:27:24) |
打开了,这个很简单的呀,比我解释的那个简单多了。 都是非常基础的应用,我们的教程里面学习一下应该是很容易的。 请问你具体有什么难点呢? |
![]() |
(2009-04-16 17:35:51) |
一 , 就是如何把9张图排成一个面(这个我基本能知道如何做,不过也请你说说,看看和我想的一样不?) 二, 就是这6个面一层一曾移动的动作,(难点) 另外 就是我们站中的那些教程对我有帮助的请点出来, 谢谢 |
![]() |
DDM君 (2009-04-17 08:50:18) |
1)就是简单的数组排列,没什么诀窍,宽*n+空隙距离 , 长*n+空隙距离 2)需要建立一个空displayObject3D,然后把同一平面的9张,addChild()进这个displayObject3D中。每个平面都是一个新的displayObject3D 如果还是不大理解请看看这篇教程 http://flab3d.com/tutorial.php?top=t14doubleside |
![]() |
(2009-04-17 11:40:20) |
ERROR: MaterialObject3D: transformUV() material.bitmap not found! ERROR: MaterialObject3D: transformUV() material.bitmap not found! ERROR: MaterialObject3D: transformUV() material.bitmap not found! 我为什么老是输出一大堆这样的错误 等图片显示完了才没错 还有我的图片是206*133 代码中也是 var plane:Plane=new Plane(new BitmapFileMaterial("map.jpg"),206,133,3,3); 怎么显示出来的图片小很多. |
![]() |
(2009-04-17 11:45:13) |
package { import flash.display.*; import flash.events.Event; import org.papervision3d.cameras.FreeCamera3D; import org.papervision3d.render.BasicRenderEngine; import org.papervision3d.scenes.Scene3D; import org.papervision3d.view.Viewport3D; import org.papervision3d.materials.BitmapFileMaterial; import org.papervision3d.objects.primitives.Plane; import org.papervision3d.objects.DisplayObject3D; import org.papervision3d.events.InteractiveScene3DEvent; public class test01 extends Sprite { private var viewport:Viewport3D; private var renderer:BasicRenderEngine; private var scene:Scene3D; private var camera:FreeCamera3D; private var date1:Number; private var plane2:Plane; private var container:DisplayObject3D; private var isFront:Boolean=false; private var yawAngel:Number=0; public function test01():void { viewport=new Viewport3D(800,800); renderer=new BasicRenderEngine ; scene=new Scene3D; camera=new FreeCamera3D(); addChild(viewport); viewport.interactive=true; container=new DisplayObject3D(); for (var i:int=0; i<9; i++) { var plane:Plane=new Plane(new BitmapFileMaterial("map.jpg"),206,133,3,3); if (i<3) { plane.x=i*250-30; } else { if (3<=i&&i<6) { plane.x=(i-3)*250-30; plane.y=200; //trace(i) } else { trace(i) plane.x=(i-6)*250-30; plane.y=400; } } container.addChild(plane); } scene.addChild(container); addEventListener(Event.ENTER_FRAME,process); } private function process(evt:Event):void { renderer.renderScene(scene,camera,viewport); date1=((stage.mouseX) - 400) * 0.02; container.rotationY= date1 } } } |
![]() |
(2009-04-17 11:46:06) |
还有就是中心点不对称 请帮我看看.谢谢 |
![]() |
(2009-04-17 15:39:30) |
DDM君 又有个大的问题了 以上代码是 加9张图,编译的时候 好多次都卡得出不来,整个 FLASH 都死了.只好关了从来 我的电脑是双核2.4G 内存2G. 有什么办法能优化一下. |
|
|