Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CSDN 技术社区
skill_tree_game
比较版本
30525f5c1f4f6fff3c3818e49aea0c22975d398d...cecebd6a619af1bf65e2d0d5b118bd3c3be9f1db
S
skill_tree_game
项目概览
CSDN 技术社区
/
skill_tree_game
通知
4
Star
2
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
skill_tree_game
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
源分支
cecebd6a619af1bf65e2d0d5b118bd3c3be9f1db
选择Git版本
...
目标分支
30525f5c1f4f6fff3c3818e49aea0c22975d398d
选择Git版本
比较
Commits (22)
https://gitcode.net/csdn/skill_tree_game/-/commit/2712b5162e6923995157c006c1386ede7a8e314d
添加批处理文件并初始化
2022-04-24T19:34:13+08:00
Syo
syowang@tute.edu.cn
https://gitcode.net/csdn/skill_tree_game/-/commit/a0b14bccfcec6985c26af7cfb9a7d36214913efe
第一个知识点
2022-04-24T20:09:45+08:00
Syo
syowang@tute.edu.cn
https://gitcode.net/csdn/skill_tree_game/-/commit/8098498bfb936659071ee57057f989c7eb7f1bc8
新建Godot项目
2022-04-24T21:57:23+08:00
Syo
syowang@tute.edu.cn
https://gitcode.net/csdn/skill_tree_game/-/commit/5a0ea51a4cd44e01c3898fb6ebf3d72950775e0d
Godot界面介绍
2022-04-25T06:53:35+08:00
Syo
syowang@tute.edu.cn
https://gitcode.net/csdn/skill_tree_game/-/commit/800cea1496066f655f79fbdd007ce4390b360897
3. Hello World
2022-04-25T07:10:17+08:00
Syo
syowang@tute.edu.cn
https://gitcode.net/csdn/skill_tree_game/-/commit/a612987f3b9eadefa01ff24cf708995ff9c4c158
5.坠落吧小鸟
2022-04-25T10:07:38+08:00
Syo
syowang@tute.edu.cn
https://gitcode.net/csdn/skill_tree_game/-/commit/a2711cf81d23cefd655e92bae84cd14e8f2e1a43
6.在哪醉螺就在哪飞起来
2022-04-25T10:16:59+08:00
Syo
syowang@tute.edu.cn
https://gitcode.net/csdn/skill_tree_game/-/commit/91ce0df1b46c052e5c74fa78ee8fe6edd072ff70
7.无限循环的地面
2022-04-25T15:27:15+08:00
Syo
syowang@tute.edu.cn
https://gitcode.net/csdn/skill_tree_game/-/commit/cbb97b1d89b838ac994becea1f3423c1d72acc6b
9.无尽水管子滚滚来
2022-04-25T17:09:34+08:00
SyoDesk
hello_tute@qq.com
https://gitcode.net/csdn/skill_tree_game/-/commit/f71eefd21de71a49c6938e272245fbb1ced4f420
9.无尽的水管子滚滚来(一)
2022-04-25T17:11:54+08:00
SyoDesk
hello_tute@qq.com
https://gitcode.net/csdn/skill_tree_game/-/commit/261d88aa5cf9f88a3817fd346e42bb1f04fea56b
10.[知识点]Timer节点使用范例
2022-04-25T17:17:21+08:00
SyoDesk
hello_tute@qq.com
https://gitcode.net/csdn/skill_tree_game/-/commit/260592cdddc77e2bcd0364a2f8629d6f5c76769b
11. 无尽水管子滚滚来(二)
2022-04-25T17:24:26+08:00
SyoDesk
hello_tute@qq.com
https://gitcode.net/csdn/skill_tree_game/-/commit/6b7810029f13070bbfe2b0af932c6c9089d1b2b7
12.单例模式
2022-04-25T19:28:25+08:00
SyoDesk
hello_tute@qq.com
https://gitcode.net/csdn/skill_tree_game/-/commit/41b4472f1567e79b674e4ab24fedcc1a721de1e9
13.来点Music
2022-04-25T19:39:53+08:00
SyoDesk
hello_tute@qq.com
https://gitcode.net/csdn/skill_tree_game/-/commit/cb6ab5b6ad24c387e2a2c77cfdec4021696bc747
14.[知识点]本地数据存取的帮助类(加密非加密)
2022-04-25T19:46:29+08:00
SyoDesk
hello_tute@qq.com
https://gitcode.net/csdn/skill_tree_game/-/commit/18ef50b3ad43804fd465253f315fac83b249629b
15.心里有数(计分系统)
2022-04-25T19:52:58+08:00
SyoDesk
hello_tute@qq.com
https://gitcode.net/csdn/skill_tree_game/-/commit/2501e15a933e2c46dd538e3dd41125539f84e376
16.[知识点]如何使用外部字体和Label节点制作一个计时器
2022-04-25T19:58:05+08:00
SyoDesk
hello_tute@qq.com
https://gitcode.net/csdn/skill_tree_game/-/commit/ec6376d8d4c6d1e5a1186d79e1db5ad4af77704f
17.让数据说话(显示分数)
2022-04-25T20:02:30+08:00
SyoDesk
hello_tute@qq.com
https://gitcode.net/csdn/skill_tree_game/-/commit/8aa542d994fd680188a560ac4cb1f49fe9442044
18.[知识点]两行代码实现观察者模式(Observer Pattern),就问你服不服?
2022-04-25T20:07:04+08:00
SyoDesk
hello_tute@qq.com
https://gitcode.net/csdn/skill_tree_game/-/commit/d68bedbebdecf5e6b773876471a0f402a46ea8cf
19.天下没有不OVER的GAME
2022-04-25T20:30:34+08:00
SyoDesk
hello_tute@qq.com
https://gitcode.net/csdn/skill_tree_game/-/commit/09fbc40b1e36422e16a51d4d8ec11070b65b735a
Version 1
2022-04-25T20:50:18+08:00
SyoDesk
hello_tute@qq.com
https://gitcode.net/csdn/skill_tree_game/-/commit/cecebd6a619af1bf65e2d0d5b118bd3c3be9f1db
Merge branch 'master' into 'master'
2022-04-26T16:05:51+08:00
幻灰龙
fanfeilong@gmail.com
Godot版Flappy Bird教程及习题 Version 1 See merge request <a href="/csdn/skill_tree_game/-/merge_requests/2" data-original="csdn/skill_tree_game!2" data-link="false" data-link-reference="false" data-project="109322" data-merge-request="50524" data-project-path="csdn/skill_tree_game" data-iid="2" data-mr-title="Godot版Flappy Bird教程及习题 Version 1" data-reference-type="merge_request" data-container="body" data-placement="top" title="" class="gfm gfm-merge_request">!2</a>
隐藏空白更改
内联
并排
Showing
75 changed file
with
1257 addition
and
160 deletion
+1257
-160
data/1.游戏开发入门初阶/1.Godot Engine入门/1.用Godot Engine开发一个FlappyBird小游戏/config.json
...dot Engine入门/1.用Godot Engine开发一个FlappyBird小游戏/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/1.用Godot Engine开发一个FlappyBird小游戏/learn.json
...odot Engine入门/1.用Godot Engine开发一个FlappyBird小游戏/learn.json
+2
-1
data/1.游戏开发入门初阶/1.Godot Engine入门/1.用Godot Engine开发一个FlappyBird小游戏/learn.md
....Godot Engine入门/1.用Godot Engine开发一个FlappyBird小游戏/learn.md
+25
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/10.无尽水管子滚滚来(一)/config.json
data/1.游戏开发入门初阶/1.Godot Engine入门/10.无尽水管子滚滚来(一)/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/10.无尽水管子滚滚来(一)/learn.json
data/1.游戏开发入门初阶/1.Godot Engine入门/10.无尽水管子滚滚来(一)/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/10.无尽水管子滚滚来(一)/learn.md
data/1.游戏开发入门初阶/1.Godot Engine入门/10.无尽水管子滚滚来(一)/learn.md
+32
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/11.无尽水管子滚滚来(二)/config.json
data/1.游戏开发入门初阶/1.Godot Engine入门/11.无尽水管子滚滚来(二)/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/11.无尽水管子滚滚来(二)/learn.json
data/1.游戏开发入门初阶/1.Godot Engine入门/11.无尽水管子滚滚来(二)/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/11.无尽水管子滚滚来(二)/learn.md
data/1.游戏开发入门初阶/1.Godot Engine入门/11.无尽水管子滚滚来(二)/learn.md
+28
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/12.[知识点]用自动加载(AutoLoad)实现单例模式(Singleton Pattern)/config.json
...[知识点]用自动加载(AutoLoad)实现单例模式(Singleton Pattern)/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/12.[知识点]用自动加载(AutoLoad)实现单例模式(Singleton Pattern)/learn.json
....[知识点]用自动加载(AutoLoad)实现单例模式(Singleton Pattern)/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/12.[知识点]用自动加载(AutoLoad)实现单例模式(Singleton Pattern)/learn.md
...12.[知识点]用自动加载(AutoLoad)实现单例模式(Singleton Pattern)/learn.md
+28
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/13.来点MUSIC(音效系统)/config.json
.../1.游戏开发入门初阶/1.Godot Engine入门/13.来点MUSIC(音效系统)/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/13.来点MUSIC(音效系统)/learn.json
data/1.游戏开发入门初阶/1.Godot Engine入门/13.来点MUSIC(音效系统)/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/13.来点MUSIC(音效系统)/learn.md
data/1.游戏开发入门初阶/1.Godot Engine入门/13.来点MUSIC(音效系统)/learn.md
+28
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/14.[知识点]本地数据存取的帮助类(加密非加密)/config.json
...初阶/1.Godot Engine入门/14.[知识点]本地数据存取的帮助类(加密非加密)/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/14.[知识点]本地数据存取的帮助类(加密非加密)/learn.json
...门初阶/1.Godot Engine入门/14.[知识点]本地数据存取的帮助类(加密非加密)/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/14.[知识点]本地数据存取的帮助类(加密非加密)/learn.md
...发入门初阶/1.Godot Engine入门/14.[知识点]本地数据存取的帮助类(加密非加密)/learn.md
+28
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/15.心里有数(计分系统)/config.json
data/1.游戏开发入门初阶/1.Godot Engine入门/15.心里有数(计分系统)/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/15.心里有数(计分系统)/learn.json
data/1.游戏开发入门初阶/1.Godot Engine入门/15.心里有数(计分系统)/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/15.心里有数(计分系统)/learn.md
data/1.游戏开发入门初阶/1.Godot Engine入门/15.心里有数(计分系统)/learn.md
+28
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/16.[知识点]如何使用外部字体和Label节点制作一个计时器/config.json
...odot Engine入门/16.[知识点]如何使用外部字体和Label节点制作一个计时器/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/16.[知识点]如何使用外部字体和Label节点制作一个计时器/learn.json
...Godot Engine入门/16.[知识点]如何使用外部字体和Label节点制作一个计时器/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/16.[知识点]如何使用外部字体和Label节点制作一个计时器/learn.md
...1.Godot Engine入门/16.[知识点]如何使用外部字体和Label节点制作一个计时器/learn.md
+28
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/17.让数据说话(显示分数)/config.json
data/1.游戏开发入门初阶/1.Godot Engine入门/17.让数据说话(显示分数)/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/17.让数据说话(显示分数)/learn.json
data/1.游戏开发入门初阶/1.Godot Engine入门/17.让数据说话(显示分数)/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/17.让数据说话(显示分数)/learn.md
data/1.游戏开发入门初阶/1.Godot Engine入门/17.让数据说话(显示分数)/learn.md
+28
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/18.[知识点]两行代码实现观察者模式(Observer Pattern),就问你服不服?/config.json
...18.[知识点]两行代码实现观察者模式(Observer Pattern),就问你服不服?/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/18.[知识点]两行代码实现观察者模式(Observer Pattern),就问你服不服?/learn.json
.../18.[知识点]两行代码实现观察者模式(Observer Pattern),就问你服不服?/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/18.[知识点]两行代码实现观察者模式(Observer Pattern),就问你服不服?/learn.md
...入门/18.[知识点]两行代码实现观察者模式(Observer Pattern),就问你服不服?/learn.md
+28
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/19.天下没有不OVER的GAME/config.json
...1.游戏开发入门初阶/1.Godot Engine入门/19.天下没有不OVER的GAME/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/19.天下没有不OVER的GAME/learn.json
.../1.游戏开发入门初阶/1.Godot Engine入门/19.天下没有不OVER的GAME/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/19.天下没有不OVER的GAME/learn.md
data/1.游戏开发入门初阶/1.Godot Engine入门/19.天下没有不OVER的GAME/learn.md
+28
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/2.新建Godot项目/config.json
data/1.游戏开发入门初阶/1.Godot Engine入门/2.新建Godot项目/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/2.新建Godot项目/learn.json
data/1.游戏开发入门初阶/1.Godot Engine入门/2.新建Godot项目/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/2.新建Godot项目/learn.md
data/1.游戏开发入门初阶/1.Godot Engine入门/2.新建Godot项目/learn.md
+25
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/20.[知识点]用Call Method Track(方法回调轨道)实现动画回调/config.json
...ne入门/20.[知识点]用Call Method Track(方法回调轨道)实现动画回调/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/20.[知识点]用Call Method Track(方法回调轨道)实现动画回调/learn.json
...ine入门/20.[知识点]用Call Method Track(方法回调轨道)实现动画回调/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/20.[知识点]用Call Method Track(方法回调轨道)实现动画回调/learn.md
...ngine入门/20.[知识点]用Call Method Track(方法回调轨道)实现动画回调/learn.md
+28
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/21.大不了从头再来(新局启动)/config.json
.../1.游戏开发入门初阶/1.Godot Engine入门/21.大不了从头再来(新局启动)/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/21.大不了从头再来(新局启动)/learn.json
data/1.游戏开发入门初阶/1.Godot Engine入门/21.大不了从头再来(新局启动)/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/21.大不了从头再来(新局启动)/learn.md
data/1.游戏开发入门初阶/1.Godot Engine入门/21.大不了从头再来(新局启动)/learn.md
+27
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/22.番外篇:罗永浩都抖音了,要不咱们也抖一抖?(屏幕震动)/config.json
...Godot Engine入门/22.番外篇:罗永浩都抖音了,要不咱们也抖一抖?(屏幕震动)/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/22.番外篇:罗永浩都抖音了,要不咱们也抖一抖?(屏幕震动)/learn.json
....Godot Engine入门/22.番外篇:罗永浩都抖音了,要不咱们也抖一抖?(屏幕震动)/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/22.番外篇:罗永浩都抖音了,要不咱们也抖一抖?(屏幕震动)/learn.md
.../1.Godot Engine入门/22.番外篇:罗永浩都抖音了,要不咱们也抖一抖?(屏幕震动)/learn.md
+29
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/3.Godot界面介绍/config.json
data/1.游戏开发入门初阶/1.Godot Engine入门/3.Godot界面介绍/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/3.Godot界面介绍/learn.json
data/1.游戏开发入门初阶/1.Godot Engine入门/3.Godot界面介绍/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/3.Godot界面介绍/learn.md
data/1.游戏开发入门初阶/1.Godot Engine入门/3.Godot界面介绍/learn.md
+24
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/4.Hello World/config.json
data/1.游戏开发入门初阶/1.Godot Engine入门/4.Hello World/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/4.Hello World/learn.json
data/1.游戏开发入门初阶/1.Godot Engine入门/4.Hello World/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/4.Hello World/learn.md
data/1.游戏开发入门初阶/1.Godot Engine入门/4.Hello World/learn.md
+24
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/5.坠落吧,小鸟/config.json
data/1.游戏开发入门初阶/1.Godot Engine入门/5.坠落吧,小鸟/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/5.坠落吧,小鸟/learn.json
data/1.游戏开发入门初阶/1.Godot Engine入门/5.坠落吧,小鸟/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/5.坠落吧,小鸟/learn.md
data/1.游戏开发入门初阶/1.Godot Engine入门/5.坠落吧,小鸟/learn.md
+24
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/6.在哪坠落就在哪飞起来/config.json
data/1.游戏开发入门初阶/1.Godot Engine入门/6.在哪坠落就在哪飞起来/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/6.在哪坠落就在哪飞起来/learn.json
data/1.游戏开发入门初阶/1.Godot Engine入门/6.在哪坠落就在哪飞起来/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/6.在哪坠落就在哪飞起来/learn.md
data/1.游戏开发入门初阶/1.Godot Engine入门/6.在哪坠落就在哪飞起来/learn.md
+24
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/7.无限循环的地面/config.json
data/1.游戏开发入门初阶/1.Godot Engine入门/7.无限循环的地面/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/7.无限循环的地面/learn.json
data/1.游戏开发入门初阶/1.Godot Engine入门/7.无限循环的地面/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/7.无限循环的地面/learn.md
data/1.游戏开发入门初阶/1.Godot Engine入门/7.无限循环的地面/learn.md
+32
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/8.[知识点]5种碰撞体以及RigidBody的4种模式/config.json
...1.Godot Engine入门/8.[知识点]5种碰撞体以及RigidBody的4种模式/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/8.[知识点]5种碰撞体以及RigidBody的4种模式/learn.json
.../1.Godot Engine入门/8.[知识点]5种碰撞体以及RigidBody的4种模式/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/8.[知识点]5种碰撞体以及RigidBody的4种模式/learn.md
...初阶/1.Godot Engine入门/8.[知识点]5种碰撞体以及RigidBody的4种模式/learn.md
+29
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/9.[知识点]Timer节点使用范例/config.json
....游戏开发入门初阶/1.Godot Engine入门/9.[知识点]Timer节点使用范例/config.json
+12
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/9.[知识点]Timer节点使用范例/learn.json
...1.游戏开发入门初阶/1.Godot Engine入门/9.[知识点]Timer节点使用范例/learn.json
+8
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/9.[知识点]Timer节点使用范例/learn.md
data/1.游戏开发入门初阶/1.Godot Engine入门/9.[知识点]Timer节点使用范例/learn.md
+28
-0
data/1.游戏开发入门初阶/1.Godot Engine入门/config.json
data/1.游戏开发入门初阶/1.Godot Engine入门/config.json
+0
-0
data/1.游戏开发入门初阶/1.简易游戏/1.用Godot Engine开发一个FlappyBird小游戏/config.json
...发入门初阶/1.简易游戏/1.用Godot Engine开发一个FlappyBird小游戏/config.json
+0
-26
data/1.游戏开发入门初阶/1.简易游戏/1.用Godot Engine开发一个FlappyBird小游戏/flappybird_godot.md
...简易游戏/1.用Godot Engine开发一个FlappyBird小游戏/flappybird_godot.md
+0
-87
data/1.游戏开发入门初阶/1.简易游戏/1.用Godot Engine开发一个FlappyBird小游戏/test/ball.gif
...门初阶/1.简易游戏/1.用Godot Engine开发一个FlappyBird小游戏/test/ball.gif
+0
-0
data/1.游戏开发入门初阶/1.简易游戏/1.用Godot Engine开发一个FlappyBird小游戏/test/ball_game.gif
....简易游戏/1.用Godot Engine开发一个FlappyBird小游戏/test/ball_game.gif
+0
-0
data/1.游戏开发入门初阶/1.简易游戏/1.用Godot Engine开发一个FlappyBird小游戏/test/game.py
...入门初阶/1.简易游戏/1.用Godot Engine开发一个FlappyBird小游戏/test/game.py
+0
-27
data/tree.json
data/tree.json
+214
-19
初始化.bat
初始化.bat
+3
-0
生成.bat
生成.bat
+3
-0
未找到文件。
data/1.游戏开发入门初阶/1.Godot Engine入门/1.用Godot Engine开发一个FlappyBird小游戏/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-a7419380ac974efcbc5fb1d347933d04"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.
简易游戏/1.用Godot Engine开发一个FlappyBird小游戏/flappybird_godot
.json
→
data/1.游戏开发入门初阶/1.
Godot Engine入门/1.用Godot Engine开发一个FlappyBird小游戏/learn
.json
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"
flappybird_godot
.md"
,
"source"
:
"
learn
.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"c821a21bb363442eab64f0aea124f3bd"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/1.用Godot Engine开发一个FlappyBird小游戏/learn.md
0 → 100644
浏览文件 @
cecebd6a
# 用Godot Engine开发一个FlappyBird小游戏
请先阅读本节讲义
[
《出道即巅峰,先做个盈利千万的小项目》
](
https://blog.csdn.net/ttm2d/article/details/104516098
)
著名的网红游戏Flappy Bird出自以下哪位游戏制作人之手?
## 答案
[越南]阮哈东
## 选项
### A
[中国]开发游戏的老王
### B
[日本]宫本茂
### C
[美国]Cory Barlog
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/10.无尽水管子滚滚来(一)/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-ddebb8f9c33e499ebf70e857f5e57244"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/10.无尽水管子滚滚来(一)/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"a5bdb0b8efce48ce8e225fd2996702e3"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/10.无尽水管子滚滚来(一)/learn.md
0 → 100644
浏览文件 @
cecebd6a
# 无尽水管子滚滚来(一)
请先阅读本节讲义⬇
[
《无尽水管子滚滚来(一)》
](
https://orzgame.blog.csdn.net/article/details/104730795
)
在构造一对水管子的时候,为什么要按照下图所示的结构构造?

