首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重置加速度计事件As3

如何重置加速度计事件As3
EN

Stack Overflow用户
提问于 2014-12-17 18:50:43
回答 1查看 194关注 0票数 2

在我的项目中,在游戏开始时,加速度计事件工作得很好。当游戏到达游戏页面并点击重新启动按钮。当重新开始整个游戏时,所有的对象都工作得很好,而且所有的值都被重置了,但是加速度计不工作。

提前谢谢。

代码如下:

代码语言:javascript
复制
if (Accelerometer.isSupported)
{ 
    acc = new Accelerometer();
    acc.addEventListener(AccelerometerEvent.UPDATE,updateFn);
}
public function updateFn(e:AccelerometerEvent):void 
{ 
    targetX = e.accelerationX * 9.8; 
}
EN

回答 1

Stack Overflow用户

发布于 2015-03-13 13:06:59

只需在应用程序启动/激活后注册Accelerator,并在每次加速器更新时将其值保存到全局变量中,并在每次将应用程序放到后台/停用/退出时禁用它。例如:

代码语言:javascript
复制
NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, handleApplicationDeactivated);
NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, handleApplicationActivated);

function handleApplicationActivated( e:Event):void {

   // Check if Accelerometer is already activated 
   if( acc != null ) return; 

   acc = new Accelerometer();
   acc.addEventListener(AccelerometerEvent.UPDATE,update);
}
function update( e:AccelerometerEvent ):void {
  GlobalVars.accX = e.accelerationX;
  GlobalVars.accY = e.accelerationY;
  GlobalVars.accZ = e.accelerationZ;
}
function handleApplicationDeactivated( e:Event):void {
   acc.removeEventListener(AccelerometerEvent.UPDATE,update);
   acc = null;
}

编辑:由于NativeApplication有一些问题,您可能希望使用激活/停用代码:NativeApplication DEACTIVATE-ACTIVATE app when in the background

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27523848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档