【发布时间】:2017-03-01 11:11:20
【问题描述】:
Unity 在此链接中有这个示例项目“Roll a Ball”:https://unity3d.com/learn/tutorials/projects/roll-ball-tutorial
我已经能够在我的 Mac 上构建并使其 100% 正常工作。我可以使用键盘上的箭头键来移动球。一切都在 Mac 平台上运行。
但是,当我使用相同的代码在 iPad 上构建和部署此游戏时,我注意到当我用手指尝试移动球时,球根本没有移动。 (唯一的好处是所有的立方体都旋转得很好)
所以,我的问题是我是否需要修改球的 C# 脚本以使其适用于 iPad(尽管该脚本已经适用于 Mac)?
这是球的 C# 脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class PlayerController : MonoBehaviour
{
public float speed;
public Text countText;
public Text winText;
private Rigidbody rb;
private int count;
void Start ()
{
rb = GetComponent<Rigidbody>();
count = 0;
SetCountText ();
winText.text = "";
}
void FixedUpdate ()
{
float moveHorizontal = Input.GetAxis ("Horizontal");
float moveVertical = Input.GetAxis ("Vertical");
Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
rb.AddForce (movement * speed);
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag ( "Pick up"))
{
other.gameObject.SetActive (false);
count = count + 1;
SetCountText ();
}
}
void SetCountText ()
{
countText.text = "Count: " + count.ToString ();
if (count >= 12)
{
winText.text = "You Win!";
}
}
}
*有趣的是,我刚刚注意到 INPUT 类型具有方法“GetTouch()”。也许,我可以尝试在 iPad 上使用这种方法?最初,我希望上面 C# 脚本中适用于 Mac 的通用代码也适用于 iPad?也许,我的假设是错误的,我需要用“GetTouch()”为 iPad 编写一组不同的代码?好的,我认为这是可能的解决方案,现在将尝试... *
PS:顺便说一句,截至 2017 年 2 月,我使用的是最新的 Unity(版本 5.5.2f1)和最新的 XCode(8.2.1)。我 iPad 上的 iOS 也是最新的(版本 10.2.1)。
【问题讨论】: