0

我想建立一个突破游戏。当我想使用箭头键移动 piddle 时,它​​不起作用。所以我读了几篇文章,我看到他们使用计时器来做到这一点。你能告诉我他们这样做的原因吗?

4

2 回答 2

2

如果您考虑一下,答案是相当直截了当的。当您按住箭头键时,您需要找出桨需要沿其 X 轴移动多远。

如果没有计时器,就无法控制n经过秒数的新偏移量。

基本物理公式D = S * T (距离 = 速度 * 时间)

每当我们按下按键时,就会启动一个计时器,然后我们通过将恒定速度变量乘以经过的时间来找到要添加/减去当前位置的新距离。

这也应允许流体移动,而不是在每次按键时将移动交错固定距离。

于 2015-02-21T14:45:08.747 回答
2

理论上有两种方法:

  • 循环询问输入,循环绘制动画
  • 在计时器上执行动画步骤并导致重绘,并安装输入处理程序

第二种方法是当前操作系统中使用的方法,因为它不是阻塞的,不是轮询的,事件不会将不同的系统方面联系在一起。DOS 不然。

所以程序遵循更间接的事件驱动方法。

于 2015-02-21T14:45:22.997 回答