Godot Timer节点

博客的参考资料,是来自 开发游戏的老王5.2 无尽水管子滚滚来(二)的Godot Engine:TImer节点使用范例

导言:Timer节点是什么呢?刚开始模仿制作的时候,看它对应的节点形状像一个时光沙漏,跟时间肯定有着什么千丝万缕的关系,它在Godot中有着什么特殊的含义吗。


1.Timer——在其他语言中的含义

那么提到Timer中的特殊含义,就又不得不提它在其他地方的表现。

其实Timer不光在Godot中起着重要的作用,在其他的编程语言中,也都或多或少有着它的身影。

其中在Java程序设计中,更为常见。

遇到所需要按时间计划执行简单任务的情况下,Timer是最常被使用到的工具类。使用Timer可以来调度TimerTask的实现者来实现任务,有两种方式,一种是使得任务在指定时间被执行一次,另一种是从某一指定时间开始周期性的执行任务。它其实就像是闹钟一样,固定我们去做某件事情,或者在某段固定的时间去做某件重复的事情。


2.Timer——在Godot的含义

在Godot中的TImer呢?我们来先上图。

在这里插入图片描述

其实在图片中,我们看得出官方对它的定义是倒数计时器。

Timer在Godot中的含义,其实就是接近等同于我们对Java它的理解,但是Java和Godot在Timer的使用中还是有着不一样之处的。(毕竟Java和Godot有着区别。)


3.常用调整

在这里插入图片描述

Timer节点中,其中最较为常用的是Wait Time与Auto Start。

从字面上理解:
Wait Time:是等候时间的长度,
Auto Start:是自动开启的选择

可以通过调整其对应的Timer节点中Wait time的数值调整和Auto Start的是否启用,可对我们所需要重复做的事件进行更改。

这便是对应需要调整的位置。

在这里插入图片描述


4.实际分析Timer节点在FlappyBird中的游戏设计理念

重温经典FlappyBird

在玩过游戏之后,我们分析一下实际游戏设计情况中。从而我们得知,水管是需重复及其间隔一定时间出现,游戏才拥有一定的趣味性。

若一只小鸟只遇见一个水管,便轻松越过,游戏永远不会停止,但游戏已经丧失了我们希望的乐趣。

理念:所以在此之前,先做好一个普通的水管,并将它做为整体重复的目标。让这个水管作为一个实例,将此水管设置为一个固定的场景,这样,只需要重复该场景,便可让水管无限重复,可做到游戏所需要的趣味性。


5.在FlappyBird中的游戏设计操作

那么便在Game.tscn中新建一个Timer节点,利用脚本,使得其场景重复。

在这里插入图片描述

Timer可以随意起名字,为了方便。我们这里按照开发游戏的老王的教程中,将Timer的节点名称改名为PipeManager,然后添加对应的教程脚本。

这里注意,,脚本中的路径与实际路径是否一致,要不然会出现代码报错的问题!!!

在这里插入图片描述

大家可以根据所需要的重复条件,可以调整水管出现的重复间隔时间,以及对自动开启的选项。

在这里插入图片描述

具体的操作内容,可参考【手把手带你Godot游戏开发】FlappyBird:5.1 无尽水管子滚滚来(一)的Godot教程。


6.附脚本内容

这是水管重复出现的脚本代码内容

#PipeManager.gd
extends Timer
var pipe_scn = preload("res://Objects/Pipe.tscn")#将要实例化的场景文件预加载进来

func _ready():
	connect("timeout",self,"on_timeout")#将"timeout"信号连接到"on_timeout"方法
	
func on_timeout():
	var pipe = pipe_scn.instance()#实例化
	add_child(pipe)#将实例化的结果作为自身的子节点

具体以上的代码讲解,在GDScript 代码笔记(一)


在此欢迎各位批评指正,

也再次感谢 开发游戏的老王的Godot教程。

你的点赞是我更新的动力~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柠檬茶12138

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值