- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要创建一个神奇的 8 球应用程序,当手机翻转时它会改变答案。因此,当android加速度计的z值小于9时,我需要改变一次答案。
我的问题是,由于当手机保持在 if 语句值内的稳定位置时,加速度计值不断变化,因此循环将继续执行。
public class MainActivity extends Activity implements SensorEventListener {
private float xvalue, yvalue, zvalue;
private SensorManager sensorManager;
private Sensor accelerometer;
private float z;
TextView answer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
zvalue = sensorEvent.values[2];
if(zvalue > 9 & zvalue < 9)
printAnswer();
}
@Override
public void onAccuracyChanged(Sensor sensor, int i) {}
/** Called when the user taps the Send button */
public void sendMessage(View view) {
printAnswer();
}
public void printAnswer(){
answer = (TextView) findViewById(R.id.answer);
final String[] answers = {"It is certain", "It is decidedly so", "Without a doubt", "Yes definitely", "You may rely on it", "As I see it yes", "Most likely", "Outlook good", "Yes",
"Signs point to yes", "Reply hazy try again", "Ask again later", "Better not tell you now", "Cannot predict now", "Concentrate and ask again",
"Don't count on it", "My reply is no", "My sources say no", "Outlook not so good", "Very doubtful"};
Random r = new Random();
int randomNum = r.nextInt(answers.length);
answer.setText(answers[randomNum]);
}
}
最佳答案
有很多不同的方法可以实现这一点。我在这里提到的两种方法都属于“去抖动”类别,即平滑粗糙输入的过程。
您可以保留一个 prevZ
变量,该变量始终在 onSensorChanged
末尾设置。这将帮助您了解 z
如何随时间变化。如果 prevZ
小于阈值并且当前 z
高于阈值,则您刚刚识别出翻转!如果两个 Z 都低于阈值或高于阈值,则不执行任何操作。在这种情况下,最好有两个阈值:较高的阈值用于初始化翻转,较低的阈值用于何时指示翻转结束。否则奇怪的场景可能会在你的阈值附近来回跳跃,而你仍然会处于这种情况。
可能更好的方法是保留您上次注意到翻转的时间戳。当发生新的翻转时,检查距离上次翻转已经过去了多长时间。如果距离最后一次翻转还不到 1 秒,则无需执行任何操作。超过一秒?再次翻转并更新上次翻转的时间戳。您可以调整 1 秒的间隔,直到找到一个足够长的延迟,这样您就不会经常显示财富,但又足够短,这样人们就不会因为自己的翻转未被识别而感到被欺骗(例如 10 秒是可能太长了)。
关于java - 如何在翻转手机时更改神奇8球答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57898026/
我试图让球弹起,或者在它们碰撞时反转方向。我让它检查移动方法中的碰撞。它检查两个球之间是否发生碰撞,如果发生碰撞,它将反转速度。问题是,有时球会互相穿过,主要是较小的球。球要么弹跳得早,要么弹得晚,要
我一直在努力根据 2 个弹跳圆/球获得正确的矢量值。我知道他们什么时候反弹;使用毕达哥拉斯,但后来我迷路了。我知道我可能不得不使用三 Angular 函数 cos/sin/tan2。 情况,以我的形象
using UnityEngine; using System.Collections; public class audio : MonoBehaviour { public AudioClip
我正在尝试创建 3d 球体的动画,该动画是由该球体表面上的随机点制作的。这是我的代码,我在其中创建 500 个随机极点,然后将这些极坐标转换为笛卡尔坐标,然后将 X 和 Y 坐标映射到屏幕。这就是我得
我创建的这个程序应该基本上使用公式 V=Pi*h^2(3r-h)/3 但我的最终答案并没有相加。 例如:如果我用 1 代替半径,用 2 代替高度,我应该得到 4.18,但通过程序我得到 -1。 #in
我正在尝试制作一个简单的游戏,但如果我需要弹跳球的图像,我该怎么做呢?我正在做这个- function draw() { ctx.clearRect(0, 0, 300, 300);
我只是提出一个有可能结束的想法。我需要画一个 Crystal 球,红色和蓝色粒子随机分布在其中。我想我必须使用 photoshop,甚至尝试在图像中制作球,但由于这是用于研究论文并且不必很花哨,我想知
我有圆与圆相交的代码。但我需要将其扩展到 3-D。你能帮我写函数吗? static class Point{ double x, y, z; int dimension; Po
目标:我有一个三 Angular 形的球。球具有初始位置和速度。我试图弄清楚球会击中三 Angular 形的哪一边。 我试过的: I derived a formula通过参数化球的路径和三 Angu
由于我是 cocos2d 的新手,而且我很挣扎。任何人都可以建议我如何解决这个问题。 我有 3 个盒子(它们是运动体) 还有多个球(它们是动态物体),每个球都有一个标签值(盒子编号)。 我在射球位置和
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 7 年前。 Improve this qu
我正在为 rpm 编写一个 .spec 文件,它只是将一个 tar 球解压到文件系统上的某个目录中 那么我把原来的 tar 球放在哪里呢?我看到的所有示例都是从互联网上下载原始 tar 球的。但就我而
我是 THREE.js 的新手,对物理知识知之甚少 - 但我正在尝试构建一个足球游戏引擎(从顶部看),现在我正在为球的运动而苦苦挣扎。 当尝试将球从一侧移动到另一侧时,旋转始终朝向一个方向,我不明白如
我必须在 Android 中开发一个在屏幕上 move 球的应用程序。我需要用加速度计 move 球。我有这段代码,但球绕过边界并且没有反弹。 package com.example.test
我正在尝试创建一个 Roomba 程序,其中有一个球在屏幕上弹跳,以清洁它经过的瓷砖。该程序应该从所有灰色瓷砖开始,当球经过它们时,瓷砖就会变成白色。目前我有一个可以到处弹跳的球和一个创建 5x5 网
我正在尝试为我当前的作业创建一个加载屏幕效果。 它需要我们创建一个与 position: fixed .以此资金为背景。使用这个 div,有 4 个 与 position: absolute . 我们
我想将一个球(带有图像)扔到一个二维场景中,并在它到达一定距离时检查它是否发生碰撞。但我无法让它正确地“飞”。似乎这个问题已经被问过一百万次了,但随着我发现的越多,我就越困惑..现在我关注了this
这是我的代码 import java.util.*; import javafx.application.Application; import javafx.scene.Scene; import
我是一名优秀的程序员,十分优秀!