OStack程序员社区-中国程序员成长平台

标题: c# - Unity 示例项目 "Roll a Ball"在 iPad 上不起作用(球不动)? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 00:02
标题: c# - Unity 示例项目 "Roll a Ball"在 iPad 上不起作用(球不动)?

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 ( "ick 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)。



Best Answer-推荐答案


我从来没有在 Unity 中为 iPad 创建过任何东西,但是根据您提供的描述,我认为问题不在您的脚本中。我建议您检查输入管理器中的所有内容是否正确链接 (编辑->项目设置->输入)

https://docs.unity3d.com/Manual/class-InputManager.html

我认为问题在于游戏没有检测到您在 iPad 上的输入。您可以尝试在 x 轴上给小球添加一个恒定的速度,如果它移动,您可以在 Input Manager 中集中精力。

另外,请查看此链接: http://wiki.unity3d.com/index.php?title=Basic_iOs_Input_Tutorial

关于c# - Unity 示例项目 "Roll a Ball"在 iPad 上不起作用(球不动)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42530177/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4