前言:
本节博客的内容,在语法中将会分析Godot中的Connect,if,find_node,AudioStreamPlayer,get_tree(),Scene Tree与call_group()
具体参考资料:
来自开发游戏的老王的Godot教程【手把手带你Godot游戏开发】FlappyBird:7 心里有数(计分系统)
重温经典FlappyBird
总代码块实现功能:
主要功能是:鸟儿在穿过随机生成的水管之后,才能获得相对应的获得得分,并伴随着得分音效。
其判断依据是:鸟儿是否穿过得分区域。
注://其脚本内容附在得分区域上
总代码块
#ScoreArea.gd
extends Area2D
func _ready():
connect("body_exited",self,"_on_body_exited")
func _on_body_exited(_body):
if _body.name == "Bird":
AudioManager.play("sfx_point")
GameData.score += 1
#加分以后通过SceenTree把新的分数更新给所有想接受这个消息的节点
get_tree().call_group("SCORE","on_score_updated",GameData.score)
Connect
Connect的用法和理解,在之前博主的博客中有过详细讲解,这里就不细讲解对应解法。
在此函数代码块中,便是通过Connect函数将body_exited的信号连到_on_body_exited。
在发出信号之后,调用func _on_body_exited(_body):
if 用法
在这里呢,有过一定编程经验的人,会对if语句有着了解。
那么在Godot中如何使用呢?
1.官方解释

在Godot的官网中,其实并没有过多篇幅详细去介绍其使用以及讲解。
2.C语言中的if用法
我们将C语言在if语句中的使用进行讲解。
因其类似于Godot语言在if语句的使用,我们进行拆分说明。
(1).简单if语句
if(表达式)
{
执行代码块;
}
其执行顺序便是:如果表达式的值为真,则执行其后的代码块内容,否则不执行该代码块。
(2).简单if-else语句
if(表达式)
{
执行代码块1;
}
else
{
执行代码块2;

本文介绍了Godot游戏开发中的Connect、if、find_node等功能的使用方法,并通过FlappyBird游戏实例详细解析了游戏得分和配乐功能的具体实现。
最低0.47元/天 解锁文章
356

被折叠的 条评论
为什么被折叠?



