看各种公告板,这是一个常见的问题,但我在网上找不到任何好的答案。
我的项目有一辆通过箭头键移动的第一人称汽车。我希望安装在汽车上的枪能够通过可以瞄准当前屏幕上任何位置的十字准线进行射击。现在子弹一直从中间射出,除了我点击屏幕没有任何反应的时候(大约 50%)。这是我通过网络上的各种脚本获得的代码:
var speed = 20;
var bullet: GameObject;
function Update () {
var hit : RaycastHit;
if(Input.GetButtonDown("Fire1")){
var ray = Camera.main.ScreenPointToRay (Input.mousePosition); //ray from
// through the mousePosition.
if(Physics.Raycast(ray, hit, 1000)) { //does the ray collide with
// anything.
//add stuff here for finding type of object and such.
Debug.Log("Hit Something at mouse position");
Debug.DrawRay (ray.origin, ray.direction * 10, Color.yellow);
//Display the ray.
var projectile:GameObject = Instantiate(bullet,transform.position,transform.rotation);
projectile.rigidbody.velocity = transform.forward * speed;
}
}
}
如果有人可以提供帮助,将不胜感激。