脚本-流程

Godot中的许多动作是由回调函数或虚函数触发,所以不需要编写那些总是运行的代码。

但是,在每一帧上都需要处理脚本仍然很常见。有两种类型的处理:空闲处理和物理处理。

当 Node._process() 方法在函数中被定义时,处理流程就会被激活.。可以通过 Node.set_process() 函数来进行开关.

每次绘制时都会调用此方法,因此调用频率完全取决于应用程序在每秒运行的帧数(FPS):

func _process(delta):
    # Do something... pass

delta参数包含自从上一次调用``_process()``以来以秒为单位的时间,类型是浮点数。

无论游戏的FPS如何,这个参数都可以用来确保事务总是占用相同的时间。

例如,运动常常乘以时间增量以使运动速度既恒定又独立于帧速率。

用``_physics_process()``进行物理处理是类似的,但它应该被用在那些必须在每个物理迭代之前发生的过程上,比如控制一个角色。它会在每一个物理迭代之前运行,并在固定的时间间隔内调用:默认情况下每秒60次。您可以从项目设置中更改这个间隔:物理 - >常用 - >物理Fps。

函数``_process()``不与物理同步。它的帧频不是恒定的,并且取决于硬件和游戏优化。在单线程游戏中它的执行是在的物理步骤之后完成的。

测试此方法的一种简单方法是使用以下脚本创建具有单个标签节点的场景:

extends Label

var accum = 0 func _process(delta): accum += delta text = str(accum) # 'text' is a built-in label property.
这将显示一个每帧增加的计数器。
 

转载于:https://www.cnblogs.com/empist/p/10199833.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值