我有一个相机抖动脚本,但当我点击启动时,它会直接熄灭,不会停止



我有一个相机抖动脚本,但当我点击启动时,它会直接关闭,不会停止在这个脚本中,我想触发抖动效果

公开课GameOver:MonoBehavior{

public Explosion shake;
void OnCollisionEnter2D (Collision2D coll)
{
Debug.Log("Collision!");
if (coll.gameObject.tag == "platform")
{
Destroy(gameObject);
shake.GameOver = true;
}
}

}

这是另一个脚本

公开课爆炸:单一行为{

public Transform cameraTransform;
private Vector3 orignalCameraPos;
public float shakeDuration;
public float shakeAmount;
private bool canShake = false;
public bool GameOver = false;
private float _shakeTimer;

void Start()
{
orignalCameraPos = cameraTransform.localPosition;
GameOver = false;
_shakeTimer = 0;
}
void Update()
{
if (GameOver = true)
{
ShakeCamera();
}
}
public void ShakeCamera()
{
_shakeTimer = shakeDuration;
StartCameraShakeEffect();
}
public void StartCameraShakeEffect()
{
if (_shakeTimer > 0)
{
cameraTransform.localPosition = orignalCameraPos + Random.insideUnitSphere * shakeAmount;
_shakeTimer -= Time.deltaTime;
}
else
{
_shakeTimer = 0f;
cameraTransform.position = orignalCameraPos;
GameOver = false;
}
}

}

如果你能帮助我,我将非常感谢:(

在语句if (GameOver = true)中,您将GameOver设置为true,然后检查其值。我认为您可能想要使用if (GameOver == true)if (GameOver),它将检查此变量是否设置为true。

最新更新