Unity 5 使用光线投射不断检查视线内的对撞机
Unity 5 constantly check for a collider in line of sight using raycasts
我正在开发 unity 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 按钮的情况下不断执行此操作?
改变这个
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"))
正在检查鼠标输入。如果它是真的那么 "if" 块中的任何内容都会 运行 .
我正在开发 unity 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 按钮的情况下不断执行此操作?
改变这个
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"))
正在检查鼠标输入。如果它是真的那么 "if" 块中的任何内容都会 运行 .