如何让我的投篮延迟工作

时间:2017-08-02 01:21:45

标签: c# timer delay wait unity2d

我试图在youtube上学习如何用gamesplusjames做这个,但是效果不好。我很确定这是次要的,但我无法弄清楚它是什么。基本上,当我释放C键时,我的角色会瞄准她的弓箭和射击。但是我需要延迟,所以她的拍摄速度不会超过她的动画可以移动的速度。谁能告诉我我丢球的地方?我简化了我的代码,以摆脱与射击或瞄准无关的所有其他垃圾。感谢。

{{1}}

1 个答案:

答案 0 :(得分:0)

现在代码的构造方式,shotDelayCounter仅在其if语句为真时被调用,并且看起来始终不是真的。将shotDelayCounter -= Time.deltaTime;移到if语句之外,以便每帧都调用它。类似的东西:

shotDelayCounter -= Time.deltaTime;

if (aim && !shot && Input.GetKeyUp (KeyCode.C) && shotDelayCounter <= 0) 
{
    shotDelayCounter = shotDelay;
    shot = true;
    aim = false;
    anim.SetTrigger ("shot");
    Instantiate (arrowPrefab, arrowSpawn.position, arrowSpawn.rotation);
}

现在你的计数器应该正常工作,因为它总是被称为