目录
了解'DELTA'
问题
delta或“delta时间”参数是游戏开发中经常被误解的概念。在本教程中,我们将解释如何使用它,帧速率独立移动的重要性,以及在Godot中使用它的实例。
解决方案
为了说明这个问题,让我们考虑一个在屏幕上移动的精灵节点。如果我们的屏幕是600像素宽,我们想要精灵花5秒穿越屏幕,我们可以使用以下计算来找到必要的速度:
600 pixels / 5 seconds = 120 pixels/second
我们将使用_process()函数在每帧中移动精灵。 如果游戏以每秒60帧的速度运行,我们可以找到每帧的运动,如下所示:
120 pixels/second * 1/60 second/frame = 2 pixels/frame
注意,上面所有计算的单位都是一致的。在计算时一定要注意单位,这样可以避免出错。
这是必要的代码:
extends Node2D
# Desired movement in pixels/frame
var movement = Vector2(2, 0)
func _process(delta):
$Sprite.position += movement
运行此代码,您将看到精灵需要5秒钟才能穿过屏幕。