Godot Web包无法打开显示fetch

Failed to fetch 原因 因为浏览器打开的是http开头,我们直接打开web包的index.html会看到是file开头。 使用Python 1. 安装Python 2. 确认Python版本号 1 2 3 4 # 根据是否失败,可以三选一 python -V python3 -V py -v 输入完会显示python的版本号。 3. cd导航自己的web包所在的文件夹 比如我的web包安装到如下路径。 输入命令 1 cd F:\GodotFile\Game\hxllk_web\V9 输入命令后 4. 在目录下输入命令启动服务器 1 2 3 4 # 如果python 版本是 3.x python3 -m http.server # 如果python 版本是 2.x python -m SimpleHTTPServer 输入命令后 一般会在8000端口上启动本地服务器,输入命令后,会显示一个网址。 直接在浏览器输入该网址,即可直接打开web包。 URL http://localhost:8000 最终效果 想要退出的话,在终端输入CTRL + c 即可。

Godot 信号(Signal)基础教程

信号是Godot中非常重要的通信机制,允许节点在特定事件发生时通知其他节点。 下面是最基本、最简单的信号使用用例。 1. 内置信号 - 按钮点击 1 2 3 4 5 6 7 8 9 10 11 12 extends Control func _ready(): # 获取按钮节点(假设场景中有一个名为 Button 的按钮) var button = $Button # 连接按钮的 pressed 信号到自定义方法 button.pressed.connect(_on_button_pressed) # 当按钮背按下时调用的方法 func _on_button_pressed(): print("按钮被点击了!") 2. 自定义信号 - 定义和发射 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 extends Node # 1. 定义自定义信号 signal player_scored(points) signal game_over func _ready(): # 2. 连接自定义信号到处理方法 player_scored.connect(_on_player_scored) game_over.connect(_on_game_over) # 3. 在某个条件下发射信号 func add_score(amount): print("获取分数:", amount) player_scored.emit(amount) # 发射信号并传递参数 func end_game(): game_over.emit() # 发射无参数信号 # 4. 处理信号的方法 func _on_player_scored(points): print("玩家获得了 %d 分" % points) func _on_game_over(): print("游戏结束!") 3. 通过编辑器连接信号 不写代码也可以连接信号,可以在编辑器中操作: ...

Godot 主界面 UI 增加 Scroll Pattern

最终效果图 准备资源 准备一张透明背景的图案,导入到资源里面(res://文件夹)。 创建TextureRect 在场景里面,创建TextureRect。 调整TextureRect。 准备的Pattern图拖拽到TextureRect的texture。 TextureRect下方的Stretch Mode改为Tile。 锚点预设改为整个矩形。 (这里可以根据自己的喜好,改成只显示部分区域)。 创建Shader资源 在资源中(res://文件夹),点击右键新建资源,搜索Shader并选中创建。 这里可以自己定义shader的名称,在这里我们定义名称为scroll_bg.gdshader。 打开创建的scroll_bg.gdshader, 输入代码。 1 2 3 4 5 6 7 8 9 shader_type canvas_item; uniform float speed = .1; // 新增速度浮点数,这里可以调整滚动的速度。 void vertex() { // 根据时间偏移UV实现滚动 UV.x += TIME * speed; // 横向滚动 UV.y += TIME * speed; // 纵向滚动 } 增加Material 将我们所创建的scroll_bg.shader资源拖拽到TextureRect检查器中,CanvasItem的Material的Material里面。 Tada~我们就可以看到scoll pattern的效果,大功告成。 调整透明度 如果觉得滚动背景扰乱视觉,可以调整透明度。 可调整CanvasItem的Modulate。 然后调整调色板的rgba的a的数值进行修改即可。

Godot 节点(Node)基础教程

下面介绍Godot中最基本和常用的节点类型,以及它们的简单代码示例,包括显示、隐藏和相互作用。 1. Node(基础节点) 所有节点的基类,用于组织和结构化场景。 1 2 3 4 5 6 7 8 9 10 11 12 13 extents Node func _ready(): # 添加一个子界定啊 var child_node = Node.new() add_child(child_node) # 移除子节点 remove_child(child_node) # 检查是否有子节点 if get_child_count() > 0: print("此节点有子节点") 2. Sprite2D (2D精灵) 用于显示2D图像。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 extends Sprite2D func _ready(): # 设置纹理 var texture = load("res://path_to_your_image.png") self.texture = texture # 显示纹理 self.show() # 隐藏 # self.hide() # 或者通过visible属性 self.visible = false func _input(event): # 点击交互 if event is InputEventMouseButton and event.pressed: if event.button_index == MOUSE_BUTTON_LEFT: # 切换显示/隐藏 visible = !visible 3. Label (标签) 用于显示文本。 ...