{"id":14961771,"url":"https://github.com/spkingr/godot-demos","last_synced_at":"2025-10-24T22:31:02.107Z","repository":{"id":41274814,"uuid":"148320579","full_name":"spkingr/Godot-Demos","owner":"spkingr","description":"Godot demos and tutorials","archived":false,"fork":false,"pushed_at":"2020-08-17T09:21:19.000Z","size":99186,"stargazers_count":187,"open_issues_count":0,"forks_count":49,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-06-03T10:49:33.198Z","etag":null,"topics":["blog","demo","gdscript","godot","post","tutorial"],"latest_commit_sha":null,"homepage":"http://liuqingwen.me/blog/tags/Godot/","language":"GDScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spkingr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-11T13:20:39.000Z","updated_at":"2025-05-03T14:51:55.000Z","dependencies_parsed_at":"2022-09-21T01:11:25.949Z","dependency_job_id":null,"html_url":"https://github.com/spkingr/Godot-Demos","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/spkingr/Godot-Demos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spkingr%2FGodot-Demos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spkingr%2FGodot-Demos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spkingr%2FGodot-Demos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spkingr%2FGodot-Demos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spkingr","download_url":"https://codeload.github.com/spkingr/Godot-Demos/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spkingr%2FGodot-Demos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280878370,"owners_count":26406641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blog","demo","gdscript","godot","post","tutorial"],"created_at":"2024-09-24T13:27:28.980Z","updated_at":"2025-10-24T22:30:57.098Z","avatar_url":"https://github.com/spkingr.png","language":"GDScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Godot-Demos\n\n![Godot 3.2](https://img.shields.io/badge/Godot-v3.2-%23478cbf?logo=godot-engine\u0026logoColor=white)\n\nMy godot learning tutorials and blog articles, demos.\nFind more at my blog: [http://liuqingwen.me](http://liuqingwen.me)\n\n***\n## Demo14: Godot Game DevLog 3 - introduce a new AI path finding method\n\n文章链接： [Godot游戏开发实践之三：容易被忽视的Resource](http://liuqingwen.me/2020/08/17/godot-game-devLog-3-talk-about-resource/)\n\n*本篇讲解到的知识点：*\n\n1. Resource 的创建与使用\n2. Resource 相关问题与局限\n3. Resource 应用之一：数据容积\n4. Resource 应用之二：全局事件模式\n\n![Demo14](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo14.jpg)\n\n***\n## Demo13: Godot Game DevLog 2 - introduce a new AI path finding method\n\n文章链接： [Godot游戏开发实践之二：AI之寻路新方式](http://liuqingwen.me/2020/08/01/godot-game-devLog-2-introduce-a-new-AI-path-finding-method/)\n\n*本篇讲解到的知识点：*\n\n1. AI 寻路的几种方式\n2. 场景结构继承等简单介绍\n\n![Demo13](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo13.gif)\n\n***\n## Demo12: Godot Game DevLog 1 - making game with high level multiplayer API\n\n文章链接：\n\n- [Godot游戏开发实践之一：使用High Level Multiplayer API制作多人游戏（上）](http://liuqingwen.me/2020/07/22/godot-game-devLog-1-making-game-with-high-level-multiplayer-api-part-1/)\n- [Godot游戏开发实践之一：使用High Level Multiplayer API制作多人游戏（下）](http://liuqingwen.me/2020/07/22/godot-game-devLog-1-making-game-with-high-level-multiplayer-api-part-2/)\n\n*本篇讲解到的知识点：*\n\n1. 局域网多人联网游戏开发介绍\n2. 远程调用基础知识\n3. Godot 中几个重要的关键字\n4. 游戏结构、代码简析\n5. 经验总结\n\n![Demo12](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo12.jpg)\n\n***\n## Demo11: Introduction of Godot 3 part 15 - several usage examples of RigidBody2D node in games\n\n文章链接： [Godot3游戏引擎入门之十五：RigidBody2D刚体节点的几种应用场景及示例](http://liuqingwen.me/2019/07/31/introduction-of-godot-3-part-15-several-usage-examples-of-rigidbody2d-node-in-games/)\n\n*本篇讲解到的知识点：*\n\n1. 刚体节点作为普通的游戏物品或者元素\n2. 刚体节点响应鼠标事件进行拖拽\n3. 利用刚体节点实现爆破特效\n4. 随机生成地图的应用\n\n![Demo11-1](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo11-1.gif)\n![Demo11-2](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo11-2.gif)\n\n***\n## Demo10: Introduction of Godot 3 part 14 - Make a game with RigidBody2D node and the FSM introduction\n\n文章链接：[Godot3游戏引擎入门之十四：RigidBody2D刚体节点的应用以及简单的FSM状态机介绍](http://liuqingwen.me/2019/07/20/introduction-of-godot-3-part-14-make-a-game-with-rigidbody2d-node-and-the-fsm-introduction)\n\n*本篇讲解到的知识点：*\n\n1. 介绍 RigidBody2D 刚体节点的基本属性\n2. 刚体节点的基本应用以及注意点\n3. 游戏场景的结构关系与核心代码说明\n4. 最简单的 FSM 有限状态机介绍和应用\n5. 新版本中存在的 Bug 以及解决方法\n\n![Demo10](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo10.gif)\n\n***\n## Demo9: Introduction of Godot 3 part 13 - The player jump implementation and make a platform game\n\n文章链接：\n\n- [Godot3游戏引擎入门之十三：实现玩家的跳跃功能并完成一个平台小游戏（上）](http://liuqingwen.me/2019/01/17/introduction-of-godot-3-part-13-the-player-jump-implementation-and-make-a-platform-game-part-1/)\n- [Godot3游戏引擎入门之十三：实现玩家的跳跃功能并完成一个平台小游戏（下）](http://liuqingwen.me/2019/01/26/introduction-of-godot-3-part-13-the-player-jump-implementation-and-make-a-platform-game-part-2/)\n\n*本篇讲解到的知识点：*\n\n1. 重力加速度知识和简单的跳跃实现方法\n2. 二次跳跃的实现\n3. 精确高度的跳跃实现\n4. 游戏场景结构与主要代码\n5. 三种敌人的行为和实现\n6. 其他的一些效果介绍\n7. 问题和总结\n\n![Demo9](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo9.gif)\n\n***\n## Demo8: Introduction of Godot 3 part 12 - talk about collision and move_and_collide vs move_and_slide in KinematicBody2D\n\n文章链接：[Godot3游戏引擎入门之十二：Godot碰撞理论以及KinematicBody2D的两个方法](http://liuqingwen.me/2018/12/30/introduction-of-godot-3-part-12-talk-about-collision-and-move-and-collide-vs-move-and-slide-in-kinematicbody2d/)\n\n*本篇讲解到的知识点：*\n\n1. 三种 2D 物理节点以及 Area2D 节点的回顾\n2. 碰撞层和碰撞掩码理论知识\n3. KinematicBody2D 两个方法详述\n4. 简单的应用场景分析\n\n![Demo8](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo8.gif)\n\n## Demo7: Introduction of Godot 3 part 11 - introduce the particles system and make a shooter game\n\n文章链接：\n\n- [Godot3游戏引擎入门之十一：Godot中的粒子系统与射击游戏（上）](http://liuqingwen.me/2018/12/23/introduction-of-godot-3-part-11-introduce-the-particles-system-and-make-a-shooter-game-part-1/)\n- [Godot3游戏引擎入门之十一：Godot中的粒子系统与射击游戏（下）](http://liuqingwen.me/2018/12/25/introduction-of-godot-3-part-11-introduce-the-particles-system-and-make-a-shooter-game-part-2/)\n\n*本篇讲解到的知识点：*\n\n1. Godot 中自带粒子系统的相关参数说明\n2. 游戏中应用到的其他几个有用的节点\n3. 太空射击游戏的所有场景构造及其关键点\n4. 游戏代码逻辑的核心部分解析\n\n![Demo7](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo7.gif)\n\n## Demo6: Introduction of Godot 3 part 10 - introduce some node types and make a new game\n\n文章链接：\n\n- [Godot3游戏引擎入门之十：介绍一些常用的节点并开发一个小游戏（上）](http://liuqingwen.me/2018/11/30/introduction-of-godot-3-part-10-introduce-some-node-types-and-make-a-new-game-part-1/)\n- [Godot3游戏引擎入门之十：介绍一些常用的节点并开发一个小游戏（中）](http://liuqingwen.me/2018/12/05/introduction-of-godot-3-part-10-introduce-some-node-types-and-make-a-new-game-part-2/)\n- [Godot3游戏引擎入门之十：介绍一些常用的节点并开发一个小游戏（下）](http://liuqingwen.me/2018/12/06/introduction-of-godot-3-part-10-introduce-some-node-types-and-make-a-new-game-part-3/)\n\n*本篇讲解到的知识点：*\n\n1. 学习了一些新的 Godot 节点，以及一些新的关键词\n2. 探讨了一些基本的游戏开发规则，包括编写代码的规范\n3. 编写实现游戏中相关逻辑代码，完成我们第一个完整的小游戏\n\n![Demo6](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo6.gif)\n\n## Demo5-3: Introduction of Godot 3 part 9 - add audio effects and UI elements\n\n文章链接：[Godot3游戏引擎入门之九：创建UI界面并添加背景音乐](http://liuqingwen.me/2018/11/09/introduction-of-godot-3-part-9-add-audio-effects-and-ui-elements/)\n\n*本篇讲解到的知识点：*\n\n1. 给游戏添加 UI 控件元素，使用 CanvasLayer 节点\n2. 创建独立的游戏主界面，使用按键切换游戏场景\n3. 添加背景音乐和其他声音效果及动画、代码控制\n4. 其他小知识点：分组、代码中信号连接、字体资源等\n\n![Demo5-3](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo5-3.gif)\n\n## Demo5-2: Introduction of Godot 3 part 8 - add collectable elements and sub-scenes\n\n文章链接：[Godot3游戏引擎入门之八：添加可收集元素和子场景](http://liuqingwen.me/2018/11/02/introduction-of-godot-3-part-8-add-collectable-elements-and-sub-scenes/)\n\n*本篇讲解到的知识点：*\n\n1. 创建子场景并实例化子场景： SubScene\n2. 连接订阅事件信号，处理信号： Signal\n3. 学习使用 Godot 3.1 动画中的方法调用特性： Call Method Track\n4. Area2D 节点简介，碰撞处理，多轨道动画设计\n\n源码链接： [https://github.com/spkingr/Godot-Demos/tree/v0.3](https://github.com/spkingr/Godot-Demos/tree/v0.3)\n\n![Demo5-2](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo5-2.gif)\n\n## Demo5-1: Introduction of Godot 3 part 7 - add collision and move player in map\n\n文章链接：[Godot3游戏引擎入门之七：地图添加碰撞体制作封闭的游戏世界](http://liuqingwen.me/2018/10/22/introduction-of-godot-3-part-7-add-collision-and-move-player-in-map/)\n\n*本篇讲解到的知识点：*\n\n1. Godot 3.1 中 Tile 瓦片的碰撞体添加和设置\n2. Godot 中调试地图和玩家的碰撞体运行状态\n3. 几个有用的 GDScript 脚本代码技巧： `export`, `flip_h`, `move_and_collide`\n\n源码链接： [https://github.com/spkingr/Godot-Demos/tree/v0.2](https://github.com/spkingr/Godot-Demos/tree/v0.2)\n\n![Demo5-1](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo5-1.gif)\n\n***\n## 5. Introduction of Godot 3 part 6 - make tile map in godot\n\n文章链接：[Godot3游戏引擎入门之六：制作TileMap瓦片地图](http://liuqingwen.me/2018/10/19/introduction-of-godot-3-part-6-make-tile-map-in-godot/)\n\n*本篇讲解到的知识点：*\n\n1. 创建 TileSet 瓦片集资源\n2. 创建 TileMap 瓦片地图\n3. 介绍 Godot 3.1 中 TileMap 的一些新特性\n\n源码链接： [https://github.com/spkingr/Godot-Demos/tree/v0.1](https://github.com/spkingr/Godot-Demos/tree/v0.1)\n\n## Demo4: Introduction of Godot 3 part 5 - base topdown movement\n\n文章链接：\n\n- [Godot3游戏引擎入门之五：上下左右移动动画（上）](http://liuqingwen.me/2018/10/10/introduction-of-godot-3-part-5-the-basic-top-down-movement-part-1/)\n- [Godot3游戏引擎入门之五：上下左右移动动画（下）](http://liuqingwen.me/2018/10/11/introduction-of-godot-3-part-5-the-basic-top-down-movement-part-2/)\n\n*本篇讲解到的知识点：*\n\n1. 使用 AnimationPlayer 节点工具创建状态动画\n2. 使用代码控制玩家的上下左右移动功能\n3. 简单的摄像机使用和地图碰撞检测实现\n4. 通过代码实现 RigidBody2D 刚体节点的运动\n\n![Demo4](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo4.gif)\n\n## Demo3: Introduction of Godot 3 part 4 - add some cute animations\n\n文章链接：\n\n- [Godot3游戏引擎入门之三：移动我们的主角（上）](http://liuqingwen.me/2018/09/25/introduction-of-godot-3-part-4-add-some-cute-animations-part-1/)\n- [Godot3游戏引擎入门之三：移动我们的主角（下）](http://liuqingwen.me/2018/09/27/introduction-of-godot-3-part-4-add-some-cute-animations-part-2/)\n\n*本篇讲解到的知识点：*\n\n1. 使用 AnimatedSprite 节点创建多个多图动画\n2. 使用 Sprite 节点和 GDScript 脚本代码创建背景动画\n3. 介绍了 Sprite 节点的原点设置：左上角或者居中\n4. 相关 GDScript 脚本知识：`onready/$/position/animation`\n\n![Demo3](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo3.gif)\n\n## Demo2: Introduction of Godot 3 part 3 - move the character with inputs\n\n文章链接：[Godot3游戏引擎入门之三：移动我们的主角](http://liuqingwen.me/2018/09/18/introduction-of-godot-3-part-3-move-character-with-inputs/)\n\n*本篇讲解到的知识点：*\n\n1. 图片材质的导入模式\n2. 节点渲染顺序\n3. 最基础的 GDScript 脚本入门\n4. 使用脚本获取节点属性，侦听输入控制主角移动\n\n![Demo2](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo2.gif)\n\n## Demo1: Introduction of Godot 3 part 2 - game scene and node\n\n文章链接：[Godot3游戏引擎入门之二：第一个简单的游戏场景](http://liuqingwen.me/2018/09/11/introduction-of-godot-3-part-2-game-scene-and-node/)\n\n*本篇讲解到的知识点：*\n\n1. 几个基本的节点添加和使用\n2. 刚体碰撞体设置\n3. 静态碰撞体设置\n4. 材质背景平铺设置\n5. 可视化 Debug 功能\n\n![Demo1](https://github.com/spkingr/Godot-Demos/raw/master/Images/demo1.gif)\n\n***\n\n\u003e 欢迎关注我的微信公众号：\n![IT自学不成才](http://liuqingwen.me/images/wexin_2.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspkingr%2Fgodot-demos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspkingr%2Fgodot-demos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspkingr%2Fgodot-demos/lists"}