Sandy学习笔记.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Sandy学习笔记

Flash3D学习——Sandy学习笔记最近对Flash3D效果产生了兴趣,下决心学习一下Sandy。一下将学习的体会的感受写下来,一来帮助大家熟悉Sandy,二来加强自己的记忆。 先从基础开始吧(基础解释转自Flash3D研究所) 原理解释: 窗口: 用户观看的窗口,简单的可以想成就是flash里面的画布大小。窗口也可以理解成渲染的尺寸,否则画面就无限大了 场景: 场景是指整个三维的场景。 摄像机: 很多人要问,为什么有了摄像机还要窗口呢?摄像机是用来拍画面的,看画面还是得电视机/窗口不是吗,^_^ 渲染器:如果没有这个东西,所有以上的东西都只是数据,渲染器就是把所有数据变成图像的东西。 下面这幅图虽然并不算准确的表述,但希望能帮助我们理解: 然后开始写代码了(目前感觉Sandy的代码还是比较简洁的): 要先将Sandy的类库下载下来哦!!(在这里要谢谢 tenzn 的提醒,呵呵。) 官方网站: 下载地址:/files/Sandy3-1-1_src_rev1008.zip 先尝试创建一个立方体。 package { ??? import flash.display.Sprite; ??? import flash.events.Event; ??? import sandy.core.Scene3D; ??? import sandy.core.scenegraph.*; ??? import sandy.primitive.*; ??? ??? /** ???? * ... ???? * @author ever5u ???? */ ??? public class fuxi extends Sprite ??? { ??????? private var scene:Scene3D; ??????? private var camera:Camera3D; ??????? public function fuxi() { ??????????? //创建一个摄像机 ??????????? camera = new Camera3D(300, 300); ??????????? camera.z = -300; ??????????? //创建一个 Group ??????????? var root:Group = createScene(); ??????????? //创建场景 ??????????? scene = new Scene3D( scene, this, camera, root ); ??????????? //创建实时侦听 ??????????? addEventListener( Event.ENTER_FRAME, enterFrameHandler ); ??????? } ??????? var box = new Box(box, 100, 100, 100); ??????? public function createScene() { ??????????? var g:Group = new Group(); ??????????? g.addChild( box ); ??????????? return g; ??????? } ??????? public function enterFrameHandler(_evt:Event) { ??????????? box.rotateX = mouseX; ??????????? box.rotateY = mouseY; ??????????? scene.render(); ??????? } ??? } ??? } 成功了,效果如下: 接下来尝试给这个立方体着色。 这里需要用到 sandy.materials.attributes 类。 其中为线着色的方法 LineAttributes 有三个属性: LineAttributes(p_nThickness:uint = 1,? p_nColor:uint = 0,? p_nAlpha:Number = 1) p_nThickness:uint (default = 1) — 线的粗细 p_nColor:uint (default = 0) — 线的颜色 p_nAlpha:Number (default = 1) —? 线的透明度 这里设置是否使用光,需要先设置 lightingEnable = true 。 LightAttributes(p_bBright:Boolean = false, p_nAmbient:Number = 0.3) p_bBright:Boolean (default = false) — 设置是否支持光 p_nAmbient:Numbe

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档