我需要从触摸中获取输入,然后将精灵移动到该位置,这是我到目前为止所拥有的
public class PlayerContoller : MonoBehaviour {
public Sprite Hands;
public Vector2 HandsLocation;
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.touchCount > 0){
KnifeTouch ();
}
}
void KnifeTouch () {
Input.GetTouch(0).position = HandsLocation
}
}
由于
答案 0 :(得分:1)
我没有使用mono或unity3d,我使用XNA,但我认为规则是相同的。
您的代码:
Input.GetTouch(0).position = HandsLocation
您是否尝试将HandsLocation设置为设备输入位置? 我想你可以阅读设备输入数据并将其用于你的行动。
您需要执行逆转操作:
HandsLocation = Input.GetTouch(0).position
现在您将输入数据存储在控制器中,然后使用它来移动精灵:
void Update () {
if (Input.touchCount > 0){
//KnifeTouch ();
HandsLocation = Input.GetTouch(0).position; // store input position
}
// after read position, use it to move sprite
}
答案 1 :(得分:0)
将Input.GetTouch()。位置返回像素坐标转换为世界坐标,编写此代码。
Vector3 pos = Camera.main.ScreenToWorldPoint(Input.touches [0] .position);
将pos.z设置为object.tranform.position.z并将其分配给对象
obj.transform.position = pos;