可以使用::运算符在函数内访问全局范围变量。由于全局范围没有名称,因此::的左侧可能为空。我将如何访问函数作用域中定义的变量,该变量稍后在函数本身的块中被覆盖。在下面的代码中,我将如何访问初始化为1的变量?
public int bulletSpeed;
Rigidbody bulletRigidBody;
void Start()
{
//Get bullet rigidbody
if (bulletRigidBody == null)
{
bulletRigidBody = GetComponent<Rigidbody>();
}
bulletRigidBody.velocity = transform.forward * bulletSpeed;
}
private void OnCollisionEnter(Collision collision)
{
if (collision.collider.tag == "Wall")
{
//change forward vector based on reflection against object
transform.forward = Vector3.Reflect(collision.contacts[0].point, collision.contacts[0].normal);
//add velocity to bullet based on new forward vector
bulletRigidBody.velocity = transform.forward * bulletSpeed;
}
}
答案 0 :(得分:3)
您可以使用reused
访问main
内任意位置的全局::reused
。但是,无法在声明第三个reused
的块内使用第二个reused
。该语言没有提供相应的机制。