跟着老王的教程【手把手带你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运行场景
效果还不错,到此,整个游戏基本上就做完了。
看到这儿,点个赞再走呗!!!!!