在我的游戏中,我希望玩家在游戏中的任何时候都摇晃手机,每次摇晃都会导致武器切换。
示例:玩家拿着刀,[摇动手机],然后切换到武士刀。
if (accelerometer.x >= 5 || accelerometer.x <= -5 || accelerometer.y >= 5
|| accelerometer.y <= -5 || accelerometer.z >= 5 || accelerometer.z <= -5 )
switchWep();
这样做是有副作用的,当玩家摇动手机有时会两次切换武器。因此,我想限制它,以便在发生剧烈震动时游戏不会从武器0切换到武器2。
请帮忙。
最佳答案
您可以设置一个简单的时间限制,以使彼此之间不能切换2次。我认为1秒-500毫秒就足以避免两次切换。
编辑:
您可以这样做,但是我不确定它是最理想的还是锁定安全的方式。
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
}
}
关于java - Android摇码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11968970/