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

 flash 3d 研究所
flash3d 研究所 pv3d 教程 研究所小贴士: 学习Flash3d请一定先看看AS3基础,如果你不想在这里被踢屁股的话










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

away3d排列错误如何解决?
haha (2010-12-02 18:25:33)


package {
 import away3d.cameras.HoverCamera3D;
 import away3d.containers.ObjectContainer3D;
 import away3d.containers.View3D;
 import away3d.core.base.Face;
 import away3d.core.base.Mesh;
 import away3d.core.base.Vertex;
 import flash.display.Sprite;
 import flash.events.Event;
 public class Test1 extends Sprite {
  private var view:View3D;
  private var mesh:Mesh;
  private var obj:ObjectContainer3D;
  public function Test1(){
   view = new View3D();
   view.x = stage.stageWidth / 2;
   view.y = stage.stageHeight / 2;
   addChild(view);
   obj = new ObjectContainer3D();
   mesh = new Mesh();
   obj.addChild(mesh);
   var data:Array = [[[0, 0], [0, 1]], [[0, 1], [1, 0]], [[1, 0], [0, 0]]];
   for each (var l:Array in data){
    var p1:Array = l[0];
    var p2:Array = l[1];
    addFace(p1, p2);
   }
   mesh.bothsides = true;
   mesh.x = -mesh.objectWidth / 2;
   mesh.y = -mesh.objectHeight / 2;
   mesh.z = -mesh.objectDepth / 2;
   view.scene.addChild(obj);
   addEventListener(Event.ENTER_FRAME, update);
   
   camera = new HoverCamera3D();
   camera.distance = 1000;
   camera.tiltAngle = 10;
   camera.panAngle = 180;
   view.camera = camera;
  }
  private var vs:Array = [];
  private var camera:HoverCamera3D;
  private function addFace(p1:Array, p2:Array):void {
   var cellW:Number = 100;
   var cellH:Number = 100;
   mesh.addFace(new Face(getV(p1[0] * cellW, 0, p1[1] * cellW), getV(p1[0] * cellW, cellH, p1[1] * cellW), getV(p2[0] * cellW, 0, p2[1] * cellW)));
   mesh.addFace(new Face(getV(p2[0] * cellW, 0, p2[1] * cellW), getV(p1[0] * cellW, cellH, p1[1] * cellW), getV(p2[0] * cellW, cellH, p2[1] * cellW)));
  }
  public function getV(x:Number, y:Number, z:Number):Vertex {
   for each (var v:Vertex in vs){
    if (v.x == x && v.y == y && v.z == z){
     return v;
    }
   }
   v = new Vertex(x, y, z);
   vs.push(v);
   return v;
  }
  private function update(e:Event):void {
   view.render();
   camera.panAngle = (stage.mouseX - stage.stageWidth / 2) / 5;
   camera.tiltAngle = (stage.mouseY - stage.stageHeight / 2) / 5;
   camera.hover();
  }
 }
}






flash 3d 研究所 noxss
(2010-12-03 01:16:19)
同学建议上截图和说明,大家不是编译器。。


flash 3d 研究所 fur3
(2010-12-14 20:50:38)
排列错误需要bsp解决,等明年吧


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

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

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

(目前需登陆方可发表)


不想添加了