Godot Engine:Flappy Bird 收尾之制作开始界面
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运行场景

效果还不错,到此,整个游戏基本上就做完了。
看到这儿,点个赞再走呗!!!!!
相关推荐
Flappy Bird资源
Godot Engine版教程地址: 《【手把手带你Godot游戏开发 第一弹】零基础入门案例:FlappyBird(教程目录及源代码)》 https://orzgame.blog.csdn.net/article/details/105266192
JustFlap:Just Flap是一款基于Godot 3.2.3 Game Engine的街机飞盘小鸟风格游戏
JustFlap:Just Flap是一款基于Godot 3.2.3 Game Engine的街机飞盘小鸟风格游戏
[手把手带你Godot游戏开发]FlappyBird:4.1无限地面之Godot青年(AnimationPlayer)版
本章节效果图 前言 为什么这个版本叫Godot版呢?因为如果用unity等引擎来实现这个小功能,大家可能不会选择它的动画系统,不是说其它引擎不能,是比较麻烦,大家宁愿选择写两行代码来实现。而Godot Engine的动画系统实在是太方便了,所以用Godot开发游戏的时候,我们不妨充分利用它。 步骤 复制一个”Floor”并把两个”Floor”分别命名为”Floor_1″和”Floor_2″ 添加一个AnimationPlayer,注意:”Floor_1″和”Floor_2″共用一个AnimationPlayer就可以。 在”AnimationPlayer”添加一个名为”scroll”的动
CloneFlappyBird:克隆游戏FLAPPY BIRD utilizando o video base做“ crie seus jogos”
CloneFlappyBird:克隆游戏FLAPPY BIRD utilizando o video base做“ crie seus jogos”
[手把手带你Godot游戏开发]FlappyBird:5.1 无尽水管子滚滚来(一)
本章节效果图 步骤 制作Pipe.tscn 按照下图的样子,在场景树上新建一棵子树(红框中的内容),“Pipe”是一个Node2D,其它节点的名称或前缀即代表其类型 关于Godot的碰撞和碰撞检测的使用,请看这几篇文章: 《Godot Engine:5种碰撞体以及RigidBody的4种模式》 《Godot Engine:碰撞和碰撞检测的简单实例(RigidBody2D与Area2D碰撞)》 《Godot Engine:碰撞和碰撞检测的简单实例(RigidBody2D与StaticBody2D碰撞)》 在”Pipe”上添加一个名为”Pipe.gd”的脚本 #Pipe.gd extend




