diff --git "a/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/9.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\270\200\357\274\211/config.json" "b/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/10.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\270\200\357\274\211/config.json" similarity index 100% rename from "data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/9.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\270\200\357\274\211/config.json" rename to "data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/10.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\270\200\357\274\211/config.json" diff --git "a/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/9.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\270\200\357\274\211/learn.json" "b/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/10.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\270\200\357\274\211/learn.json" similarity index 100% rename from "data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/9.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\270\200\357\274\211/learn.json" rename to "data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/10.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\270\200\357\274\211/learn.json" diff --git "a/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/9.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\270\200\357\274\211/learn.md" "b/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/10.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\270\200\357\274\211/learn.md" similarity index 100% rename from "data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/9.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\270\200\357\274\211/learn.md" rename to "data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/10.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\270\200\357\274\211/learn.md" diff --git "a/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/11.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\272\214\357\274\211/config.json" "b/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/11.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\272\214\357\274\211/config.json" index 5cd1d4e4b235d9dbd3da928fb8013bae38867292..04e3e23f56919c18a3f57f860d0734fae87ff19a 100644 --- "a/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/11.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\272\214\357\274\211/config.json" +++ "b/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/11.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\272\214\357\274\211/config.json" @@ -1,5 +1,5 @@ { - "node_id": "game-7dd736ff4d2e43bfa002ad16964a7ea8", + "node_id": "game-4e8d0d681ad74f0baf658819a067b7df", "keywords": [], "children": [], "export": [ diff --git "a/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/11.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\272\214\357\274\211/learn.md" "b/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/11.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\272\214\357\274\211/learn.md" index c291c0087e1ee7a4eceb8a44a1098603e012d66a..ffed9fdf06c7b2084d6e2e8cb5a3b46ea2fcf642 100644 --- "a/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/11.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\272\214\357\274\211/learn.md" +++ "b/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/11.\346\227\240\345\260\275\346\260\264\347\256\241\345\255\220\346\273\232\346\273\232\346\235\245\357\274\210\344\272\214\357\274\211/learn.md" @@ -5,28 +5,24 @@ [《无尽水管子滚滚来(二)》](https://orzgame.blog.csdn.net/article/details/104919515) - - -在构造一对水管子的时候,为什么要按照下图所示的结构构造? - - -![水管子的场景结构](https://img-blog.csdnimg.cn/20200318183720887.png#pic_center) +我想构造一个取值范围在(-500.0,0.0)之间的随机小数,可以如何使用 randf函数? ## 答案 -让上下水管以及中间的得分区都作为Pipe节点的子节点,这样只要控制Pipe节点的移动其它节点也就可以同步移动了 +randf()*(-500) ## 选项 ### A -并没有特别的原因,仅仅是为了好看 +randf(500.0) ### B -这是Godot引擎的要求,必须要这样做 +randf(-500.0) ### C -这样比较好看 +randf(-1.0)*500.0 + diff --git "a/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/12.[\347\237\245\350\257\206\347\202\271]\347\224\250\350\207\252\345\212\250\345\212\240\350\275\275(AutoLoad)\345\256\236\347\216\260\345\215\225\344\276\213\346\250\241\345\274\217(Singleton Pattern)/config.json" "b/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/12.[\347\237\245\350\257\206\347\202\271]\347\224\250\350\207\252\345\212\250\345\212\240\350\275\275(AutoLoad)\345\256\236\347\216\260\345\215\225\344\276\213\346\250\241\345\274\217(Singleton Pattern)/config.json" new file mode 100644 index 0000000000000000000000000000000000000000..2f18c87937d5e6e8e5fe1c59b02096ae5ea677c4 --- /dev/null +++ "b/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/12.[\347\237\245\350\257\206\347\202\271]\347\224\250\350\207\252\345\212\250\345\212\240\350\275\275(AutoLoad)\345\256\236\347\216\260\345\215\225\344\276\213\346\250\241\345\274\217(Singleton Pattern)/config.json" @@ -0,0 +1,11 @@ +{ + "node_id": "game-585260a4beaa4505ae042e6976d45e22", + "keywords": [], + "children": [], + "export": [ + "learn.json" + ], + "keywords_must": [], + "keywords_forbid": [], + "group": 0 +} \ No newline at end of file diff --git "a/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/12.[\347\237\245\350\257\206\347\202\271]\347\224\250\350\207\252\345\212\250\345\212\240\350\275\275(AutoLoad)\345\256\236\347\216\260\345\215\225\344\276\213\346\250\241\345\274\217(Singleton Pattern)/learn.json" "b/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/12.[\347\237\245\350\257\206\347\202\271]\347\224\250\350\207\252\345\212\250\345\212\240\350\275\275(AutoLoad)\345\256\236\347\216\260\345\215\225\344\276\213\346\250\241\345\274\217(Singleton Pattern)/learn.json" new file mode 100644 index 0000000000000000000000000000000000000000..9a79f80e3d50d4371117d0457b48b56c0641c74a --- /dev/null +++ "b/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/12.[\347\237\245\350\257\206\347\202\271]\347\224\250\350\207\252\345\212\250\345\212\240\350\275\275(AutoLoad)\345\256\236\347\216\260\345\215\225\344\276\213\346\250\241\345\274\217(Singleton Pattern)/learn.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": "hello_tute", + "source": "learn.md", + "notebook_enable": false, + "exercise_id": "daf9fa18992d4cbebc83f65dc5ed906d" +} \ No newline at end of file diff --git "a/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/12.[\347\237\245\350\257\206\347\202\271]\347\224\250\350\207\252\345\212\250\345\212\240\350\275\275(AutoLoad)\345\256\236\347\216\260\345\215\225\344\276\213\346\250\241\345\274\217(Singleton Pattern)/learn.md" "b/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/12.[\347\237\245\350\257\206\347\202\271]\347\224\250\350\207\252\345\212\250\345\212\240\350\275\275(AutoLoad)\345\256\236\347\216\260\345\215\225\344\276\213\346\250\241\345\274\217(Singleton Pattern)/learn.md" new file mode 100644 index 0000000000000000000000000000000000000000..a35fcd5ba3104395538934a110ab4e84d14d4661 --- /dev/null +++ "b/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/12.[\347\237\245\350\257\206\347\202\271]\347\224\250\350\207\252\345\212\250\345\212\240\350\275\275(AutoLoad)\345\256\236\347\216\260\345\215\225\344\276\213\346\250\241\345\274\217(Singleton Pattern)/learn.md" @@ -0,0 +1,28 @@ +# [知识点]用自动加载(AutoLoad)实现单例模式(Singleton Pattern) + +请先阅读本节讲义⬇ + +[《用自动加载(AutoLoad)实现单例模式(Singleton Pattern)》](https://orzgame.blog.csdn.net/article/details/105040614) + + + +使用Godot Engine 3.x版本的GDScript语言开发项目时,如何实现设计模式中的单例模式? + + +## 答案 + +用自动加载(AutoLoad)可以实现单例模式 + +## 选项 + +### A + +和其它面向对象语言完全一样的实现方法 + +### B + +Godot引擎根本无法实现单例模式 + +### C + +使用信号机制实现单例模式 diff --git "a/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/10.[\347\237\245\350\257\206\347\202\271]Timer\350\212\202\347\202\271\344\275\277\347\224\250\350\214\203\344\276\213/config.json" "b/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/9.[\347\237\245\350\257\206\347\202\271]Timer\350\212\202\347\202\271\344\275\277\347\224\250\350\214\203\344\276\213/config.json" similarity index 100% rename from "data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/10.[\347\237\245\350\257\206\347\202\271]Timer\350\212\202\347\202\271\344\275\277\347\224\250\350\214\203\344\276\213/config.json" rename to "data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/9.[\347\237\245\350\257\206\347\202\271]Timer\350\212\202\347\202\271\344\275\277\347\224\250\350\214\203\344\276\213/config.json" diff --git "a/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/10.[\347\237\245\350\257\206\347\202\271]Timer\350\212\202\347\202\271\344\275\277\347\224\250\350\214\203\344\276\213/learn.json" "b/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/9.[\347\237\245\350\257\206\347\202\271]Timer\350\212\202\347\202\271\344\275\277\347\224\250\350\214\203\344\276\213/learn.json" similarity index 100% rename from "data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/10.[\347\237\245\350\257\206\347\202\271]Timer\350\212\202\347\202\271\344\275\277\347\224\250\350\214\203\344\276\213/learn.json" rename to "data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/9.[\347\237\245\350\257\206\347\202\271]Timer\350\212\202\347\202\271\344\275\277\347\224\250\350\214\203\344\276\213/learn.json" diff --git "a/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/10.[\347\237\245\350\257\206\347\202\271]Timer\350\212\202\347\202\271\344\275\277\347\224\250\350\214\203\344\276\213/learn.md" "b/data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/9.[\347\237\245\350\257\206\347\202\271]Timer\350\212\202\347\202\271\344\275\277\347\224\250\350\214\203\344\276\213/learn.md" similarity index 100% rename from "data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/10.[\347\237\245\350\257\206\347\202\271]Timer\350\212\202\347\202\271\344\275\277\347\224\250\350\214\203\344\276\213/learn.md" rename to "data/1.\346\270\270\346\210\217\345\274\200\345\217\221\345\205\245\351\227\250\345\210\235\351\230\266/1.Godot Engine\345\205\245\351\227\250/9.[\347\237\245\350\257\206\347\202\271]Timer\350\212\202\347\202\271\344\275\277\347\224\250\350\214\203\344\276\213/learn.md"