您可以将其视为相似三角形问题。想象一下地平线上的一个点,就在你的游戏后面。假设该点距离屏幕 H 米,其中 H 是一个很大的数字。您可以选择该数字为您想要的任何数字。当你改变它的值时,效果也会相应改变。你必须尝试一下才能知道你喜欢什么。
假设第一层的速度为 1(或某个常数的一倍)。然后,屏幕以1的速度、H的距离移动。
现在假设每一层距前一层到地平线的距离为 x。同样,像 H 一样,您可以选择 x 为任何您想要的值,以达到所需的效果,只要 x 比 H 小。
因此,例如,前景距屏幕的距离为 0,第一层后面的距离为 x 个单位,第二层的距离为 2x 个单位,依此类推。
现在我们可以做类似的三角形了。屏幕层在距地平线距离 H 处的速度为 1。第二层后面以未知速度 (y) 距地平线距离 Hx。我们知道:
H / 1 = (H - x) / y
Run Code Online (Sandbox Code Playgroud)
或者求解 y:
y = (H - x) / H
Run Code Online (Sandbox Code Playgroud)
为进入屏幕的第一层。
更通用的公式如下:
speed(i) = ((H - ix) a) / H
Run Code Online (Sandbox Code Playgroud)
在哪里:
| 归档时间: |
|
| 查看次数: |
2838 次 |
| 最近记录: |