我想将particleSystem位置设置为第一个触摸位置。 我使用下面的代码:
public ParticleSystem pSystem;
Touch firstTouch;
void LateUpdate(){
if (Input.touchCount == 1) {
firstTouch = Input.GetTouch (0);
if (firstTouch.phase == TouchPhase.Began) {
pSystem.transform.position = new Vector3 (firstTouch.position.x, firstTouch.position.y, -3);
pSystem.Play ();
}
}
}
但是pSystem位置没有得到触摸的位置。知道我做错了吗?
答案 0 :(得分:0)
我相信当你获得触摸坐标时,它们会被存储为Touch对象中的屏幕坐标。如果将这些坐标转换为世界空间,它们应该是您在世界中触摸的区域。查看Unity文档中的this link,可能会对您有所帮助。
答案 1 :(得分:0)
Vector3 touchWorld = Camera.main.ScreenToWorldPoint (new Vector3(firstTouch.position.x, firstTouch.position.y));
pSystem.transform.position = touchWorld;