GODOT游戏编程003---- Instancing

网址:http://docs.godotengine.org/en/3.0/getting_started/step_by_step/instancing.html

位置:Docs » Step by step » Instancing

Instancing 引用?
创建一个简单的场景增加一些节点可以做些小项目,但随着项目变大变复杂,节点的数目很快就无法管理。GODOT允许一个项目分割成很多场景,这样就可以组织你游戏的不同部分了。
之前说到一个场景可以有不同的节点组成节点树,你也可以创建足够多的场景并保存。
一个场景之间可以被另一个场景引用。
场景被引用
下面是一个例子。
下载提供的资源包并解压:http://docs.godotengine.org/en/3.0/_downloads/instancing.zip
用GODOT打开,导入刚刚解压的文件。目录为/instancing/instancing
打开后是这样的:
滚轮上下可以缩放
在右边的场景是主场景,也就是这个线条组成的碗。
点击加号旁边的链接按钮,添加一个球的场景。ball.tscn
链接按钮
这里写图片描述
球会出现在(0,0)坐标位置。可以再次链接,就会多一个球,也可以选中球后按CTRL+D复制一个球,复制的球在同样位置,鼠标拖动一下就能看到另一个了。
把球拖到碗口上方,点击运行,看看效果。
运行看看
运行时发现一下鼠标会多一个球,哈,估计是里面设置的。
点一下多一个球
回到godot,修改一下球的弹跳力,在右下角ball属性面板,Bounce修改成1,看看效果。
修改Bounce为1
运行,可以看到球跳的高了。每个球都得单独设置。
可以看到在Bounce后面多了一个圆圈箭头,是恢复默认设置。
恢复默认设置


小结一下:场景可以有多个,通过链接按钮链接其他场景,可以用ctrl+d复制。场景参数可调整。

继续,Instancing (continued)

http://docs.godotengine.org/en/3.0/getting_started/step_by_step/instancing_continued.html

Instancing很有用,简单来说你可以:
The ability to subdivide scenes and make them easier to manage.可以细分场景易于编辑
A more flexible alternative to prefabs (and much more powerful given that instances can be nested).更灵活地嵌套
A way to organize and embed complex game flows or even UIs (in Godot, UI Elements are nodes, too).复杂游戏管理和嵌入的一种方式。
但是,引用场景的最大作用是它是一种非常棒的设计语言。这也是GODOT区分其他游戏引擎的显著特点,godot就是在这个概念的基础上壮大的。(我想,可以说:一切皆是节点(场景),皆可引用)
用GODOT做游戏,我们建议要多想想你的场景,从图形化的元素开始想,任何一个人都容易想到。写下你可以想到的你游戏里的元素,用箭头编注彼此之间的关系。
例
一旦你画出了上面的表格,接下来的建议是为每一个元素创建场景,你可以用引用(编程或直接链接)建立联系。
Godot可以让我们更直接更快地制作游戏,让你更加关注游戏的逻辑。因为一切皆场景,编程会更少。
再举个列子。
例,很多元素的游戏
如上图,我们可以先从小场景入手,一个个做好,链接上大场景,并把它放到大地图上。然后再设计几个npc的场景,把他们放进去。最后,复制一下。
像这样,你可以很容易重复添加元素。

———小结———
-一切皆场景。链接成网。
不由让我想到了一句话:所见即所得。

不要急,慢慢来。To be continued…

猜你喜欢

转载自blog.csdn.net/weixin_42944682/article/details/81813226