快速导航:   教程资源  | 经典范例  | 友情链接  | 联系我们  | 官方微博
登陆 | 注册

 flash 3d 研究所
flash3d 研究所 pv3d 教程 研究所小贴士: cpu占用多过30%会被你的用户扔砖。










最近更新:
● wan925446570阁下在讨论区里 发表新主题“怎么配置away3d运行环境啊???...”(20:38:35)
● yanfaqiang阁下在讨论区里 回复“《超简易papervision3D基础 ...”(18:08:41)
● cripel阁下在讨论区里 回复“...”(14:38:04)
浏览主题:pv3d 特殊位置

pv3d 特殊位置
king26951 (2010-10-23 10:29:31)


package 
{
        import flash.events.Event;
        import org.papervision3d.core.geom.Particles;
        import org.papervision3d.core.geom.renderables.Particle;
        import org.papervision3d.core.math.Number3D;
        import org.papervision3d.events.InteractiveScene3DEvent;
        import org.papervision3d.materials.special.ParticleMaterial;
        import org.papervision3d.view.BasicView;
                public class Test3 extends BasicView
        {
                private var particles:Particles;
               
                public function Test3()
                {
                        super(0, 0, true, true);
                        startRendering();
                        addEventListener(Event.ENTER_FRAME, update);
                        particles = new Particles();
                        var numParticle:int = 300;
                        var w:Number = 500;
                        particles.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, onClick);
                        while (numParticle-->0) {
                                var particle:Particle = new Particle(new ParticleMaterial(0xff0000 * Math.random(), 1, 0, 10));
                                particle.material.interactive = true;
                                particle.material.name = "" + numParticle;
                                var r:Number = w * Math.random();
                                var rx:Number = 180 * 2 * Math.random();
                                var ry:Number = 180 * Math.random() * 2;
                                var rz:Number = 180 * Math.random() * 2;
                                var num3d:Number3D = new Number3D(r, 0, 0);
                                num3d.rotateX(rx);
                                num3d.rotateY(ry);
                                num3d.rotateZ(rz);
                                particle.x = num3d.x;
                                particle.y = num3d.y;
                                particle.z = num3d.z;
                                particles.addParticle(particle);
                        }
                       
                        scene.addChild(particles);
                }
               
                private function onClick(e:InteractiveScene3DEvent):void
                {
                        trace("你点击了粒子name");
                }
               
                private function update(e:Event):void
                {
                        particles.rotationY++;
                }
               
        }
 
}
这是别人的一段代码
现在如何给粒子指定位置
         particle.x =  xmlData.ZONES.R.position[i]. @ pointX
         particle.y =  xmlData.ZONES.R.position[i].  @ pointY
        particle.z =  xmlData.ZONES.R.position[i].  @ pointZ

目的是实现每个粒子的交互,现在是可以逐个的交互了,但是不能从xml中指定这些粒子的位置,求助高手,如何把他们加到粒子位置上?






评论人:
邮   箱: (填入邮箱,博客地址均可)

内   容: (广告和垃圾内容可能会被删除,望理解)
链接地址

验证码:(为防止机器人骚扰,请麻烦输入验证码^_^)
  

(目前需登陆方可发表)


不想添加了