日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

flex 结合sandy引擎创作

發布時間:2024/6/5 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flex 结合sandy引擎创作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"> <mx:Script> <!--[CDATA[ import mx.core.UIComponent; import sandy.core.Scene3D; import sandy.core.scenegraph.*; import sandy.primitive.*; import sandy.core.data.*; import sandy.materials.*; import sandy.materials.attributes.*; private var scenne:Scene3D; private var camera:Camera3D; private var ranY:Number=0.5; private var box:Box; private function init():void { var ui:UIComponent=new UIComponent();//創建一個組件 var sprite:Sprite=new Sprite(); ui.addChild( sprite); canvas.addChild(ui);//添加容器 camera=new Camera3D(300,300);//創建一個攝影機 camera.z=-400; var root:Group=createScene(); scenne=new Scene3D("scene1", sprite,camera,root); addEventListener(Event.ENTER_FRAME,Run); } private function createScene():Group { var g:Group=new Group(); box=new Box("box",100,100,100); var materialAttr:MaterialAttributes = new MaterialAttributes( new LineAttributes( 0.5, 0x2111BB, 0.4 ), new LightAttributes( true, 0.1) );//創建材質屬性,線性光, var material:Material = new ColorMaterial( 0xFFCC33, 1, materialAttr );//創建顏色材質 material.lightingEnable = true; var app:Appearance = new Appearance( material );//為物體創建材質表面 box.rotateX=10; box.rotateY=0; box.appearance = app;//指定材質表面 g.addChild(box); box.rotateX=30; box.rotateY=30; g.addChild(box); return g; } private function Run(event:Event):void { scenne.render();//渲染場景 box.rotateX+=1;//讓立方體會在x軸上旋轉 box.rotateY+=1;//讓立方體會在y軸上旋轉 } ]]--> </mx:Script> <mx:Canvas id="canvas" x="72" y="66" width="411" height="359"> </mx:Canvas> </mx:Application>

使用flex 結合sandy 引擎來創造一些3d物體,感覺還是不錯。

制作步驟:

把sandy 引擎相關的文件導入相關的包到flex到project里面去。

初始化的時候,我們首先在場景里面拖動一個Canvas 容器,在容器里面添加子組件去

var ui:UIComponent=new UIComponent();//創建一個組件 var sprite:Sprite=new Sprite(); ui.addChild( sprite); canvas.addChild(ui);//添加容器

注意:

scenne=new Scene3D("scene1", sprite,camera,root);

第二個參數,在使用flash ide 開發的時候,我們只是用this來指定第二個參數。 因為this 代表sprite類對象的引用

scenne=new Scene3D("scene1",this,camera,root);//創建帶攝像機的場景

對比一下使用ide創建一個立方體的:

