关闭

sandy引擎学习笔记: 创建一个立方体

1043人阅读 评论(0) 收藏 举报

   问题:如何利用sandy的类库去创建一个立方体呢?

   首先,我们要先了解sandy类库的结构

 

 

   可以看到上面就官方网放出的类库表,有一些很容易理解,像sandy.events 这个和flash.event 事件都差不多,如果我们要创建一个立方体,我们使用到sandy.primitive 类包里面一个box的类,这个包主要创建一些比较简单的模型。这次我们只是需要用到box

 

 var myBox:Box = new Box( "theBox", 50, 100, 150, PrimitiveMode.TRI, 2 );

这样就是一个创建的过程。是不是很简单的呢,其实官方的文档写得不尽人意。幸运的事情,官方提供代码的训练和讲解。好废话小说。看上面的创建只是就个box类,主要是创建一些立方体和长方体的模型。后两个参数可以不用理会。

 var myBox:Box = new Box( "theBox", 50, 100, 150);

 

第一个名字,第二,第三,第四分别是长宽高。

 

 

  1. package{
  2.     import flash.display.Sprite;
  3.     import flash.events.*;
  4.     import sandy.core.Scene3D;
  5.     import sandy.core.scenegraph.*;
  6.     import sandy.primitive.*;
  7.     import sandy.core.data.*;
  8.     import sandy.materials.*;
  9.     import sandy.materials.attributes.*;
  10.     public class My3D extends Sprite
  11.     {
  12.         private var scenne:Scene3D;
  13.         private var camera:Camera3D;
  14.         private var ranY:Number=0.5;
  15.         private var box:Box;
  16.         
  17.         public function My3D()
  18.         {
  19.             camera=new Camera3D(300,300);
  20.             camera.z=-400;
  21.             var root:Group=createScene();
  22.             
  23.             scenne=new Scene3D("scene1",this,camera,root);
  24.             addEventListener(Event.ENTER_FRAME,Run);
  25.             
  26.         }
  27.         
  28.         
  29.         private function createScene():Group 
  30.         {
  31.             var g:Group=new Group();
  32.             box=new Box("box",100,100,100);
  33.             box.rotateX=30;
  34.             box.rotateY=30;
  35.             g.addChild(box);
  36.             return g;
  37.             
  38.         }
  39.         
  40.         private function Run(event:Event):void
  41.         {
  42.             scenne.render();
  43.             box.rotateX=mouseX;
  44.             box.rotateY=mouseY;
  45.             
  46.         }
  47.         
  48.     }
  49.     
  50.     
  51.     
  52.     
  53.     }

 

暂时不用看代码,首先我们了解这个创建 的过程,我们建立一个场景,一个摄影机,一个box,舞台这样。我们假设这个是对的创造过程,按照思路在场景里面摆放一台摄影机器。定位在一个位置中,注视一个位置,这个位置我们所要观察到的立方体。

最终在场景中要渲染出来才可以显示到舞台上。。

就是这样一个过程。

 

 

 

注意:

        import sandy.core.Scene3D;//场景的

       import sandy.core.scenegraph.*;//负责图形

       import sandy.primitive.*;//简单的模型

 

这次主要使用到sandy引擎中三个包。它的创建过程,就是像一个导演拍摄一样。创建场景,创建角色,渲染场景。

 

好就是这样,下次我们再学习摄影机,场景 和纹理贴图,还有高级的3ds模型导入。

 

0
0
查看评论

Sandy引擎学习笔记:Mode7

 由于官方已经提供了这个例子,我干脆弄了一个例子上来,其实也是按它的做法来完成的。 sandy 3.1版本新增了一个类库包sandy.core.scenegraph.mode7 这个类库包里面提供了两个类,一个是Mode7,一个是CameraMode7,这两个类非常有用...
  • hero82748274
  • hero82748274
  • 2009-03-29 16:22
  • 1285

Sandy引擎学习笔记:摄影机

