Unity 5使用光线投射不断检查视线中的对撞机

时间:2016-01-17 14:02:18

标签: c# unity3d raycasting unity5

我正在进行团结5场比赛。当我走过某个碰撞器时,音频开始播放。我正在尝试制作一个脚本,以便在播放音频时,我的视线中心撞击对撞机周边,音频将停止播放,或者对于那种情况,播放不同的声音。这是我的剧本:

using UnityEngine;
using System.Collections;

public class Raycast: MonoBehaviour {

 private RaycastHit hit;
 private float range = 300;

 // Use this for initialization
 void Start() {}

 // Update is called once per frame
 void Update() {
  checkforinput();
 }

 void checkforinput() {
  if (Input.GetButtonDown("Fire1")) {
   if (Physics.Raycast(transform.position, transform.forward, out hit, range)) {
    print(hit.transform.name);
    //source.Stop();
   }
  }
 }

}

那么,如果不点击我的fire1按钮,我将如何不断地做到这一点?

1 个答案:

答案 0 :(得分:1)

更改此

if (Input.GetButtonDown("Fire1")) {
    if (Physics.Raycast(transform.position, transform.forward, out hit, range)) {
    print(hit.transform.name);
    //source.Stop();
    }
}

对此:

if (Physics.Raycast(transform.position, transform.forward, out hit, range)) {
    print(hit.transform.name);
    //source.Stop();
}

请注意

if (Input.GetButtonDown("Fire1"))

正在检查鼠标输入。如果它是真的那么内部"如果"块将运行。