加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Alternativa3D 8 在 Flash CS5 中的配置

发布时间:2020-12-15 06:38:14 所属栏目:百科 来源:网络整理
导读:相关下载 Flash播 放器: FlashPlayerDebugger.exe playerglobal: playerglobal.swc AS3 3D框架:Alternativa3D 8 相关文件打包下载(debug播放器+playerglobal.swc+FlashPlayer11_0_1.xml+DebugInfo.as): FlashCS5中的FP11配置.rar 配置 1. 下载? debug
相关下载
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),将其复制到:
Flash CS5安装目录CommonConfigurationActionScript 3.0FP11_0_1 (FP11_0_1文件夹需自行创建)

3. Flash CS5安装目录CommonConfigurationPlayers 中找到 FlashPlayer10_1.xml,复制一份并重命名为 FlashPlayer11_0_1.xml


用记事本打开?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"

4.?完成上面三步就算配置好了,下面来测试下 Flash Player 11 的配置是否成功。
① 打开 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 程序:
① 在?Alternativa3D_8.fla 中,菜单栏->文件->ActionScript 设置->库路径,点击+按钮,再点击f按钮,指定 Alternativa3D.swc 路径:

②?新建一个 ActionScript 3.0 类,命名为 HelloBox.as,键入下面代码:

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 的配置正确了:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读