diff --git a/doc/demo01_hello/hello.md b/doc/demo01_hello/hello.md index 382038a..fc328f4 100644 --- a/doc/demo01_hello/hello.md +++ b/doc/demo01_hello/hello.md @@ -29,6 +29,7 @@ ue虽然开源源代码,但是代码量太大,历史包袱太重,不适合 ``` 使用godot你既可以用GDScript去编写代码,也可以用C++去编写代码,还可以去改底层引擎代码 +游戏行业到最后都是C++,如果想把游戏当作自己的事业,那绝对不要满足在脚本上,游戏最后的优化都是基于硬件显卡之上的,只能用C++ ``` - 用godot你能感觉我能把控底层,我能把控每一行代码的底层细节,这个是程序员的浪漫,godot在国外比较火是有原因的 @@ -41,4 +42,5 @@ ue虽然开源源代码,但是代码量太大,历史包袱太重,不适合 - unity在很久之前也同时支持过js和C#,最后放弃了js,主要是因为unity是mono和C#非常友好 - godot使用C++去解释执行gds,这个时候对于godot来说比较重,推荐gds - 通过学习gds也可以学到一些编译原理的知识 -- godot不仅仅是一个游戏引擎,而且还是一个优质的学习资源 \ No newline at end of file +- godot不仅仅是一个游戏引擎,而且还是一个优质的学习资源 +- https://www.zhihu.com/question/393440831 diff --git a/doc/demo02_base/base.md b/doc/demo02_base/base.md index 1ff9f47..e7f701e 100644 --- a/doc/demo02_base/base.md +++ b/doc/demo02_base/base.md @@ -1,17 +1,24 @@ - 参考资料 - [godot官方文档](https://docs.godotengine.org/en/stable/getting_started/scripting/gdscript/gdscript_basics.html) -- [Godot Tutorials的youtube播放量最高的godot教程视频](https://www.youtube.com/watch?v=JJQa3xrRNM0&list=PLJ690cxlZTgL4i3sjTPRQTyrJ5TTkYJ2_) +- [Godot Tutorials的GDScript Fundamentals Tutorial Series,youtube播放量最高的godot教程视频](https://www.youtube.com/watch?v=JJQa3xrRNM0&list=PLJ690cxlZTgL4i3sjTPRQTyrJ5TTkYJ2_) +- [Godot Tutorials的Godot Basics Tutorial Series,youtube播放量最高的godot教程视频](https://www.youtube.com/watch?v=sChM51ibm5k&list=PLJ690cxlZTgIsmdEhFufnB7O6KWoMS8M6) - [B站视频](https://www.bilibili.com/video/BV17g4y1z7uS) # 数据类型 - gds有5种基础类型 - Boolean,Integer(Java long),Float(Java double),String,Null -![Image text](integer.JPG) -![Image text](integer_overflow.JPG) -![Image text](gc.JPG) -![Image text](step.JPG) - +![Image text](image/integer.JPG) +![Image text](image/integer_overflow.JPG) +![Image text](image/step.JPG) + + +# 垃圾回收 + +![Image text](image/gc.JPG) +![Image text](image/gc1.png) +![Image text](image/gc2.png) +![Image text](image/gc3.png) diff --git a/doc/demo02_base/gc.JPG b/doc/demo02_base/image/gc.JPG similarity index 100% rename from doc/demo02_base/gc.JPG rename to doc/demo02_base/image/gc.JPG diff --git a/doc/demo02_base/gc.JPG.import b/doc/demo02_base/image/gc.JPG.import similarity index 71% rename from doc/demo02_base/gc.JPG.import rename to doc/demo02_base/image/gc.JPG.import index 51836ab..7beedc0 100644 --- a/doc/demo02_base/gc.JPG.import +++ b/doc/demo02_base/image/gc.JPG.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/gc.JPG-39fa032320410100941ba40578241fc0.stex" +path="res://.import/gc.JPG-7827fecfd1aba43aa0b40579830536b9.stex" metadata={ "vram_texture": false } [deps] -source_file="res://doc/demo02_base/gc.JPG" -dest_files=[ "res://.import/gc.JPG-39fa032320410100941ba40578241fc0.stex" ] +source_file="res://doc/demo02_base/image/gc.JPG" +dest_files=[ "res://.import/gc.JPG-7827fecfd1aba43aa0b40579830536b9.stex" ] [params] diff --git a/doc/demo02_base/image/gc1.png b/doc/demo02_base/image/gc1.png new file mode 100644 index 0000000..4f2fc49 Binary files /dev/null and b/doc/demo02_base/image/gc1.png differ diff --git a/doc/demo03_lifecycle/godot_node.jpg.import b/doc/demo02_base/image/gc1.png.import similarity index 68% rename from doc/demo03_lifecycle/godot_node.jpg.import rename to doc/demo02_base/image/gc1.png.import index e1e3432..1035a74 100644 --- a/doc/demo03_lifecycle/godot_node.jpg.import +++ b/doc/demo02_base/image/gc1.png.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/godot_node.jpg-16331f3f19dfee3528c1c8a0616ee82e.stex" +path="res://.import/gc1.png-a39c555498c9b64c0ee3b8f21f2e4fb8.stex" metadata={ "vram_texture": false } [deps] -source_file="res://doc/demo03_lifecycle/godot_node.jpg" -dest_files=[ "res://.import/godot_node.jpg-16331f3f19dfee3528c1c8a0616ee82e.stex" ] +source_file="res://doc/demo02_base/image/gc1.png" +dest_files=[ "res://.import/gc1.png-a39c555498c9b64c0ee3b8f21f2e4fb8.stex" ] [params] diff --git a/doc/demo02_base/image/gc2.png b/doc/demo02_base/image/gc2.png new file mode 100644 index 0000000..ca29363 Binary files /dev/null and b/doc/demo02_base/image/gc2.png differ diff --git a/doc/demo02_base/image/gc2.png.import b/doc/demo02_base/image/gc2.png.import new file mode 100644 index 0000000..ed8d271 --- /dev/null +++ b/doc/demo02_base/image/gc2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/gc2.png-36e735a03a6ba26ca1d4686067190377.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo02_base/image/gc2.png" +dest_files=[ "res://.import/gc2.png-36e735a03a6ba26ca1d4686067190377.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo02_base/image/gc3.png b/doc/demo02_base/image/gc3.png new file mode 100644 index 0000000..decc8cc Binary files /dev/null and b/doc/demo02_base/image/gc3.png differ diff --git a/doc/demo02_base/image/gc3.png.import b/doc/demo02_base/image/gc3.png.import new file mode 100644 index 0000000..d5d9792 --- /dev/null +++ b/doc/demo02_base/image/gc3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/gc3.png-46d3674dae65e7eced317eef68f37b06.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo02_base/image/gc3.png" +dest_files=[ "res://.import/gc3.png-46d3674dae65e7eced317eef68f37b06.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo02_base/integer.JPG b/doc/demo02_base/image/integer.JPG similarity index 100% rename from doc/demo02_base/integer.JPG rename to doc/demo02_base/image/integer.JPG diff --git a/doc/demo02_base/integer.JPG.import b/doc/demo02_base/image/integer.JPG.import similarity index 70% rename from doc/demo02_base/integer.JPG.import rename to doc/demo02_base/image/integer.JPG.import index 19da2a2..b1de16e 100644 --- a/doc/demo02_base/integer.JPG.import +++ b/doc/demo02_base/image/integer.JPG.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/integer.JPG-43a607bfd4c2c4f83e738b20fb6c9816.stex" +path="res://.import/integer.JPG-d38f4d47a40d6571b935c32988bff48a.stex" metadata={ "vram_texture": false } [deps] -source_file="res://doc/demo02_base/integer.JPG" -dest_files=[ "res://.import/integer.JPG-43a607bfd4c2c4f83e738b20fb6c9816.stex" ] +source_file="res://doc/demo02_base/image/integer.JPG" +dest_files=[ "res://.import/integer.JPG-d38f4d47a40d6571b935c32988bff48a.stex" ] [params] diff --git a/doc/demo02_base/integer_overflow.JPG b/doc/demo02_base/image/integer_overflow.JPG similarity index 100% rename from doc/demo02_base/integer_overflow.JPG rename to doc/demo02_base/image/integer_overflow.JPG diff --git a/doc/demo02_base/image/integer_overflow.JPG.import b/doc/demo02_base/image/integer_overflow.JPG.import new file mode 100644 index 0000000..e24927d --- /dev/null +++ b/doc/demo02_base/image/integer_overflow.JPG.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/integer_overflow.JPG-88e55ff6d1e3a0fbf64a06739e111a58.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo02_base/image/integer_overflow.JPG" +dest_files=[ "res://.import/integer_overflow.JPG-88e55ff6d1e3a0fbf64a06739e111a58.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo02_base/step.JPG b/doc/demo02_base/image/step.JPG similarity index 100% rename from doc/demo02_base/step.JPG rename to doc/demo02_base/image/step.JPG diff --git a/doc/demo02_base/step.JPG.import b/doc/demo02_base/image/step.JPG.import similarity index 70% rename from doc/demo02_base/step.JPG.import rename to doc/demo02_base/image/step.JPG.import index 966474e..77bfa3a 100644 --- a/doc/demo02_base/step.JPG.import +++ b/doc/demo02_base/image/step.JPG.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/step.JPG-ea371ce51ca536d0350e70aed54f8432.stex" +path="res://.import/step.JPG-3330779acd60e454bafa0c046c73413a.stex" metadata={ "vram_texture": false } [deps] -source_file="res://doc/demo02_base/step.JPG" -dest_files=[ "res://.import/step.JPG-ea371ce51ca536d0350e70aed54f8432.stex" ] +source_file="res://doc/demo02_base/image/step.JPG" +dest_files=[ "res://.import/step.JPG-3330779acd60e454bafa0c046c73413a.stex" ] [params] diff --git a/doc/demo03_lifecycle/image/delta-1.png b/doc/demo03_lifecycle/image/delta-1.png new file mode 100644 index 0000000..5e27412 Binary files /dev/null and b/doc/demo03_lifecycle/image/delta-1.png differ diff --git a/doc/demo03_lifecycle/image/delta-1.png.import b/doc/demo03_lifecycle/image/delta-1.png.import new file mode 100644 index 0000000..68d44fc --- /dev/null +++ b/doc/demo03_lifecycle/image/delta-1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/delta-1.png-4590396c04276c6e10c1c3ad368b08e3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo03_lifecycle/image/delta-1.png" +dest_files=[ "res://.import/delta-1.png-4590396c04276c6e10c1c3ad368b08e3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo03_lifecycle/image/delta.png b/doc/demo03_lifecycle/image/delta.png new file mode 100644 index 0000000..df19f97 Binary files /dev/null and b/doc/demo03_lifecycle/image/delta.png differ diff --git a/doc/demo03_lifecycle/image/delta.png.import b/doc/demo03_lifecycle/image/delta.png.import new file mode 100644 index 0000000..38192b5 --- /dev/null +++ b/doc/demo03_lifecycle/image/delta.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/delta.png-6d33a172cc16b58040616e8ab29659c0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo03_lifecycle/image/delta.png" +dest_files=[ "res://.import/delta.png-6d33a172cc16b58040616e8ab29659c0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo03_lifecycle/godot_lifecycle.jpg b/doc/demo03_lifecycle/image/godot_lifecycle.jpg similarity index 100% rename from doc/demo03_lifecycle/godot_lifecycle.jpg rename to doc/demo03_lifecycle/image/godot_lifecycle.jpg diff --git a/doc/demo03_lifecycle/godot_lifecycle.jpg.import b/doc/demo03_lifecycle/image/godot_lifecycle.jpg.import similarity index 66% rename from doc/demo03_lifecycle/godot_lifecycle.jpg.import rename to doc/demo03_lifecycle/image/godot_lifecycle.jpg.import index 67fca03..689c161 100644 --- a/doc/demo03_lifecycle/godot_lifecycle.jpg.import +++ b/doc/demo03_lifecycle/image/godot_lifecycle.jpg.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/godot_lifecycle.jpg-b26541e87e5327f35f02175dab2eb781.stex" +path="res://.import/godot_lifecycle.jpg-037760a00ff142e71992244f6df72be8.stex" metadata={ "vram_texture": false } [deps] -source_file="res://doc/demo03_lifecycle/godot_lifecycle.jpg" -dest_files=[ "res://.import/godot_lifecycle.jpg-b26541e87e5327f35f02175dab2eb781.stex" ] +source_file="res://doc/demo03_lifecycle/image/godot_lifecycle.jpg" +dest_files=[ "res://.import/godot_lifecycle.jpg-037760a00ff142e71992244f6df72be8.stex" ] [params] diff --git a/doc/demo03_lifecycle/godot_node.jpg b/doc/demo03_lifecycle/image/godot_node.jpg similarity index 100% rename from doc/demo03_lifecycle/godot_node.jpg rename to doc/demo03_lifecycle/image/godot_node.jpg diff --git a/doc/demo03_lifecycle/image/godot_node.jpg.import b/doc/demo03_lifecycle/image/godot_node.jpg.import new file mode 100644 index 0000000..78dd1c3 --- /dev/null +++ b/doc/demo03_lifecycle/image/godot_node.jpg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/godot_node.jpg-b1ae50029be0ff59b37e5722166b013b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo03_lifecycle/image/godot_node.jpg" +dest_files=[ "res://.import/godot_node.jpg-b1ae50029be0ff59b37e5722166b013b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo03_lifecycle/godot_process.jpg b/doc/demo03_lifecycle/image/godot_process.jpg similarity index 100% rename from doc/demo03_lifecycle/godot_process.jpg rename to doc/demo03_lifecycle/image/godot_process.jpg diff --git a/doc/demo03_lifecycle/godot_process.jpg.import b/doc/demo03_lifecycle/image/godot_process.jpg.import similarity index 67% rename from doc/demo03_lifecycle/godot_process.jpg.import rename to doc/demo03_lifecycle/image/godot_process.jpg.import index 2dea079..7f487e4 100644 --- a/doc/demo03_lifecycle/godot_process.jpg.import +++ b/doc/demo03_lifecycle/image/godot_process.jpg.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/godot_process.jpg-0257d8dc365734710f5f2b2802378ee8.stex" +path="res://.import/godot_process.jpg-2dfceb541e0df0a164b3b272e84ee08a.stex" metadata={ "vram_texture": false } [deps] -source_file="res://doc/demo03_lifecycle/godot_process.jpg" -dest_files=[ "res://.import/godot_process.jpg-0257d8dc365734710f5f2b2802378ee8.stex" ] +source_file="res://doc/demo03_lifecycle/image/godot_process.jpg" +dest_files=[ "res://.import/godot_process.jpg-2dfceb541e0df0a164b3b272e84ee08a.stex" ] [params] diff --git a/doc/demo03_lifecycle/image/physics-1.png b/doc/demo03_lifecycle/image/physics-1.png new file mode 100644 index 0000000..5d3a62f Binary files /dev/null and b/doc/demo03_lifecycle/image/physics-1.png differ diff --git a/doc/demo03_lifecycle/image/physics-1.png.import b/doc/demo03_lifecycle/image/physics-1.png.import new file mode 100644 index 0000000..e9bb5ef --- /dev/null +++ b/doc/demo03_lifecycle/image/physics-1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/physics-1.png-ef2e451962ac74f3691ab95a9cac88aa.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo03_lifecycle/image/physics-1.png" +dest_files=[ "res://.import/physics-1.png-ef2e451962ac74f3691ab95a9cac88aa.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo03_lifecycle/image/physics.png b/doc/demo03_lifecycle/image/physics.png new file mode 100644 index 0000000..5416f5c Binary files /dev/null and b/doc/demo03_lifecycle/image/physics.png differ diff --git a/doc/demo03_lifecycle/image/physics.png.import b/doc/demo03_lifecycle/image/physics.png.import new file mode 100644 index 0000000..d0cde67 --- /dev/null +++ b/doc/demo03_lifecycle/image/physics.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/physics.png-9f49b72ca846193cb574ebd2739c5037.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo03_lifecycle/image/physics.png" +dest_files=[ "res://.import/physics.png-9f49b72ca846193cb574ebd2739c5037.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo03_lifecycle/image/process-1.png b/doc/demo03_lifecycle/image/process-1.png new file mode 100644 index 0000000..ff76df3 Binary files /dev/null and b/doc/demo03_lifecycle/image/process-1.png differ diff --git a/doc/demo03_lifecycle/image/process-1.png.import b/doc/demo03_lifecycle/image/process-1.png.import new file mode 100644 index 0000000..24b0d90 --- /dev/null +++ b/doc/demo03_lifecycle/image/process-1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/process-1.png-02e8fff5bdf8b34a093c5dac67d08419.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo03_lifecycle/image/process-1.png" +dest_files=[ "res://.import/process-1.png-02e8fff5bdf8b34a093c5dac67d08419.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo03_lifecycle/image/process.png b/doc/demo03_lifecycle/image/process.png new file mode 100644 index 0000000..5ce2730 Binary files /dev/null and b/doc/demo03_lifecycle/image/process.png differ diff --git a/doc/demo03_lifecycle/image/process.png.import b/doc/demo03_lifecycle/image/process.png.import new file mode 100644 index 0000000..deb639d --- /dev/null +++ b/doc/demo03_lifecycle/image/process.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/process.png-05cef36425ae9b8cc0b114b51584db1c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo03_lifecycle/image/process.png" +dest_files=[ "res://.import/process.png-05cef36425ae9b8cc0b114b51584db1c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo03_lifecycle/image/场景帧.png b/doc/demo03_lifecycle/image/场景帧.png new file mode 100644 index 0000000..6041dfe Binary files /dev/null and b/doc/demo03_lifecycle/image/场景帧.png differ diff --git a/doc/demo03_lifecycle/image/场景帧.png.import b/doc/demo03_lifecycle/image/场景帧.png.import new file mode 100644 index 0000000..d57213a --- /dev/null +++ b/doc/demo03_lifecycle/image/场景帧.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/场景帧.png-d58f7565689f65bb808fb434138afafb.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo03_lifecycle/image/场景帧.png" +dest_files=[ "res://.import/场景帧.png-d58f7565689f65bb808fb434138afafb.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo03_lifecycle/image/场景循环.png b/doc/demo03_lifecycle/image/场景循环.png new file mode 100644 index 0000000..b089c2c Binary files /dev/null and b/doc/demo03_lifecycle/image/场景循环.png differ diff --git a/doc/demo03_lifecycle/image/场景循环.png.import b/doc/demo03_lifecycle/image/场景循环.png.import new file mode 100644 index 0000000..968cde9 --- /dev/null +++ b/doc/demo03_lifecycle/image/场景循环.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/场景循环.png-f6713b039d478efc4a04732969cd2801.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo03_lifecycle/image/场景循环.png" +dest_files=[ "res://.import/场景循环.png-f6713b039d478efc4a04732969cd2801.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo03_lifecycle/lifecycle.md b/doc/demo03_lifecycle/lifecycle.md index c73ece4..627c902 100644 --- a/doc/demo03_lifecycle/lifecycle.md +++ b/doc/demo03_lifecycle/lifecycle.md @@ -1,3 +1,13 @@ -![Image text](./godot_process.jpg) -![Image text](./godot_node.jpg) -![Image text](./godot_lifecycle.jpg) +![Image text](image/场景循环.png) +![Image text](image/场景帧.png) +![Image text](image/delta.png) +![Image text](image/delta-1.png) +![Image text](image/godot_process.jpg) +![Image text](image/godot_node.jpg) +![Image text](image/godot_lifecycle.jpg) + + +![Image text](image/process.png) +![Image text](image/process-1.png) +![Image text](image/physics.png) +![Image text](image/physics-1.png) diff --git a/doc/demo05_scene_node/image/component1.png b/doc/demo05_scene_node/image/component1.png new file mode 100644 index 0000000..892739d Binary files /dev/null and b/doc/demo05_scene_node/image/component1.png differ diff --git a/doc/demo05_scene_node/image/component1.png.import b/doc/demo05_scene_node/image/component1.png.import new file mode 100644 index 0000000..be8994c --- /dev/null +++ b/doc/demo05_scene_node/image/component1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/component1.png-bfffd673f61ca5b7b9409dbd5abb1acc.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo05_scene_node/image/component1.png" +dest_files=[ "res://.import/component1.png-bfffd673f61ca5b7b9409dbd5abb1acc.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo05_scene_node/image/component2.png b/doc/demo05_scene_node/image/component2.png new file mode 100644 index 0000000..6fc1207 Binary files /dev/null and b/doc/demo05_scene_node/image/component2.png differ diff --git a/doc/demo05_scene_node/image/component2.png.import b/doc/demo05_scene_node/image/component2.png.import new file mode 100644 index 0000000..976fae3 --- /dev/null +++ b/doc/demo05_scene_node/image/component2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/component2.png-02438ddc3566bd64199cba25f509171f.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo05_scene_node/image/component2.png" +dest_files=[ "res://.import/component2.png-02438ddc3566bd64199cba25f509171f.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo05_scene_node/image/component3.png b/doc/demo05_scene_node/image/component3.png new file mode 100644 index 0000000..562bcfa Binary files /dev/null and b/doc/demo05_scene_node/image/component3.png differ diff --git a/doc/demo05_scene_node/image/component3.png.import b/doc/demo05_scene_node/image/component3.png.import new file mode 100644 index 0000000..aeeb5ed --- /dev/null +++ b/doc/demo05_scene_node/image/component3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/component3.png-e2e3aef9bbb5a8e0d59937c323e75c96.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo05_scene_node/image/component3.png" +dest_files=[ "res://.import/component3.png-e2e3aef9bbb5a8e0d59937c323e75c96.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo05_scene_node/image/component4.png b/doc/demo05_scene_node/image/component4.png new file mode 100644 index 0000000..ed7e8fe Binary files /dev/null and b/doc/demo05_scene_node/image/component4.png differ diff --git a/doc/demo05_scene_node/image/component4.png.import b/doc/demo05_scene_node/image/component4.png.import new file mode 100644 index 0000000..0f47d94 --- /dev/null +++ b/doc/demo05_scene_node/image/component4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/component4.png-bcbe335fca7b1a1e0ff653b967054cf0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo05_scene_node/image/component4.png" +dest_files=[ "res://.import/component4.png-bcbe335fca7b1a1e0ff653b967054cf0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo05_scene_node/image/component5.png b/doc/demo05_scene_node/image/component5.png new file mode 100644 index 0000000..6bd2443 Binary files /dev/null and b/doc/demo05_scene_node/image/component5.png differ diff --git a/doc/demo05_scene_node/image/component5.png.import b/doc/demo05_scene_node/image/component5.png.import new file mode 100644 index 0000000..7bc9917 --- /dev/null +++ b/doc/demo05_scene_node/image/component5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/component5.png-e232bac21600f8aad9b90d6e61d0869d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo05_scene_node/image/component5.png" +dest_files=[ "res://.import/component5.png-e232bac21600f8aad9b90d6e61d0869d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo05_scene_node/image/场景.png b/doc/demo05_scene_node/image/场景.png new file mode 100644 index 0000000..290c059 Binary files /dev/null and b/doc/demo05_scene_node/image/场景.png differ diff --git a/doc/demo05_scene_node/image/场景.png.import b/doc/demo05_scene_node/image/场景.png.import new file mode 100644 index 0000000..e5afd9c --- /dev/null +++ b/doc/demo05_scene_node/image/场景.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/场景.png-7f14201406e86b2c1d0ba5c1fb89a726.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo05_scene_node/image/场景.png" +dest_files=[ "res://.import/场景.png-7f14201406e86b2c1d0ba5c1fb89a726.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo05_scene_node/image/坐标系-godot-1.png b/doc/demo05_scene_node/image/坐标系-godot-1.png new file mode 100644 index 0000000..b57f92f Binary files /dev/null and b/doc/demo05_scene_node/image/坐标系-godot-1.png differ diff --git a/doc/demo05_scene_node/image/坐标系-godot-1.png.import b/doc/demo05_scene_node/image/坐标系-godot-1.png.import new file mode 100644 index 0000000..d145cd8 --- /dev/null +++ b/doc/demo05_scene_node/image/坐标系-godot-1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/坐标系-godot-1.png-b9dfb88e50a51646aec5b1bca8dd901b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo05_scene_node/image/坐标系-godot-1.png" +dest_files=[ "res://.import/坐标系-godot-1.png-b9dfb88e50a51646aec5b1bca8dd901b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo05_scene_node/image/坐标系-godot-4个象限.png b/doc/demo05_scene_node/image/坐标系-godot-4个象限.png new file mode 100644 index 0000000..479398c Binary files /dev/null and b/doc/demo05_scene_node/image/坐标系-godot-4个象限.png differ diff --git a/doc/demo05_scene_node/image/坐标系-godot-4个象限.png.import b/doc/demo05_scene_node/image/坐标系-godot-4个象限.png.import new file mode 100644 index 0000000..df66613 --- /dev/null +++ b/doc/demo05_scene_node/image/坐标系-godot-4个象限.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/坐标系-godot-4个象限.png-47092e2d3ef1fb607296ce2a91696203.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo05_scene_node/image/坐标系-godot-4个象限.png" +dest_files=[ "res://.import/坐标系-godot-4个象限.png-47092e2d3ef1fb607296ce2a91696203.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo05_scene_node/image/坐标系-ps.JPG b/doc/demo05_scene_node/image/坐标系-ps.JPG new file mode 100644 index 0000000..035ed63 Binary files /dev/null and b/doc/demo05_scene_node/image/坐标系-ps.JPG differ diff --git a/doc/demo02_base/integer_overflow.JPG.import b/doc/demo05_scene_node/image/坐标系-ps.JPG.import similarity index 67% rename from doc/demo02_base/integer_overflow.JPG.import rename to doc/demo05_scene_node/image/坐标系-ps.JPG.import index 940e120..c306eef 100644 --- a/doc/demo02_base/integer_overflow.JPG.import +++ b/doc/demo05_scene_node/image/坐标系-ps.JPG.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/integer_overflow.JPG-08e89d4444868183c3be1155d3451030.stex" +path="res://.import/坐标系-ps.JPG-e90c99294ebd56598afae2b5db793ff2.stex" metadata={ "vram_texture": false } [deps] -source_file="res://doc/demo02_base/integer_overflow.JPG" -dest_files=[ "res://.import/integer_overflow.JPG-08e89d4444868183c3be1155d3451030.stex" ] +source_file="res://doc/demo05_scene_node/image/坐标系-ps.JPG" +dest_files=[ "res://.import/坐标系-ps.JPG-e90c99294ebd56598afae2b5db793ff2.stex" ] [params] diff --git a/doc/demo05_scene_node/image/坐标系.png b/doc/demo05_scene_node/image/坐标系.png new file mode 100644 index 0000000..05eb214 Binary files /dev/null and b/doc/demo05_scene_node/image/坐标系.png differ diff --git a/doc/demo05_scene_node/image/坐标系.png.import b/doc/demo05_scene_node/image/坐标系.png.import new file mode 100644 index 0000000..1ebb5aa --- /dev/null +++ b/doc/demo05_scene_node/image/坐标系.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/坐标系.png-8f9d049adb143c879b7a19c22253ff65.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo05_scene_node/image/坐标系.png" +dest_files=[ "res://.import/坐标系.png-8f9d049adb143c879b7a19c22253ff65.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo05_scene_node/image/节点.png b/doc/demo05_scene_node/image/节点.png new file mode 100644 index 0000000..8402a7e Binary files /dev/null and b/doc/demo05_scene_node/image/节点.png differ diff --git a/doc/demo05_scene_node/image/节点.png.import b/doc/demo05_scene_node/image/节点.png.import new file mode 100644 index 0000000..2a9d124 --- /dev/null +++ b/doc/demo05_scene_node/image/节点.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/节点.png-caccd57bbbfafdce9e2636439f7a3f30.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo05_scene_node/image/节点.png" +dest_files=[ "res://.import/节点.png-caccd57bbbfafdce9e2636439f7a3f30.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo05_scene_node/image/节点渲染顺序.png b/doc/demo05_scene_node/image/节点渲染顺序.png new file mode 100644 index 0000000..e3cd7c2 Binary files /dev/null and b/doc/demo05_scene_node/image/节点渲染顺序.png differ diff --git a/doc/demo05_scene_node/image/节点渲染顺序.png.import b/doc/demo05_scene_node/image/节点渲染顺序.png.import new file mode 100644 index 0000000..9a4c45e --- /dev/null +++ b/doc/demo05_scene_node/image/节点渲染顺序.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/节点渲染顺序.png-399ad5898925e3419def2ff658ef0991.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo05_scene_node/image/节点渲染顺序.png" +dest_files=[ "res://.import/节点渲染顺序.png-399ad5898925e3419def2ff658ef0991.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo05_scene_node/scene_node.md b/doc/demo05_scene_node/scene_node.md new file mode 100644 index 0000000..3e5b4af --- /dev/null +++ b/doc/demo05_scene_node/scene_node.md @@ -0,0 +1,34 @@ +# 坐标系 + +![Image text](image/坐标系.png) +![Image text](image/坐标系-godot-1.png) +![Image text](image/坐标系-godot-4个象限.png) +![Image text](image/坐标系-ps.JPG) + +``` +因为刚开始的时候有点疑惑,godot的坐标系,原点既然在左上角。unity,cocos的2d原点都在左下角,左下角的2d坐标系感觉很复合习惯。 +unity的坐标系就很符合数学里面的象限,刚开始有点不适应。 + +后来了解到,计算机屏幕是从左上角开始刷新的,2d坐标系左上角为原点可以屏幕坐标系吻合可以提升一点效率。 + +unity的2d坐标系虽然在左下角,但是unity的屏幕坐标系依然在左上角,不统一。 +虽然godot的2d坐标系在左上角的坐标系刚开始看不舒服,但是和屏幕坐标系吻合了,也算一种统一,就不需要untiy2d的那么多概念了,为godot点赞。 + +因为单论平面内容制作,左上原点更符合视觉习惯,也更符合设计常识,比如ps。 +``` + +# 场景和节点 + +![Image text](image/场景.png ) +![Image text](image/节点.png) +![Image text](image/节点渲染顺序.png) +- 一个游戏可以包含多个场景,但是一个场景中必须有一个根节点,一个根节点可以包含多个不重名的子节点(unity的子节点可以同名),不同名更加符合习惯,为godot点赞。 + + +# 基本组件 + +![Image text](./image/component1.png) +![Image text](./image/component2.png) +![Image text](./image/component3.png) +![Image text](./image/component4.png) +![Image text](./image/component5.png) diff --git a/scene/demo05_scene_node/SceneNode.tscn b/scene/demo05_scene_node/SceneNode.tscn new file mode 100644 index 0000000..674eab3 --- /dev/null +++ b/scene/demo05_scene_node/SceneNode.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://script/demo06_scene_node/hero.gd" type="Script" id=1] +[ext_resource path="res://icon.png" type="Texture" id=2] + +[node name="Node2D" type="Node2D"] + +[node name="Hero" type="Sprite" parent="."] +position = Vector2( 477.791, 270.893 ) +texture = ExtResource( 2 ) +script = ExtResource( 1 ) diff --git a/scene/demo_test/DemoTest.tscn b/scene/demo_test/DemoTest.tscn index f882b8a..c5fedd6 100644 --- a/scene/demo_test/DemoTest.tscn +++ b/scene/demo_test/DemoTest.tscn @@ -1,6 +1,11 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=3 format=2] [ext_resource path="res://script/demo_test/demoTest.gd" type="Script" id=1] +[ext_resource path="res://icon.png" type="Texture" id=2] [node name="Node2D" type="Node2D"] script = ExtResource( 1 ) + +[node name="icon" type="Sprite" parent="."] +position = Vector2( 410.547, 444.333 ) +texture = ExtResource( 2 ) diff --git a/script/demo02_base/base.gd b/script/demo02_base/base.gd index b174f89..6af820a 100644 --- a/script/demo02_base/base.gd +++ b/script/demo02_base/base.gd @@ -37,7 +37,7 @@ func _ready(): myClass.innerClassTest() print("垃圾回收--------------------------------") - # 如果一个类没有指明继承哪个类,则默认继承Reference(可以被自动的垃圾回收,类似其他语言的那种垃圾回收) + # 如果一个类没有指明继承哪个类,则默认继承Reference(可以被自动的垃圾回收,类似其他语言的那种垃圾回收),非常重要的知识点 for i in range(10000): var instance = MyClass.new() arr.append(instance) diff --git a/script/demo06_scene_node/hero.gd b/script/demo06_scene_node/hero.gd new file mode 100644 index 0000000..f1e40ae --- /dev/null +++ b/script/demo06_scene_node/hero.gd @@ -0,0 +1,36 @@ +extends Sprite + + +var gameWidth: int +var gameHeight: int +var spriteWidth: int +var spriteHeight: int + +func _physics_process(delta): + setupSprite() + setupGameWindow() + positionTopCenter() + +func setupSprite(): + spriteWidth = texture.get_width() + spriteHeight = texture.get_height() + +func setupGameWindow(): + gameWidth = OS.window_size.x + gameHeight = OS.window_size.y + +func positionTopCenter() -> void: + self.position.x = gameWidth / 2 + self.position.y = spriteHeight / 2 + +func positionCenter() -> void: + self.position.x = gameWidth / 2 + self.position.y = gameHeight / 2 + +func positionBottomCenter() -> void: + self.position.x = gameWidth / 2 + self.position.y = gameHeight - spriteHeight / 2 + +func positionLeftCenter() -> void: + self.position.x = spriteWidth / 2 + self.position.y = gameHeight / 2 diff --git a/util/RandomUtils.gd b/util/RandomUtils.gd index 612a828..05ba0ee 100644 --- a/util/RandomUtils.gd +++ b/util/RandomUtils.gd @@ -38,3 +38,6 @@ static func randomIntRange(from: int, to: int) -> int: return 0 return getRandom().randi_range(from, to - 1) + +static func randomEle(array: Array): + return array[randomIntLimit(array.size())]