Godot Engine:Flappy Bird 收尾之制作开始界面

0305210203 学生2021 2023-06-20 23:56:52

https://blog.csdn.net/dyf1055318607/article/details/130805535

跟着老王的教程【手把手带你Godot游戏开发 第一弹】零基础入门案例:FlappyBird(教程目录及源代码)已经接近尾声,博主总觉得缺点什么,好像刚一运行游戏游戏就自动开始了,我们平时玩的单机小游戏在进入游戏后都有一个开始界面,本篇文章将来实现这个目标。

 在场景选项中创建一个2D场景,命名为GameState

 给GameState创建子节点。如下图所示:

 

按快捷键ctrl+s保存该场景

选定“Background”,把资源中的bg.jpg拖到Texture字段后面的位置

 

 同理,选定“Sprite”,把资源中的memu。png拖到Texture字段后面的位置

 

 

调整界面的位置,可以参考下图 

 这样,场景就搭建完成了,下面我们来做代码部分

打开Application.gd,添加以下代码

extends Node
var game_tsn=preload("res://GameState.tscn")#预加载GameState.tscn
var game_tsn1=load("res://Game.tscn")
func _ready():
	add_to_group("GAME_OVER")#加入组“GAME_OVER”
	add_to_group("GAME_STATE")#加入组“GAME_STATE”
	get_tree().call_group("GAME_STATE","_start")
func _process(delta):#单击左键,开始游戏
	if Input.is_mouse_button_pressed(1):
		get_tree().call_group("GAME_STATE","on_game_start")
func _start():
	var game=get_node_or_null("GameState")
	game=game_tsn.instance()
	add_child(game)
func on_game_start():
	var game=get_node_or_null("Game")
	if game!=null:
		remove_child(game)
		game.queue_free()
	game=game_tsn1.instance()
	add_child(game)
	set_process(false)#停用_process(delta)

 按F5运行场景

 

 效果还不错,到此,整个游戏基本上就做完了。

 

看到这儿,点个赞再走呗!!!!!

 

...全文
484 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

137

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发教学区
开发语言 高校
社区管理员
  • 开发游戏的老王
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