第三课程:如何使用摄影机?通过摄影机移动来使摄影的对象产生变化,这样会使动画变得容易。因为你不需要改变观察对象的的属性,只是改变摄影机的变化  package {    import flash.display.Spri...
  • hero82748274
  • hero82748274
  • 2008-10-11 21:47
  • 622

Sandy引擎学习笔记:纹理贴图

问题:怎样才能为我的创建的物体创建纹理贴图?ppackage {    import flash.display.Sprite;    import flash.display.Bitmap...
  • hero82748274
  • hero82748274
  • 2008-10-05 17:59
  • 1027

9款超级棒的FLASH 3D引擎

flash从更新以来发布了许多的3d引擎,自己见过的就有不下10款,在使用的时候真的是会让人犯难,我个人曾经使用过一段时间PV3D,感觉PV3D的创建时间,用户规模等等相对都要更加成熟,因此我自己更加推荐PV3D 不过这里推荐的9款引擎不仅有PV3D,还有 sandy flash3d(没听过)...
  • pizi0475
  • pizi0475
  • 2012-04-28 21:35
  • 2193

Sandy引擎学习笔记:多维贴图

  在Sandy引擎里面,我们可以对其进行多维贴图,Box类就是一个典型的例子。它可以进行多面的贴图,对六个面进行不同的贴图效果,做法很简单,仅仅在呈现表面的时候,选择不同的面,赋予不同的表面这样一个简单的效果就出来了。 在Box类里面有getFace这样的方法,他可以...
  • hero82748274
  • hero82748274
  • 2009-04-02 16:03
  • 1111

Sandy引擎学习笔记:颜色材质

  第二个问题:创建了一个立方体后,怎样为为这个立方体添加材质?首先最简单的材质,我们会想到颜色,颜色是最容易理解。因此我们在这里应该学会如何为我们的物体添加材质。package {    import flash.di...
  • hero82748274
  • hero82748274
  • 2008-10-11 20:36
  • 697

Sandy引擎学习笔记:鼠标交互

   很早之前,我们可以使用Sandy的摄影机来移动物观察对象物,通过键盘控制摄影机的移动和旋转。今天我们尝试鼠标的交互,通过鼠标交互来控制sandy的对象物。 一、目标在显示类核心编程里面,Sprite类占有一个很大的席位,通过监听MouseEvent,我们...
  • hero82748274
  • hero82748274
  • 2009-03-28 09:46
  • 835

3D变化——旋转的立方体

学习了一段时间的html,前两天学习了3d动画,实现了立方体的旋转,其实实现立方体旋转的方法有好多种,我们今天只说一种方法(是我认为比较简单的一种)用到的知识点: 定位 3d旋转 过渡(鼠标点击开始旋转) 首先我们应该先搭建一个立方体,用定位把六个面重叠在一起,然后应用旋转把立方体撘建起来,下面我们...
  • sinat_33441740
  • sinat_33441740
  • 2016-08-23 13:09
  • 431

Sandy引擎学习笔记:swf影片剪辑纹理贴图

 Sandy引擎可以像3dsmax 传统的3d制作软件 那样可以支持外部贴图,同样也可以支持swf 的贴图,和flv 的贴图显示,这样一件让人觉得兴奋的事情。下面引入官方一个代码:(偷懒一下,下次补回更多解析)     package...
  • hero82748274
  • hero82748274
  • 2008-10-15 22:51
  • 1012

Sandy引擎学习笔记:导入MD2模型

 在sandy升级到3.1的版本后,加入了支持导入md2的模型,总算进步一些。关于md2模型,按我猜测是一种动画的模型格式,sandy升级3.1版本后,才支持导入这种格式,之前可以导入3ds模型,但是效率比较差,运算大一点都难以渲染出来。关于导入的方面,其实sandy里面有专门负责外部的导...
  • hero82748274
  • hero82748274
  • 2009-04-27 20:05
  • 1747
    个人资料
    • 访问:2004284次
    • 积分:38121
    • 等级:
    • 排名:第120名
    • 原创:1350篇
    • 转载:22篇
    • 译文:0篇
    • 评论:2139条
    公告栏
    是夏天带来了热情,
    还是热情与夏天恋爱了?
    我倾夏天的脚步,
    感受清风的凉意,
    在行云流水之中,
    追求一种人生哲学.
    QQ :877690056

    赞赏在下

    Flag Counter
    文章存档