Unity javascript我如何从另一个脚本中检查bool是否为真

Unity javascript How can I check if the bool is true from another script?

本文关键字:检查 bool 是否 脚本 另一个 javascript Unity      更新时间:2023-09-26

所以,我正在制作一个游戏。。。在那场比赛中,我有一扇门和一把钥匙。。。门是锁着的,但当你抓住钥匙时,门就解锁了。。。

我有两个剧本。。。属于门的脚本是door.js属于密钥的脚本是key.js

EmptyObject>关键帧>关键帧.js门>Door.js

在我的key.js中,我有以下代码:

  public var hasKey : boolean;
  function OnTriggerEnter (other : Collider){
  if (other.gameObject.tag == "Player") {
   hasKey = true;
 }

在我的Door.js上,我有这样的代码:

   var openDoor : boolean;
  function OnTriggerEnter (other : Collider){
   if (other.gameObject.tag == "Player" && hasKey== true) {
     openDoor = true;

}

谢谢你的帮助。

将脚本附加到您的播放器,并将hasKey变量添加到该脚本中,因为播放器拥有钥匙而不是并使用getComponent从中获取变量
请记住,hasKey变量必须是公共的,才能被其他脚本访问
我将附在PlayerPlayerStuff
上的脚本命名为

用于密钥

   function OnTriggerEnter (other : Collider){
      if (other.gameObject.tag == "Player") {
      other.gameObject.GetComponent.<PlayerStuff>().hasKey= true;
     }
}

用于车门

 var openDoor : boolean;
  function OnTriggerEnter (other : Collider){
   if(other.gameObject.tag == "Player" && other.gameObject.GetComponent.<PlayerStuff>().hasKey== true){
     openDoor = true;
  }
}

还有getComponent的另一个版本,如果第一个不起作用,请使用下面的

   other.gameObject.GetComponent(PlayerStuff)

 other.gameObject.GetComponent("PlayerStuff")