首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android Shake代码

Android Shake代码
EN

Stack Overflow用户
提问于 2012-08-15 12:06:52
回答 2查看 776关注 0票数 0

在我的游戏中,我希望玩家在游戏中的任何时刻摇他的手机,每一次的摇晃都会导致武器的交换。

例如:玩家有刀子,摇着手机,并切换到片上。

代码语言:javascript
运行
复制
if (accelerometer.x >= 5 || accelerometer.x <= -5   || accelerometer.y >= 5 
   || accelerometer.y <= -5   || accelerometer.z >= 5 || accelerometer.z <= -5 )
   switchWep();        

这起作用了,问题是--它有一个副作用--.When--玩家摇着手机,有时它会换两次武器。所以我想限制它,这样如果有大的震动,游戏就不会从武器0切换到武器2。

请帮帮忙。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-15 12:10:06

你可以设置一个简单的时间限制,这样你就不能在彼此之后切换2次。我想1秒- 500毫秒就足够避免双开关了。

编辑:您可以这样做,但我不确定这是最优或最安全的方法。

代码语言:javascript
运行
复制
protected void shake() {
    if(mAllowShake) {
        mAllowShake = false;

        // do shake

        Handler handler = new Handler() {
            @Override
            public void handleMessage(Message msg) {
                mAllowShake = true;
            }
        };

        handler.sendMessageDelayed(null, 500);  // time in milliseconds
    }
}
票数 3
EN

Stack Overflow用户

发布于 2012-08-31 21:11:48

您可以尝试将.5更改为更高的数字。

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

https://stackoverflow.com/questions/11968970

复制
相关文章

相似问题

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