## 答案
让上下水管以及中间的得分区都作为Pipe节点的子节点,这样只要控制Pipe节点的移动其它节点也就可以同步移动了
## 选项
### A
并没有特别的原因,仅仅是为了好看
### B
这是Godot引擎的要求,必须要这样做
### C
这样比较好看
data/1.游戏开发入门初阶/1.Godot Engine入门/11.无尽水管子滚滚来(二)/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-4609ca19969744c3af113a1c273f6aa3"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/11.无尽水管子滚滚来(二)/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"3324da1bb1d64bdd837ee14a6a4c168b"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/11.无尽水管子滚滚来(二)/learn.md
0 → 100644
浏览文件 @
cecebd6a
# 无尽水管子滚滚来(二)
请先阅读本节讲义⬇
[
《无尽水管子滚滚来(二)》
](
https://orzgame.blog.csdn.net/article/details/104919515
)
我想构造一个取值范围在(-500.0,0.0)之间的随机小数,可以如何使用 randf函数?
## 答案
randf()
*
(-500)
## 选项
### A
randf(500.0)
### B
randf(-500.0)
### C
randf(-1.0)
*
500.0
data/1.游戏开发入门初阶/1.Godot Engine入门/12.[知识点]用自动加载(AutoLoad)实现单例模式(Singleton Pattern)/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-54ed259122714ae3b146ff5d5e3e9b9d"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/12.[知识点]用自动加载(AutoLoad)实现单例模式(Singleton Pattern)/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"daf9fa18992d4cbebc83f65dc5ed906d"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/12.[知识点]用自动加载(AutoLoad)实现单例模式(Singleton Pattern)/learn.md
0 → 100644
浏览文件 @
cecebd6a
# [知识点]用自动加载(AutoLoad)实现单例模式(Singleton Pattern)
请先阅读本节讲义⬇
[
《用自动加载(AutoLoad)实现单例模式(Singleton Pattern)》
](
https://orzgame.blog.csdn.net/article/details/105040614
)
使用Godot Engine 3.x版本的GDScript语言开发项目时,如何实现设计模式中的单例模式?
## 答案
用自动加载(AutoLoad)可以实现单例模式
## 选项
### A
和其它面向对象语言完全一样的实现方法
### B
Godot引擎根本无法实现单例模式
### C
使用信号机制实现单例模式
data/1.游戏开发入门初阶/1.Godot Engine入门/13.来点MUSIC(音效系统)/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-9820c7f433f94ad4a61bfebce0e86afb"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/13.来点MUSIC(音效系统)/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"1b38b5fcaaee476a9e82cd9b60ee1b5c"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/13.来点MUSIC(音效系统)/learn.md
0 → 100644
浏览文件 @
cecebd6a
# 来点MUSIC(音效系统)
请先阅读本节讲义⬇
[
《来点MUSIC(音效系统)》
](
https://blog.csdn.net/ttm2d/article/details/104990374
)
下列节点中负责播放音效的节点是?
## 答案
AudioStreamPlayer
## 选项
### A
AnimationTree
### B
AnimationPlayer
### C
AutoLoad
data/1.游戏开发入门初阶/1.Godot Engine入门/14.[知识点]本地数据存取的帮助类(加密非加密)/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-fcc7df8805b04aa7a3885c23b6de0ee5"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/14.[知识点]本地数据存取的帮助类(加密非加密)/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"830f0b494d6448a8ac3228c09ef1b0da"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/14.[知识点]本地数据存取的帮助类(加密非加密)/learn.md
0 → 100644
浏览文件 @
cecebd6a
# [知识点]本地数据存取的帮助类(加密非加密)
请先阅读本节讲义⬇
[
《本地数据存取的帮助类(加密非加密)》
](
https://blog.csdn.net/ttm2d/article/details/103575079
)
在游戏开发中对于本地玩家的数据采取加密的方式存储最主要原因是什么?
## 答案
防止玩家作弊
## 选项
### A
减少数据体积
### B
保护玩家隐私
### C
提高玩家数据的读取速度
data/1.游戏开发入门初阶/1.Godot Engine入门/15.心里有数(计分系统)/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-ce44239c61d3458b90a37dc93822ebe4"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/15.心里有数(计分系统)/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"e8910b2c32c0461693a1051b0fb9dc57"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/15.心里有数(计分系统)/learn.md
0 → 100644
浏览文件 @
cecebd6a
# 心里有数(计分系统)
请先阅读本节讲义⬇
[
《心里有数(计分系统)》
](
https://orzgame.blog.csdn.net/article/details/105103786
)
在Windows系统中
`Use Custom User Dir`
对应的文件夹在哪里?
## 答案
"用户名/AppData/Roaming/应用名"
## 选项
### A
游戏资源目录下
### B
C盘根目录下
### C
没有特定对应的文件夹
data/1.游戏开发入门初阶/1.Godot Engine入门/16.[知识点]如何使用外部字体和Label节点制作一个计时器/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-abe61f57685e4d5b948f58b4403890bc"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/16.[知识点]如何使用外部字体和Label节点制作一个计时器/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"47bc92c64e5e486fb849147d509d310e"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/16.[知识点]如何使用外部字体和Label节点制作一个计时器/learn.md
0 → 100644
浏览文件 @
cecebd6a
# [知识点]如何使用外部字体和Label节点制作一个计时器
请先阅读本节讲义⬇
[
《如何使用外部字体和Label节点制作一个计时器》
](
https://orzgame.blog.csdn.net/article/details/105073585
)
在Godot中想使用自定义字体,需要新建的资源类型是?
## 答案
`DynamicFont`
## 选项
### A
Label
### B
Control
### C
Node2D
data/1.游戏开发入门初阶/1.Godot Engine入门/17.让数据说话(显示分数)/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-e4484e530d7544e1bd2203e39705b51c"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/17.让数据说话(显示分数)/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"7e055dcee08f4bf28216e61ce67d3abb"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/17.让数据说话(显示分数)/learn.md
0 → 100644
浏览文件 @
cecebd6a
# 让数据说话(显示分数)
请先阅读本节讲义⬇
[
《让数据说话(显示分数)》
](
https://orzgame.blog.csdn.net/article/details/105123050
)
在FlappyBird游戏中,当小鸟顺利通过一对水管子之间的空隙,则视为得1分,那么触发得分的逻辑应该放在哪个函数中?
## 答案
`_on_body_exited`
## 选项
### A
`_ready`
### B
`_process`
### C
`_on_body_enter`
data/1.游戏开发入门初阶/1.Godot Engine入门/18.[知识点]两行代码实现观察者模式(Observer Pattern),就问你服不服?/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-c9d47730e8154a7f8e09f2f0faf3846e"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/18.[知识点]两行代码实现观察者模式(Observer Pattern),就问你服不服?/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"275b608abf8d4774ad570bc0e3985062"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/18.[知识点]两行代码实现观察者模式(Observer Pattern),就问你服不服?/learn.md
0 → 100644
浏览文件 @
cecebd6a
# [知识点]两行代码实现观察者模式(Observer Pattern),就问你服不服?
请先阅读本节讲义⬇
[
《两行代码实现观察者模式(Observer Pattern),就问你服不服?》
](
https://orzgame.blog.csdn.net/article/details/105120001
)
在Godot引擎中最直接且最快速实现观察者模式的机制是什么?
## 答案
Godot的组(Group)机制
## 选项
### A
Godot的AutoLoad机制
### B
Godot的信号(Signal)机制
### C
Godot节点树
data/1.游戏开发入门初阶/1.Godot Engine入门/19.天下没有不OVER的GAME/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-4f8ddd4a0c8c4800b0153cf5e0a97731"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/19.天下没有不OVER的GAME/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"2702090fbaab43ed9ff517fbea4150f3"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/19.天下没有不OVER的GAME/learn.md
0 → 100644
浏览文件 @
cecebd6a
# 天下没有不OVER的GAME
请先阅读本节讲义⬇
[
《天下没有不OVER的GAME(上)》
](
https://orzgame.blog.csdn.net/article/details/105148296
)
[
《天下没有不OVER的GAME(下)》
](
https://orzgame.blog.csdn.net/article/details/105156048
)
游戏结束以后自动弹出显示分数的看板UI,下列哪个节点最适合用于在UI上显示图片
## 答案
`TextureRect`
## 选项
### A
`AnimationPlayer`
### B
`Label`
### C
`Sprite`
data/1.游戏开发入门初阶/1.Godot Engine入门/2.新建Godot项目/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-564e4ed11c3c4dd881b09fb29eaf0833"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/2.新建Godot项目/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"350edfb5ba6f4e67a0874accbc12f04d"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/2.新建Godot项目/learn.md
0 → 100644
浏览文件 @
cecebd6a
# 新建Godot项目
请先阅读本节讲义
[
《新建Godot项目》
](
https://blog.csdn.net/ttm2d/article/details/104478190
)
本教程中使用的Godot Engine版本是什么?
## 答案
Godot Engine 3.x
## 选项
### A
Godot Engine 1.x
### B
Godot Engine 2.x
### C
Godot Engine 4.x
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/20.[知识点]用Call Method Track(方法回调轨道)实现动画回调/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-bb9e4ae20c1c4af38af69636d09793ee"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/20.[知识点]用Call Method Track(方法回调轨道)实现动画回调/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"d0091914c6bb43bf9f15a2e9beed5979"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/20.[知识点]用Call Method Track(方法回调轨道)实现动画回调/learn.md
0 → 100644
浏览文件 @
cecebd6a
# [知识点]用Call Method Track(方法回调轨道)实现动画回调
请先阅读本节讲义⬇
[
《用Call Method Track(方法回调轨道)实现动画回调》
](
https://orzgame.blog.csdn.net/article/details/105230844
)
我们想让某段动画播放到特定帧时自动触发(调用)一个函数,下列那种机制是最佳方案?
## 答案
Call Method Track(方法回调轨道)
## 选项
### A
手动计算时间并使用Timer延时触发
### B
使用Group机制
### C
没有开箱即用的方法,只能纯代码实现
data/1.游戏开发入门初阶/1.Godot Engine入门/21.大不了从头再来(新局启动)/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-1eb635fc0e784edbac7264db4d12a7ff"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/21.大不了从头再来(新局启动)/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"5e328793a87c43c485eb3152a019b0a0"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/21.大不了从头再来(新局启动)/learn.md
0 → 100644
浏览文件 @
cecebd6a
# 大不了从头再来(新局启动)
请先阅读本节讲义⬇
[
《大不了从头再来(新局启动)》
](
https://orzgame.blog.csdn.net/article/details/105161381
)
将一个节点通过其父节点的
`remove_child`
从场景树中移除后,为什么还要调用其自身的
`queue_free`
函数?
## 答案
`remove_child`
只是将它从场景树上移除,但其内存资源并未释放,所以要调用
`queue_free`
将其放到待释放队列中,由引擎释放其内存资源
## 选项
### A
没有必要调用
### B
调用其自身的
`queue_free`
以后就可以重复使用了
### C
可以给其赋值为null来代替
`queue_free`
data/1.游戏开发入门初阶/1.Godot Engine入门/22.番外篇:罗永浩都抖音了,要不咱们也抖一抖?(屏幕震动)/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-6baed610886c4dfab45c04c6d1a4c74d"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/22.番外篇:罗永浩都抖音了,要不咱们也抖一抖?(屏幕震动)/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"30a0ab7ff4cd4e699bffdf4a88ec537d"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/22.番外篇:罗永浩都抖音了,要不咱们也抖一抖?(屏幕震动)/learn.md
0 → 100644
浏览文件 @
cecebd6a
# 番外篇:罗永浩都抖音了,要不咱们也抖一抖?(屏幕震动)
请先阅读本节讲义⬇
[
《Godot Engine:屏幕振动效果的实现》
](
https://blog.csdn.net/ttm2d/article/details/103809442
)
[
《番外篇:罗永浩都抖音了,要不咱们也抖一抖?(屏幕震动)》
](
https://orzgame.blog.csdn.net/article/details/105262867
)
下列选项中那些效果可以提高游戏的“打击感”?
## 答案
包括(但不限于)其他全部选项
## 选项
### A
屏幕震动
### B
音效
### C
一些粒子特效
data/1.游戏开发入门初阶/1.Godot Engine入门/3.Godot界面介绍/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-e2f919f34b524b43b50dc61ec09f9989"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/3.Godot界面介绍/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"a025720311664644b941c4523f644f8f"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/3.Godot界面介绍/learn.md
0 → 100644
浏览文件 @
cecebd6a
# 3.Godot界面介绍
请先阅读本节讲义
[
《Godot界面介绍》
](
https://blog.csdn.net/ttm2d/article/details/104479758
)
在引擎编辑器中运行(测试)Godot游戏的快捷键是?
## 答案
`F5`
键
## 选项
### A
`P`
键
### B
`Alt + P`
键
### C
`Enter`
键
data/1.游戏开发入门初阶/1.Godot Engine入门/4.Hello World/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-204ac394144042d8aad5e5e90079a0e8"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/4.Hello World/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"4eab4cb819514d7baf3c4c239a4c5cc3"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/4.Hello World/learn.md
0 → 100644
浏览文件 @
cecebd6a
# 3.Hello World
请先阅读本节讲义
[
《Hello World》
](
https://blog.csdn.net/ttm2d/article/details/104534235
)
使用Godot引擎制作2D游戏时,负责表现一个2D角色的常用节点是?
## 答案
Sprite节点
## 选项
### A
Spatial节点
### B
Node2D节点
### C
Node节点
data/1.游戏开发入门初阶/1.Godot Engine入门/5.坠落吧,小鸟/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-7837069511e14a209a18d8f21f7c1cdb"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/5.坠落吧,小鸟/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"e9f852892d9f4182a57b0b319fda381f"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/5.坠落吧,小鸟/learn.md
0 → 100644
浏览文件 @
cecebd6a
# 4.坠落吧,小鸟
请先阅读本节讲义
[
《坠落吧,小鸟》
](
https://blog.csdn.net/ttm2d/article/details/104542478
)
使用Godot引擎制作2D游戏时,负责描述一个2D角色物理轮廓(碰撞时的“外壳”)的节点是?
## 答案
CollisionShape2D节点
## 选项
### A
Rigidbody2D节点
### B
Node2D节点
### C
Sprite节点
data/1.游戏开发入门初阶/1.Godot Engine入门/6.在哪坠落就在哪飞起来/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-92d76053805145d591d22d3c9679eef4"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/6.在哪坠落就在哪飞起来/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"55c977ff0bdd44848ac845e51b8cd6a8"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/6.在哪坠落就在哪飞起来/learn.md
0 → 100644
浏览文件 @
cecebd6a
# 5.在哪坠落就在哪飞起来
请先阅读本节讲义
[
《FlappyBird:在哪坠落就在哪飞起来》
](
https://orzgame.blog.csdn.net/article/details/104606205
)
下列Node节点的生命周期函数中,哪个函数在每一帧都会被调用?
## 答案
_process(delta)
## 选项
### A
_ready()
### B
_init()
### C
_enter_
tree()
data/1.游戏开发入门初阶/1.Godot Engine入门/7.无限循环的地面/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-cd00e66431484f1087cb6b779a7bfdbb"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/7.无限循环的地面/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"33d770d84c7f45ae96cab88c0b711bb6"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/7.无限循环的地面/learn.md
0 → 100644
浏览文件 @
cecebd6a
# 6.无限循环的地面
请先阅读本节讲义⬇
无限循环的地面使用了三种完全不同的方法实现:
-
[
**Godot青年版**
](
https://orzgame.blog.csdn.net/article/details/104709354
)
主要是想展示一下方便好用的 AnimationPlayer,并且此方法一行代码也不用写;
-
[
**普通青年版**
](
https://orzgame.blog.csdn.net/article/details/104717644
)
是比较常规的方法,用 Godot的脚本语言实现(初级阶段最推荐的方法);
-
[
**文艺青年版**
](
https://orzgame.blog.csdn.net/article/details/104703946
)
使用了自定义Shader实现,无需新建多余的节点,并且方便复用,是实现该效果的最佳方法。不过该方法需要着色器知识,目前略有超纲;
使用Godot青年版实现无限循环地面的时候在_process方法中判断
`offset.x <= -530.0`
的意义是?
## 答案
当地面向左移动到-530.0个像素位置时,将其位置归零
## 选项
### A
地面移动速度不能大于530.0像素/帧
### B
地面移动速度不能小于-530.0像素/帧
### C
地面移动速度不能大于200.0像素/帧
data/1.游戏开发入门初阶/1.Godot Engine入门/8.[知识点]5种碰撞体以及RigidBody的4种模式/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-b0e23a8f1f624ff1b4e0d214deb76942"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/8.[知识点]5种碰撞体以及RigidBody的4种模式/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"ee8733182987449b91608cb7a6ea8e96"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/8.[知识点]5种碰撞体以及RigidBody的4种模式/learn.md
0 → 100644
浏览文件 @
cecebd6a
# 5种碰撞体以及RigidBody的4种模式
请先阅读本节讲义⬇
[
《5种碰撞体以及RigidBody的4种模式》
](
https://orzgame.blog.csdn.net/article/details/104822436
)
使用实例:
[
《碰撞和碰撞检测的简单实例(RigidBody2D与Area2D碰撞)》
](
https://orzgame.blog.csdn.net/article/details/104824983
)
使用实例:
[
《碰撞和碰撞检测的简单实例(RigidBody2D与StaticBody2D碰撞)》
](
https://orzgame.blog.csdn.net/article/details/104804192
)
在Godot引擎构造的游戏世界中,如果想构造一个能够挡住子弹但自身不会移动的“墙”,应该将“墙”的RigidBody设置为如下哪种模式?
## 答案
`StaticBody`
## 选项
### A
`KinematicBody`
### B
`RigidBody`
### C
`Area`
data/1.游戏开发入门初阶/1.Godot Engine入门/9.[知识点]Timer节点使用范例/config.json
0 → 100644
浏览文件 @
cecebd6a
{
"node_id"
:
"game-d519f3f21c60416aa6f1adc345fd11ee"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"learn.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/9.[知识点]Timer节点使用范例/learn.json
0 → 100644
浏览文件 @
cecebd6a
{
"type"
:
"code_options"
,
"author"
:
"hello_tute"
,
"source"
:
"learn.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"b389662531f143f18259638378976bdd"
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.Godot Engine入门/9.[知识点]Timer节点使用范例/learn.md
0 → 100644
浏览文件 @
cecebd6a
# [知识点]Timer节点使用范例
请先阅读本节讲义⬇
[
《Timer节点使用范例》
](
https://orzgame.blog.csdn.net/article/details/104905971
)
如果我想让一个Timer节点每隔0.5秒触发一次,那么应该将该节点的哪个属性设置为0.5?
## 答案
`Wait Time`
## 选项
### A
`One Shot`
### B
`Autostart`
### C
`Process Mode`
data/1.游戏开发入门初阶/1.
简易游戏
/config.json
→
data/1.游戏开发入门初阶/1.
Godot Engine入门
/config.json
浏览文件 @
cecebd6a
文件已移动
data/1.游戏开发入门初阶/1.简易游戏/1.用Godot Engine开发一个FlappyBird小游戏/config.json
已删除
100644 → 0
浏览文件 @
30525f5c
{
"node_id"
:
"game-3763515eddfe4932887fd39c826f317e"
,
"keywords"
:
[],
"children"
:
[
{
"游戏开发入门"
:
{
"keywords"
:
[
"游戏开发"
,
"入门"
],
"children"
:
[],
"keywords_must"
:
[
"起源"
],
"keywords_forbid"
:
[],
"node_id"
:
"game-8b79c45606e74fd48485bcdca73de39e"
}
}
],
"export"
:
[
"flappybird_godot.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
\ No newline at end of file
data/1.游戏开发入门初阶/1.简易游戏/1.用Godot Engine开发一个FlappyBird小游戏/flappybird_godot.md
已删除
100644 → 0
浏览文件 @
30525f5c
# 一个简单的 Python 小游戏
我们可以使用 python 的 pygame 快速建立一个弹球游戏,环境依赖
*
安装 python
*
使用 python 的包管理程序,安装依赖的 pygame 包:
`pip install pygame`
编写你的第一游戏代码
`game.py`
,代码如下:
```
python
import
sys
import
pygame
# 初始化
pygame
.
init
()
# 游戏对话框大小
size
=
width
,
height
=
320
,
240
# 小球移动速度
speed
=
[
2
,
2
]
# 黑色背景
black
=
0
,
0
,
0
# 创建游戏屏幕
screen
=
pygame
.
display
.
set_mode
(
size
)
# 加载小球 gif
ball
=
pygame
.
image
.
load
(
"ball.gif"
)
# 获取游戏图片的矩形框
ballrect
=
ball
.
get_rect
()
# 游戏循环
while
1
:
# 判断是否退出
for
event
in
pygame
.
event
.
get
():
if
event
.
type
==
pygame
.
QUIT
:
sys
.
exit
()
# 按 speed 速度,计算移动小球后的矩形框
ballrect
=
ballrect
.
move
(
speed
)
# 更新速度(大小和方向)
if
ballrect
.
left
<
0
or
ballrect
.
right
>
width
:
speed
[
0
]
=
-
speed
[
0
]
if
ballrect
.
top
<
0
or
ballrect
.
bottom
>
height
:
speed
[
1
]
=
-
speed
[
1
]
# 绘制黑色背景
screen
.
fill
(
black
)
# 绘制小球
screen
.
blit
(
ball
,
ballrect
)
# 使用双缓存机制刷新屏幕
pygame
.
display
.
flip
()
```
其中小球 gif 资源如下:

使用命令
`python game.py`
启动游戏,游戏启动后的画面如下

以下关于上述游戏代码说法错误的是?
## 答案
编写游戏只能使用 pygame
## 选项
### A
一个游戏程序,一般有一个死循环,反复绘制游戏画面
### B
许多游戏的渲染,都会采用双缓存机制,在背后的帧里面做渲染,再一次性刷新到前台帧
### C
在游戏循环里,可以检测各种交互事件,并响应事件,从而完成游戏玩家和游戏的互动,例如:退出游戏
\ No newline at end of file
data/1.游戏开发入门初阶/1.简易游戏/1.用Godot Engine开发一个FlappyBird小游戏/test/ball.gif
已删除
100644 → 0
浏览文件 @
30525f5c
4.9 KB
data/1.游戏开发入门初阶/1.简易游戏/1.用Godot Engine开发一个FlappyBird小游戏/test/ball_game.gif
已删除
100644 → 0
浏览文件 @
30525f5c
10.0 MB
data/1.游戏开发入门初阶/1.简易游戏/1.用Godot Engine开发一个FlappyBird小游戏/test/game.py
已删除
100644 → 0
浏览文件 @
30525f5c
import
sys
import
pygame
pygame
.
init
()
size
=
width
,
height
=
320
,
240
speed
=
[
2
,
2
]
black
=
0
,
0
,
0
screen
=
pygame
.
display
.
set_mode
(
size
)
ball
=
pygame
.
image
.
load
(
"ball.gif"
)
ballrect
=
ball
.
get_rect
()
while
1
:
for
event
in
pygame
.
event
.
get
():
if
event
.
type
==
pygame
.
QUIT
:
sys
.
exit
()
ballrect
=
ballrect
.
move
(
speed
)
if
ballrect
.
left
<
0
or
ballrect
.
right
>
width
:
speed
[
0
]
=
-
speed
[
0
]
if
ballrect
.
top
<
0
or
ballrect
.
bottom
>
height
:
speed
[
1
]
=
-
speed
[
1
]
screen
.
fill
(
black
)
screen
.
blit
(
ball
,
ballrect
)
pygame
.
display
.
flip
()
data/tree.json
浏览文件 @
cecebd6a
...
...
@@ -9,7 +9,7 @@
"keywords"
:
[],
"children"
:
[
{
"
简易游戏
"
:
{
"
Godot Engine入门
"
:
{
"node_id"
:
"game-8693485194904570b938d427a3f7e562"
,
"keywords"
:
[
"Godot Engine"
,
...
...
@@ -19,24 +19,219 @@
"children"
:
[
{
"用Godot Engine开发一个FlappyBird小游戏"
:
{
"node_id"
:
"game-3763515eddfe4932887fd39c826f317e"
,
"keywords"
:
[],
"children"
:
[
{
"游戏开发入门"
:
{
"keywords"
:
[
"游戏开发"
,
"入门"
],
"children"
:
[],
"keywords_must"
:
[
"起源"
],
"keywords_forbid"
:
[],
"node_id"
:
"game-8b79c45606e74fd48485bcdca73de39e"
}
}
],
"node_id"
:
"game-a7419380ac974efcbc5fb1d347933d04"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"新建Godot项目"
:
{
"node_id"
:
"game-564e4ed11c3c4dd881b09fb29eaf0833"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"Godot界面介绍"
:
{
"node_id"
:
"game-e2f919f34b524b43b50dc61ec09f9989"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"Hello World"
:
{
"node_id"
:
"game-204ac394144042d8aad5e5e90079a0e8"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"坠落吧,小鸟"
:
{
"node_id"
:
"game-7837069511e14a209a18d8f21f7c1cdb"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"在哪坠落就在哪飞起来"
:
{
"node_id"
:
"game-92d76053805145d591d22d3c9679eef4"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"无限循环的地面"
:
{
"node_id"
:
"game-cd00e66431484f1087cb6b779a7bfdbb"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"[知识点]5种碰撞体以及RigidBody的4种模式"
:
{
"node_id"
:
"game-b0e23a8f1f624ff1b4e0d214deb76942"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"[知识点]Timer节点使用范例"
:
{
"node_id"
:
"game-d519f3f21c60416aa6f1adc345fd11ee"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"无尽水管子滚滚来(一)"
:
{
"node_id"
:
"game-ddebb8f9c33e499ebf70e857f5e57244"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"无尽水管子滚滚来(二)"
:
{
"node_id"
:
"game-4609ca19969744c3af113a1c273f6aa3"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"[知识点]用自动加载(AutoLoad)实现单例模式(Singleton Pattern)"
:
{
"node_id"
:
"game-54ed259122714ae3b146ff5d5e3e9b9d"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"来点MUSIC(音效系统)"
:
{
"node_id"
:
"game-9820c7f433f94ad4a61bfebce0e86afb"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"[知识点]本地数据存取的帮助类(加密非加密)"
:
{
"node_id"
:
"game-fcc7df8805b04aa7a3885c23b6de0ee5"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"心里有数(计分系统)"
:
{
"node_id"
:
"game-ce44239c61d3458b90a37dc93822ebe4"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"[知识点]如何使用外部字体和Label节点制作一个计时器"
:
{
"node_id"
:
"game-abe61f57685e4d5b948f58b4403890bc"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"让数据说话(显示分数)"
:
{
"node_id"
:
"game-e4484e530d7544e1bd2203e39705b51c"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"[知识点]两行代码实现观察者模式(Observer Pattern),就问你服不服?"
:
{
"node_id"
:
"game-c9d47730e8154a7f8e09f2f0faf3846e"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"天下没有不OVER的GAME"
:
{
"node_id"
:
"game-4f8ddd4a0c8c4800b0153cf5e0a97731"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"[知识点]用Call Method Track(方法回调轨道)实现动画回调"
:
{
"node_id"
:
"game-bb9e4ae20c1c4af38af69636d09793ee"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"大不了从头再来(新局启动)"
:
{
"node_id"
:
"game-1eb635fc0e784edbac7264db4d12a7ff"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
}
},
{
"番外篇:罗永浩都抖音了,要不咱们也抖一抖?(屏幕震动)"
:
{
"node_id"
:
"game-6baed610886c4dfab45c04c6d1a4c74d"
,
"keywords"
:
[],
"children"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
...
...
初始化.bat
0 → 100644
浏览文件 @
cecebd6a
pip
install
-r
requirements
.txt
pause
\ No newline at end of file
生成.bat
0 → 100644
浏览文件 @
cecebd6a
python
main
.py
pause
\ No newline at end of file