AIR开发移动设备上的3D加速配置文件-swf-version很重要

来源:互联网 发布:德利迅达银川大数据 编辑:程序博客网 时间:2024/04/28 21:45

在移动设备中,AWAY3D4.0里对象无法遮挡,也就是后边的对象无法被前边的对象挡住。X Y Z轴都有这样的问题。AWAY3D4.0无论是alpha版本还是beta版本部署在移动AIR3.3里都有问题。当时以为是我机器环境的问题,在网上浏览别人技术博客,抓了一个北京的兄弟,蝈蝈GIS,他的机器上也出现了同样的问题。

但是在FLASH PLAYER里和PC机的AIR上运行没有出现这样的问题。

最后移植官网的EXAMPLE到一个手机AIR工程里执行,也还是出现了无法遮挡的问题。

估计是AIR3.3在移动设备上运行3D加速的一个BUG。

具体毛病我提交到了AWAY3D官网论坛的BUG讨论区,不过真的和AWAY3D没什么关系

http://away3d.com/forum/viewthread/2498/

我想是不是***-app.xml配置文件里的标签depthAndStencil没有改成true的原因,在这个版本里改成true的话,编译器会报错。

在快要绝望的时候,我咬牙将AIR SDK版本从3.3(beta版本)回退到了3.2。同时,把***-app.xml配置文件里的标签depthAndStencil改成了true。于是再就没有出现之前的问题了。只是在PC机上的模拟器上预览的时候,屏幕稍微有点偏移,只显示了一半,但是部署到ipad上去是没有问题的,这个问题得到了解决。

AIR3.2

-swf-version=13

<renderMode>direct</renderMode>

<depthAndStencil>true</depthAndStencil>

View3D.as类文件不改动方法保持原有的代码:

protected function updateBackBuffer() : void
  {
//   _stage3DProxy.configureBackBuffer(_width, _height, _antiAlias, false);
   _stage3DProxy.configureBackBuffer(_width, _height, _antiAlias, true);//原始
   
   _backBufferInvalid = false;
  }

 

在上边配置的基础上,把SDK改成AIR3.3,也是可以运行的,并且不会出现PC机模拟器上调试有问题的情况。

总结:away3d开发移动设备应用,必须-swf-version=13

原创粉丝点击