package { import flash.display.Sprite; import flash.events.*; import sandy.core.Scene3D; import sandy.core.scenegraph.*; import sandy.primitive.*; import sandy.core.data.*; import sandy.materials.*; import sandy.materials.attributes.*; public class My3D2 extends Sprite { private var scenne:Scene3D; private var camera:Camera3D; private var ranY:Number=0.5; private var box:Box; public function My3D2() { camera=new Camera3D(400,400);//設定攝影機大小和位置 camera.z=-300; var root:Group=createScene(); scenne=new Scene3D("scene1",this,camera,root);//創建帶攝像機的場景 addEventListener(Event.ENTER_FRAME,Run); } private function createScene():Group { var g:Group=new Group(); box=new Box("box",100,100,100); var materialAttr:MaterialAttributes = new MaterialAttributes( new LineAttributes( 0.5, 0x2111BB, 0.4 ), new LightAttributes( true, 0.1) );//創建材質屬性,線性光, var material:Material = new ColorMaterial( 0xFFCC33, 1, materialAttr );//創建顏色材質 material.lightingEnable = true; var app:Appearance = new Appearance( material );//為物體創建材質表面 box.rotateX=10; box.rotateY=0; box.appearance = app;//指定材質表面 g.addChild(box); return g; } private function Run(event:Event):void { scenne.render(); box.rotateX+=1;//讓立方體會在x軸上旋轉 box.rotateY+=1;//讓立方體會在y軸上旋轉 } } }

區別在于上面所學到sprite類的對象。

要在flex里面顯示我們創建的立方體。首先要指定一個sprite對象

如果不是就會出現以下錯誤:

強制轉換類型失敗:無法將 flash.display::Sprite@1726041 轉換為 mx.core.IUIComponent。

?因為 mx:Application 本身就是一個組件,如果在使用addChild 創建子項,也就是

?? var? sprite:Sprite=new Sprite();
?????? addChild( sprite);

sprite對象已經在Application 組件里面了 ,但是flash.display sprite對象無法 添加到Application 里面去

為了顯示我們所創建的立方體,我們自己定義了一組件,并將sprite對象添加到容器里面去作為他的子項目

而通過Canvas容器,把自己創建的組件也添加到容器里面作為父級容器。

? var ui:UIComponent=new UIComponent();//創建一個組件?????
?????? var? sprite:Sprite=new Sprite();
????? ui.addChild( sprite);
??????? canvas.addChild(ui);//添加容器?

Canvas容器---> ui---->--sprite

這樣 顯示的效果就出來了

轉載于:https://www.cnblogs.com/guoyiqi/archive/2009/01/22/2069434.html

總結

以上是生活随笔為你收集整理的flex 结合sandy引擎创作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲区一区二区三区 | 久久黄色片视频 | 欧美成人精品一区二区三区在线观看 | 中文字幕免费在线看线人 | av制服丝袜在线 | 超碰五月| 天天干天天操av | 在线看a级片 | 性猛交xxxx乱大交孕妇印度 | 摸摸摸bbb毛毛毛片 午夜爽爽影院 | 欧美xxxxbbb| 日韩欧美v | 日韩一级免费观看 | 色乱码一区二区三区 | 麻豆av影院 | 九九碰| 欧美一级精品 | 天天操天天操天天 | 中文在线观看av | 色五婷婷 | 亚洲精品中文字幕在线 | 狂野欧美性猛交xxxx777 | 国产在线欧美在线 | 久久久无码人妻精品一区 | 久久人精品 | 久久免费国产视频 | 亚洲精品另类 | 色婷婷社区 | 中国少妇做爰全过程毛片 | 少妇闺蜜换浪荡h肉辣文 | 亚洲人 女学生 打屁股 得到 | 色欧美88888久久久久久影院 | 韩国精品在线 | 少妇高潮毛片 | 高清久久久久久 | 一区二区三区在线播放视频 | 日韩激情一区二区三区 | 强行挺进皇后紧窄湿润小说 | 女同久久另类69精品国产 | 亚洲色图综合网 | 小蝌蚪av| 国产精品乱码一区二三区小蝌蚪 | 五月天婷婷在线视频 | 日日噜噜夜夜狠狠久久丁香五月 | 性欧美大战久久久久久久免费观看 | 无码不卡av东京热毛片 | 岛国av一区二区 | 樱空桃在线观看 | 日韩黄色录像 | 免费无码毛片一区二三区 | 风间由美在线视频 | 老汉色老汉首页av亚洲 | 亚洲无av在线中文字幕 | 香蕉污视频 | 亚洲欧美在线成人 | 青青操免费在线视频 | 97精品人妻一区二区三区香蕉 | 在线成人影视 | 91九色视频在线 | 大学生一级一片全黄 | 深夜毛片 | 黄色avv | 成人免费看高清电影在线观看 | 国产五月天婷婷 | 免费无遮挡无码永久视频 | 粉嫩av| 亚洲高清福利 | 欧美一区永久视频免费观看 | 欧美一区,二区 | 在线免费观看污 | 很污的网站 | 欧美无马 | 国产无 | 久久久久无码国产精品一区李宗瑞 | 国产精品一线天 | 国产人人草 | 日韩在线观看av | 少妇人妻偷人精品无码视频新浪 | 国产午夜一级一片免费播放 | 亚洲第一二三四区 | 欧美久操 | 亚洲欧美一二三 | 国产一区二区三区自拍 | 可以直接观看的av | 欧美日韩精品在线 | 免费在线观看的黄色网址 | 国产精品无码久久久久成人app | 日韩在线精品强乱中文字幕 | 国产又粗又猛又爽又黄又 | 日本天天操 | www.777奇米影视| 日本精品久久久 | 国产精品无码免费在线观看 | 欧美国产不卡 | 日韩一区二区三区av | 欧美zozo | 97人人爽人人爽人人爽人人爽 | 国产探花在线精品一区二区 | 美女视频黄频视频大全 |