GDScript 代码笔记(三)

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

前言:

本节博客的内容,在语法中将会分析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的用法和理解,在之前博主的博客中有过详细讲解,这里就不细讲解对应解法。

GDScript 代码笔记(一)

在此函数代码块中,便是通过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;
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

柠檬茶12138

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

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

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

打赏作者

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

抵扣说明:

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

余额充值