Alternativa3D 8 在 Flash CS5 中的配置
相关下载
Flash播放器: FlashPlayerDebugger.exe playerglobal: playerglobal.swc AS3 3D框架:Alternativa3D 8 相关文件打包下载(debug播放器+playerglobal.swc+FlashPlayer11_0_1.xml+DebugInfo.as): FlashCS5中的FP11配置.rar 配置 1. 下载? debug独立播放器(点击下载),重命名为? FlashPlayerDebugger.exe,将其复制到: Flash CS5安装目录Players/Debug (建议先备份该文件夹中原来的FlashPlayerDebugger.exe) 2. 下载 playerglobal.swc(点击下载),名字可以改为playerglobal11_0_1.swc(表示对应FP11版本11.0.1.152),将其复制到: 用记事本打开?FlashPlayer11_0_1.xml,将: <player id="FlashPlayer10" version="10" asversion="3"> <name>Flash Player 10</name>改为: <player id="FlashPlayer11_0_1" version="13" asversion="3"> <name>Flash Player 11_0_1</name> as3="$(AppConfig)/ActionScript 3.0/FP10/playerglobal.swc"改为: as3="$(AppConfig)/ActionScript 3.0/FP11_0_1/playerglobal11_0_1.swc" ① 打开 Flash CS5,新建一个 ActionScript 3.0 类,命名为 DebugInfo.as,键入下面代码: package { import flash.display.Sprite; import flash.display.Stage3D; import flash.display3D.Context3D; import flash.display3D.Context3DRenderMode; import flash.events.Event; import flash.system.Capabilities; import flash.text.TextField; public class DebugInfo extends Sprite { private var tf:TextField = new TextField(); public function DebugInfo() { tf.autoSize = "left"; stage.addChild(tf); trace("Flash Player version : " + Capabilities.version);//播放器版本 tf.appendText("Flash Player version : " + Capabilities.version) var stage3D:Stage3D = stage.stage3Ds[0]; stage3D.addEventListener(Event.CONTEXT3D_CREATE,on_3d); stage3D.requestContext3D(Context3DRenderMode.AUTO); } private function on_3d(e:Event):void { var context3D:Context3D = Stage3D(e.target).context3D; trace("3D dirver : " + context3D.driverInfo);//加速方式 tf.appendText("n3D dirver : " + context3D.driverInfo); } } } ② 新建一个 ActionScript 3.0 文档,可命名为 Alternativa3D_8.fla,文档类指定为 DebugInfo。 菜单栏->文件->发布设置->Flash->播放器版本(快捷键:Ctrl+Shift+F12),选择? Flash Player 11_0_1 选项。 ③ 菜单栏->调试->调试影片->调试(快捷键:Ctrl+Shift+Enter),如果输出: Flash Player version : WIN 11,1,152 3D dirver : DirectX9 (Direct blitting)说明已配置正确。 PS:如果配置过程没错,但输出的是: Flash Player version : WIN 11,152 3D dirver : Software (Direct blitting) 可以尝试升级下显卡驱动,原先我也因为显卡驱动没更新而出现上面这种情况,更新后就好了。更新之前建议备份旧驱动,有备无患。 5. 调试 Alternativa3D 8 程序: package { import alternativa.engine3d.controllers.SimpleObjectController; import alternativa.engine3d.core.Camera3D; import alternativa.engine3d.core.Object3D; import alternativa.engine3d.core.Resource; import alternativa.engine3d.core.View; import alternativa.engine3d.materials.FillMaterial; import alternativa.engine3d.primitives.Box; import flash.display.Sprite; import flash.display.Stage3D; import flash.events.Event; [SWF(width=800,height=600)] public class HelloBox extends Sprite { private var stage3D:Stage3D; private var camera:Camera3D; private var rootContainer:Object3D; private var controller:SimpleObjectController; private var box:Box; public function HelloBox() { camera = new Camera3D(0.01,10000000000); camera.x = -50; camera.y = -300; camera.z = 100; controller = new SimpleObjectController(stage,camera,200); controller.lookAtXYZ(0,0); camera.view = new View(800,600,false,0xFFFFFF,4); addChild(camera.view); rootContainer = new Object3D(); rootContainer.addChild(camera); box = new Box(); box.setMaterialToAllSurfaces(new FillMaterial(0x0)); rootContainer.addChild(box); stage3D = stage.stage3Ds[0]; stage3D.addEventListener(Event.CONTEXT3D_CREATE,init); stage3D.requestContext3D(); } private function init(event:Event):void { for each (var resource:Resource in rootContainer.getResources(true)) { resource.upload(stage3D.context3D); } addEventListener(Event.ENTER_FRAME,enterFrameHandler) } private function enterFrameHandler(event:Event):void { controller.update(); camera.render(stage3D); } } } ③ 将 Alternativa3D_8.fla 的文档类改为?HelloBox,菜单栏->调试->调试影片->调试,如果可以看到一个黑色的立方体,说明 Alternativa3D 8 的配置正确了: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |