c#向移动触摸方向发展
本文关键字:方向 触摸 移动 | 更新日期: 2023-09-27 18:03:45
我目前正在开发一款游戏,当用户点击屏幕(敌人)时,子弹会从镜头移动到触碰的位置杀死敌人。敌人位于距离摄像机(枪)10个单位的地方。
假设用户触摸(x,y) = 5,5,那么子弹应该从相机位置0,0,-10移动到5,5,0。
我创建了一个spawnPoint并连接到相机上,同时也将射击脚本连接到spawnPoint上。刚体弹丸是子弹预制体。
请帮帮我。
float distance = 10f;
void Update()
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
Shoot(ray.GetPoint(distance));
}
public void Shoot(float point)
{
// shoot from camera location to point here
}
下面的方法对于基于触摸的输入非常有效。
Vector3 fingerPos;
void Update ()
{
if(Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
{
fingerPos = Input.GetTouch(0).position;
Vector3 pos = fingerPos;
pos.z = 5;
Vector3 realWorldPos = Camera.main.ScreenToWorldPoint(pos);
transform.position = realWorldPos;
}
}