我有两个 GameObject,一个门和触发器。每个 GameObject 都有一个脚本,触发器有 PlayerDoorTrigger.js 检测玩家是否进入触发器。当门有 doorMove.js 时,点击会打开门。
我在将来自 PlayerDoorTrigger.js 的布尔值转换为来自 doorMove.js 的 if 语句时遇到问题。下面是两个脚本:
doorMove.js
var doorDynamic = false;
var playerTrigger:GameObject;
function Awake () {
}
function Start () {
playerDoorTrigger.playerOnTrigger = true;
}
function Update () {
if(Input.GetMouseButton(0)){
doorDynamic=true;
}
if(doorDynamic == true){
transform.Rotate(Vector3.up * Time.deltaTime*128);
}
}
function OnCollisionEnter(doorCol:Collision){
if(doorCol.gameObject.tag=="Walls"){
Debug.Log("POP");
doorDynamic = false;
}
}
玩家门触发器
public var playerOnTrigger = false;
function OnTriggerEnter(trigger:Collider){
if(trigger.gameObject.tag=="Player"){
playerOnTrigger=true;
}
}
function OnTriggerExit(trigger:Collider){
if(trigger.gameObject.tag=="Player"){
playerOnTrigger=false;
}
}
尝试按照脚本参考使用 GetComponent 但没有运气。
请帮我解决这个问题,谢谢。