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