away3d 搭建(一)
来源:互联网 发布:java 0xff 编辑:程序博客网 时间:2024/06/02 08:03
看了这个视频http://my.ku6.com/watch?v=xx_Rsa3PStylKRPnpbkkqg..#share
终于照抄着实现了away3d的一个Demo。汗颜啊!还参考了这篇大神的博文,感谢http://bbs.9ria.com/thread-89275-1-1.html
第一阶段 准备必要的资源
(1) Flash builder 4.6 下载地址: http://119.147.150.31/down_group174/M00/05/8E/d5OWH06WuMQAAAAAMij0OHs7D4o4521587/FlashBuilder_4_6_LS10_325268.exe?k=vhVD_rezgW3IaXYYY9o7-g&t=1318522601&u=221.122.119.254@0@clydq4g9&file=FlashBuilder_4_6_LS10_325268.exe
注册机已上传,keygen.rar文件
(2) away3d-core-fp11_4_0_7_gold 这个away3d官网上可以下载 http://away3d.com/images/uploads/releases/away3d-core-fp11_4_0_7_gold.zip
(3) flashPlayer 11 下载完成后名称改为“playerglobal.swc”,放到文件夹中,路径 Flash Builder安装目录-->sdks-->4.6.0-->frameworks-->libs-->player。
第二阶段:配置
(1) 新建的是ActionScript项目,这个也许对大神来说不是一个问题,可是在我动手搭建的时候,遇到的一个大问题就是 package{……}这样的代码往哪里拷贝的问题。
(2) 配置ActionScript编译器,两个重要的地方如图所示
第一个地方是选择你的flashplayer,即选择playerglobal.swc。(注意:使用的版本号是playerglobal.swc的文件夹名称)。
第二个地方,不知道所以然。可以跟【项目文件夹中的index.template.html文件上单击右键,在弹出的快捷菜单中选Open With-->Text Editor打开它,并找到params.allowfullscreen = "true";一行(约在48行),在此行下插入一行:params.wmode="direct";(注意使用英文符号),保存文件。
】这个修改有异曲同工之效。
下面跟着视频一步步抄袭代码:
第三阶段 源码
package{ import away3d.containers.View3D; import away3d.entities.Mesh; import away3d.materials.ColorMaterial; import away3d.primitives.PlaneGeometry; import flash.display.Sprite; import flash.events.Event; import flash.geom.Vector3D; [SWF(width=640,height=480,frameRate=60)] public class BreakingApp extends Sprite { private var view:View3D; private var cube:Mesh; public function BreakingApp() { setupScene(); } private function setupScene():void{ view =new View3D(); addChild(view); cube=new Mesh(new PlaneGeometry(),new ColorMaterial(0xff0000)); view.scene.addChild(cube); view.camera.z=-500; view.camera.y=300; view.camera.lookAt(new Vector3D()); addEventListener(Event.ENTER_FRAME,loop); } protected function loop(event:Event):void { // TODO Auto-generated method stub view.render(); } }}
第四阶段:转动
cube.rotationY++;
第五阶段 放进图片【 注意:图片的大小(像素必须是2的n次方,否则报错:Invalid bitmapData: Width and height must be power of 2 and cannot exceed 2048)】;
图片是随便从网上找的,可以是jpg、png格式,放到工程src目录下。
[Embed(source="1.jpg")]
private var I1:Class;
[Embed(source="2.jpg")]
private var I2:Class;
[Embed(source="3.jpg")]
private var I3:Class;
[Embed(source="4.jpg")]
private var I4:Class;
[Embed(source="5.jpg")]
private var I5:Class;
[Embed(source="6.jpg")]
private var I6:Class;
var bct:BitmapCubeTexture=new BitmapCubeTexture(new I1().bitmapData,
new I2().bitmapData,
new I3().bitmapData,
new I4().bitmapData,
new I5().bitmapData,
new I6().bitmapData);
运行效果:
第六阶段:图片响应鼠标事件
hc=new HoverController(view.camera,null,150,10,200);
hc.panAngle=mouseX-320;
hc.tiltAngle=mouseY-240;
hc.panAngle=mouseX-320;
hc.tiltAngle=mouseY-240;
运行效果:
完整代码:
package{ import away3d.containers.View3D; import away3d.controllers.HoverController; import away3d.entities.Mesh; import away3d.materials.ColorMaterial; import away3d.materials.SkyBoxMaterial; import away3d.primitives.CubeGeometry; import away3d.primitives.PlaneGeometry; import away3d.textures.BitmapCubeTexture; import flash.display.Sprite; import flash.events.Event; import flash.geom.Vector3D; [SWF(width=640,height=480,frameRate=60)] public class BreakingApp extends Sprite { [Embed(source="1.jpg")] private var I1:Class; [Embed(source="2.jpg")] private var I2:Class; [Embed(source="3.jpg")] private var I3:Class; [Embed(source="4.jpg")] private var I4:Class; [Embed(source="5.jpg")] private var I5:Class; [Embed(source="6.jpg")] private var I6:Class; private var view:View3D; private var cube:Mesh; private var hc:HoverController; public function BreakingApp() { setupScene(); } private function setupScene():void{ view =new View3D(); addChild(view); var bct:BitmapCubeTexture=new BitmapCubeTexture(new I1().bitmapData, new I2().bitmapData, new I3().bitmapData, new I4().bitmapData, new I5().bitmapData, new I6().bitmapData); cube=new Mesh(new CubeGeometry(),new SkyBoxMaterial(bct)); view.scene.addChild(cube); view.camera.z=-500; view.camera.y=300; view.camera.lookAt(new Vector3D()); hc=new HoverController(view.camera,null,150,10,200); addEventListener(Event.ENTER_FRAME,loop); } protected function loop(event:Event):void { // TODO Auto-generated method stub hc.panAngle=mouseX-320; hc.tiltAngle=mouseY-240; cube.rotationY++; view.render(); } }}
虽然实现了运行,但是里面的代码是不求甚解。后续将继续研究,期待高手指点!QQ:445101304 ,希望大神不吝赐教。在此先感谢了
- away3d 搭建(一)
- Away3d学习一
- Away3D
- Web三维技术:Flash Builder+away3d平台搭建
- away3d开发环境搭建——Flash Develop+Adobe Flex
- 【Away3D代码解读】(一):主要类及说明
- away3d MaterialBase
- Away3D基础教程(一):创建可鼠标交互的基本几何对象
- Away3D Lite:away3d使用者的福音
- Away3D Lite:away3d使用者的福音
- Away3d基础 3 -相机
- away3d配置及使用
- Away3d基础入门
- Flash3D Away3D 4.0教程
- away3d method的用法
- 配置away3D 4
- Away3d之SkyBox
- Away3D基础技巧
- VC右键菜单中显示图片,附源码
- HDU 4366 树转化为连续序列 线段树
- Rhino学习笔记(一)---配置安装和运行第一段javascript代码
- An internal error occurred during: "Launching New_configuration".
- 二叉树两个结点的最低共同父结点
- away3d 搭建(一)
- C++枚举进程的方法
- ubuntu强制安装flash
- 【解惑】这么多技术我该怎么学
- 在web.config里面怎么设置FORMS验证:某几个页面可以匿名访问,其他页面都需要登录
- BNU 0814 C The Captain's Squad
- Sphinx全文检索
- BLAST how to use blastn
- Sphinx安装与测试