在Unity C#中从不同的脚本访问bool
本文关键字:脚本 访问 bool Unity | 更新日期: 2023-09-27 18:26:18
我有一个来自玩家移动控制脚本的bool变量(isGrounded
),我想在另一个GameObject
中访问它。
BallController.cs
public class BallController : MonoBehaviour {
Transform myTrans;
Rigidbody2D myBody;
public bool isGrounded = true;
public bool release = false;
}
重力牵引.cs
public class GravityPull : MonoBehaviour {
public GameObject target;
public int moveSpeed;
public int maxdistance;
private float distance;
void Start ()
{
target= (GameObject.Find("Ball (1)"));
}
void Update ()
{
distance = Vector2.Distance (target.transform.position, transform.position);
if (distance < maxdistance && target.isGrounded)
{
target.transform.position = Vector2.MoveTowards(target.transform.position, transform.position, moveSpeed * Time.deltaTime / distance);
}
}
}
如果我让我的目标成为GameObject
,那么我可以使用.find
找到它。但如果我这样做,我就无法访问bool。如果我将目标设为BallController
,那么我可以访问bool,但不能使用.find
来查找类。我也不能将GameObject
转换为BallController
。有人能告诉我我在这里做错了什么吗?
target.getComponent<BallController>().isGrounded
这就足够了。