使用 Unity 4.1.2,使用 C# mono,Android 开发。
大家好,我创建了以下脚本。
using UnityEngine;
using System.Collections;
public class ButtonLeftMove : MonoBehaviour {
// Use this for initialization
public float MoveSpeed = 10;
private float min = -20f;
private float max = 20f;
void Start () {
}
// Update is called once per frame
void FixedUpdate ()
{
MoveSpeed = 50F;
GameObject joeblob = GameObject.FindGameObjectWithTag("playertag");
if(Input.touches.Length > 0)
{
Debug.Log ("Touched");
joeblob.rigidbody.AddForce(Vector3.left * MoveSpeed);
//rigidbody.AddForce(Vector3.right * MoveSpeed);
}
Vector3 clampVel = joeblob.rigidbody.velocity;
clampVel.x = Mathf.Clamp(clampVel.x, min, max);
joeblob.rigidbody.velocity = clampVel;
}
}
效果很好,触摸屏幕时对象会移动,但是对于屏幕的任何部分都是如此。
这个脚本附加到我的 GUI 纹理上,我只希望它是真实的,如果触摸 GUI 纹理而不是屏幕上的任何地方!
我缺少什么额外的代码?
干杯