AWAY3D4BETA版在ipad移动设备上无法使用手指触发某一个3d对象的解决方案

如果在一个MESH对象上增加一个MouseEvent3D对象的侦听的话,只能在PC机上管用。在IPAD上调试的时候,编译器会报错:

Exception fault:TypeError: Error#1010: A term is undefinedand has no properties.at away3d.core.raycast.colliders::TriangleCollider/updateRay()[..\away3d\core\raycast\colliders\TriangleCollider.as:128]

这个问题是away3d4.0本身代码的问题,可能以后在新版本中会更新它。解决方案如下

在away3d核心包 away3d.core.raycast中MouseRaycast类做如下修改

1原来的代码

if( numItems > 0 ) _triangleCollider.updateRay( collisionVO.localRayPosition, collisionVO.localRayDirection ); 

改为

if( numItems > 0 && Capabilities.os.slice(0, 6) != "iPhone" ) _triangleCollider.updateRay( collisionVO.localRayPosition, collisionVO.localRayDirection ); 


2原来的代码

if( collisionVO.cameraIsInEntityBounds
|| item.renderable.mouseHitMethod == MouseHitMethod.MESH_CLOSEST_HIT
|| item.renderable.mouseHitMethod == MouseHitMethod.MESH_ANY_HIT)

改为

if( Capabilities.os.slice(0, 6) != "iPhone" &&
(collisionVO.cameraIsInEntityBounds
|| item.renderable.mouseHitMethod == MouseHitMethod.MESH_CLOSEST_HIT
|| item.renderable.mouseHitMethod == MouseHitMethod.MESH_ANY_HIT) )

然后向PC机环境一样给object3d对象注册MouseEvent3D事件,同样会在ipad上得到响应,调试通过。

 

具体解决方案见这个网址:

https://github.com/away3d/away3d-core-fp11/issues/229


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值