我是使用 ActionScript 的新手,我正在尝试使用时间轴来触发游戏中的某些事件。特别是,我使用时间线来触发枪的开火事件,这样当开火动画到达某个帧时,就会产生子弹。在枪类(Enter_Frame)中,我检查鼠标是否被按住,并且最后一次射击和当前时间之间的时间比冷却时间长,如果一切正常,我会播放动画。
if (time - lastShot > cooldown)
{
canShoot = true;
lastShot = time;
}
if (mouseHold && canShoot)
{
play();
}
当帧速率低于在冷却时间再次启动之前无法播放完整动画的点时,这会产生问题。在这种情况下,子弹发射速度较慢,帧速率较低。
此外,较高的帧速率使枪对鼠标输入的响应更灵敏,因为射击帧比较低的帧速率更快。
目标显然是让游戏完全独立于帧率。我希望能够根据枪的冷却来减慢或加快动画的帧速率。
使该动画在特定时间段内播放而不会跳过我放入时间轴的动作的最佳方法是什么?