我正在使用应用Unity Remote 4来测试我正在开发的应用。我想知道应用程序在Unity Remote上的工作方式是否与在应用程序商店中的应用程序完全相同。我问这个是因为在我的代码中我有Input.GetAxis(“Fire1”),当我点击屏幕时Input.GetAxis(“Fire1”)返回1,并且在输入管理器中它表示它只被指定为返回1时它被鼠标点击。
当我点击屏幕时,它只是注册为点击事件,还是输入管理器将触摸和点击视为同样的事情?
答案 0 :(得分:1)
其中一些可能在移动设备上工作,但它不可靠,不推荐使用。如果您想在移动设备上阅读触摸屏,请避免使用 Input.GetMouseButtonDown , Input.GetAxis(" Fire1")等内容。这些内容适用于鼠标和键盘,适用于独立版本。
对于移动设备,请使用(Input.touchCount> 0)&& (Input.GetTouch(0).phase == TouchPhase.Began)检测手指何时在屏幕上 Touch.deltaPosition 以检查手指移动手指的速度屏幕。
对于单击,点击,双击矿石,请使用 Touch.tapCount 。
现在,要回答 Unity Remote 问题, Unity Remote 的使用仅,以加快开发和测试过程,以便您不必每次都将应用程序上传到移动设备进行测试。它工作正常,但几乎没有问题。在使用 Unity Remote 并在移动设备上运行它之间的不同之处是从屏幕返回的浮动值,例如 Touch.deltaPosition.magnitude 。它们可以通过 Unity Remote 在您的PC上运行,但不会是您期望移动设备的预期值。
例如,如果您有这样的代码:
float moveThreshold = 20;
if ((Touch.phase == TouchPhase.Moved) && (Touch.deltaPosition.magnitude > moveThreshold)){
destroyEnemy();
}
假设在开发过程中使用Unity Remote可以在您的PC上运行,那么在您决定在移动设备上进行测试后,它可能会不在您的移动设备上运行。所以,你的最后一场比赛将结束许多敌人,因为敌人没有摧毁。将 moveThreshold 调整为5或4将解决此问题。虽然在PC 上工作但在移动平台上不。
必须 测试 物理设备,然后才考虑发布游戏。这是事实,我以前去过那里。