Godot中文教程Word文档下载推荐.docx

上传人:b****1 文档编号:14241840 上传时间:2022-10-20 格式:DOCX 页数:13 大小:26.17KB
下载 相关 举报
Godot中文教程Word文档下载推荐.docx_第1页
第1页 / 共13页
Godot中文教程Word文档下载推荐.docx_第2页
第2页 / 共13页
Godot中文教程Word文档下载推荐.docx_第3页
第3页 / 共13页
Godot中文教程Word文档下载推荐.docx_第4页
第4页 / 共13页
Godot中文教程Word文档下载推荐.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Godot中文教程Word文档下载推荐.docx

《Godot中文教程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Godot中文教程Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。

Godot中文教程Word文档下载推荐.docx

让我们开始学习基础知识.节点是创建游戏的基本元素,它有以下几个特点:

*要定义一个名字*有可编辑的属性*逐帧运行以接收callback调用*可以被继承(拥有更多的函数)*可以作为其他节点的子节点

最后一点很重要.节点可以拥有其他节点作为子节点.当我们按这种方式组织节点,节点便成了"

tree"

.

在Godot中,按这种方式管理节点的方式成就了一个伟大的管理项目的工具.因为不同的节点有不同的函数,组合他们会创建更复杂的节函数.这些可能你还不太清楚,没什么太深的理解.但是所有这些将来都会有所说明.现在最重要的是要记住,节点的存在,而且可以按上述的方式组织节点.

场景

既然已经定义了节点的存在,下一步便是说明什么是场景.场景由一组节点构成,这些节点被分级管理(以树的形式).它有以下的特征:

 

一个场景通常只有一个root节点*场景可以被保存到磁盘并加载加来*场景可以被instanced*(后面会详细说明)*运行一个游戏也就是运行了一个场景*一个项目中可以有几个场景,但是要开始游戏,一定要先加载其中一个.基本上,Godot编辑器就是一个"

场景编辑器"

.它有许多工具用来编辑2D和3D场景以及用户界面,但所有的编辑器都是都是围绕编辑场景和节点展开的.

创建新项目

理论是枯燥的.让我们改变主题,实践一下.跟随一个传统的教程,第一个工程将是"

helloworld"

.为此,将使用编辑器.当Godot在项目外运行时,工程管理器将会出现.它帮助开发者管理他们的项目.

要创建一个新项目.要使用"

newProject"

选项.选择并创建项目路径和定义项目名称.

编辑器

新项目创建后,下一步就是打开它.这将打开Godot编辑器.下图是我们新打开时编辑器的样子.

如前文所述,在Godot中制作游戏,就像置身于厨房.所以,让我们打开冰箱并填加一些新节点到场景中去.我们将以"

HelloWorld"

项目开始.按下"

新节点"

按扭:

这将打开节点创建对话框,它显示了所能创建的节点的长度列表:

这里,我们选择"

Label"

搜索节点通常更快捷一些.

最后,创建Label!

.当创建按扭被按下时,发生了很多事:

首先,场景变为2D编辑器(因为Label是2D节点类型),Label显示,被选中,在viewport的左上角.节点出现在场景树编辑器中(在右上角),label属性出现在Inspector面板中(在右下角).下一步,我们将改变label的"

Text"

属性,将其值改为"

HelloWorld"

:

OK,所有的事都准备好了,可以运行场景了!

点击顶部的"

PLAYSCENE"

按扭(或者按F6):

哎呀

运行前场景要先保存,选择Scene->

Save,保存场景为"

helllo.scn"

一类的名字

这里有一些有趣的事情.文件对话框比较特别,它允许保存场景到工程内部.工程的根目录是"

"

它就是资源路径.也就是说,文件只能保存到项目内部.将来,当在Godot中做文件操作时,记住"

是资源路径,不管是什么平台或安装路径,这是从游戏内部定位资源的方法.在保存了场景并按下run之后,"

HelloWorld!

最终正常运行了:

成功了!

!

配置项目

好了,是时候对项目做一些配置了.现在,运行场景是唯一执行程序的方法.项目通常都有向个场景,所以要将它们中的一个设置为主场景.主场景将在项目运行时被第一个加载.这些设置都被存储在engine.cfg文件中,这是一个纯文本的win.ini格式的文件,以便可以方便的编辑.还有很多选项可以设置以声明项目如何运行,为了让设置变得简单,可以通过项目设置对话框设置engine.cfg.

要访问此对话框,可通过Scene->

ProjectSettings打开.窗口打开后,任务是设置一个主场景.我们可以很容易的改变application/main_scene的属性,选择"

hello.scn"

为主场景

修改后,点击"

regularPlay"

按扭(或F5)会运行项目,无论当前是哪个场景被编辑.

返回项目设置对话框.这个对话框提供了很多可以填加到engine.cfg的选项,这里显示了它们的默认值.如果默认值是正确的,我们不需要云改变它们.当值改变时,名字左侧的选择框会变为选中状态.这意味着这个值会被保存到engine.cfg文件中,会被项目记住所做的更改.这里是边注,为将来提供参考,有一些断章取义(毕竟,这只是第一篇教程).通过使用Globalssingleton可以填加自定义的设置选项,并且可以实时读取.

实例化

27提交

基本原理

有一个小型的场景,有些节点在场景中,可能有很多小的项目都可以正常工作,但当项目成长时,越来越多的节点被使用,它很快就会变得难以管理.为了解决这个问题,Godot允许项目被划分为不同的场景.这和其他的一些游戏引擎的工作方式不一样.事实上,差别很大.所以请不要跳过这篇教程.

重申一下:

场景是节点的集合,按照trew的结构组织,只能有一个单独的节点做为这个树的根结点.

在Godot中,场景可以创建并保存到磁盘上.任意场景都可以创建和并按你希望的形式保存.

之后,当编辑一个存在的场景或新场景时,其他场景可以被初始化为此场景的一部分.

上图中,场景B被加载并初始化为场景A中的一个实例,开始可能会觉得奇怪,但当看完这篇教程时会完全了解是什么回事.

初始化,StepbyStep

要学习如何初始化,让我们从下载一个pre-madesouene.解压下载的场景到任意我们喜欢的路径下.然后,使用import选项加载到项目管理器

定位到你的项目,打开"

engine.cfg"

文件.新的项目会出现在项目列表中.要管理这个项目,可以点击"

Edit"

选项.这个项目包含两个场景"

ball.scn"

和"

container.scn"

.ball场景只是一个带有物体属性的球,container场景有一个很好的碰撞形状.球会被限制指定的区域中.

打开container场景,选择根节点:

之后,点击"

+"

按扭,这就是初始化按扭!

选择ball场景(ball.scn),球会出现在origin(0,0)位置,围绕场景中心移动ball,如下:

点击"

Play"

按扭,瞧!

初始化的小球都落到底部的陷阱中

多一些

场景中可以有任意多个初始化实例,试下创建更多的球,或者复制(ctrl-D或复制按扭):

再一次运行场景:

是不是很酷?

这就是实例如何工作的.

编辑实例

选中实例化的小球中的一个,打开属性编辑器.我们让它的弹力再大些,查看bounce参数,将其值设置为1.0:

接下来,会出现一个绿色的"

revert"

按扭,当这个按扭出现时,意味着我们编辑一个实例场景的属性,将重写这个实例为特别的值.甚至属性在原场景中编辑过.自定义的值将会重写它们.按下"

按扭将恢复场景中原来的值.

结论

实例化看起来很简单,实际上它还有很多功能,下一节实例化教程将会说明剩下的部分...

实例化(继续)

在星期三,10/14/2015-16:

06提交

概括

实例化有很多方便的用法.一目了然,使用实例,你可以:

*细分场景,使之易于管理.*更加灵活的方法替代prefabs(可以工作在更多层级的功能更加强大的实例化).*设计更加复杂的游戏流程甚至是UIs的方法(UI元素在Godot中也是节点).

设计语言

但是,实例化场景真正强大的点在于它像一门优秀的设计语言一样工作.这使得Godot完全不同于其他的游戏引擎.整个引擎从底层都是围绕这一概念设计的.用Godot制作游戏时,建议的方式是将其他的设计模式如MVC或Entity-Relationshipdiagrams放到一边.以更加自然的方式开始制作游戏.开始设想游戏中的可视化元素,那些不光可以被程序员命名,也可以被任何人命名的游戏元素.

如,这里是一个简单的射击类游戏的创意思路:

任何类型的游戏都可以十分简单的想像出这样的图表.只要写下想法中的元素,然后用箭头标注所有权关系.这个图表存在后,制作游戏基本就成了为这些节点创建场景,使用实例化(通过代码,之后会介绍,或者通过编辑器)表示所有权关系

编写游戏的大部分时间(或者一般的软件)都花在设计游戏模式并让游戏组件适应这一模式上.基于场景的设计取代了这些,使得开发更快更直接,允许直接关注游戏本身.基于场景/实例化的设计节省了大部分上述的工作,使工作变得十分有效率,因为大部分组件被直接映射成一个场景.这样,不再需要或只需很少的模式代码.

下面是一个复杂点的例子,一个开放沙盒类型的游戏,其中有很多资源或部分是交互的:

用家具搭建一些屋子,之后连接它们.制作一间房子,用这些房间作为这间房子的内部.这间房子可能是堡垒的一部分,堡垒有许多房子组成.最后,堡垒可以被放置到世界地图上.也要填加一些守卫和一些NPCsg到先前创建的场景中.使用Godot,可以快速的按你所想实现游戏,因为只是多个场景的制作和初始化.编辑器UI也设计成无需程序员操作的模式,所以,通常一个游戏开发小组包括3D或2D艺术家,关卡设计师,游戏设计师,动画师等等,都是通过编辑器界面工作.

脚本

08提交

讲了许多关于不编辑就可以让用户制作游戏的工具.这是许多独立开发者的梦想,不学编程就可以制作游戏.这一需求已经存在了很长时间了,甚至是在公司内部,游戏设计者也希望更多的控制游戏的流程.

许多产品被制作出来承诺无编辑环境,但是往往结果都是不完美的,太复杂或跟传统的代码比没有效率.结果,编辑在这里停滞了很长一段时间.事实上,游戏引擎中通常的做法是增加一些工具以减少为特殊任务重新编码的数量,加快开发的速度.

在这个意义下,Godot为了这个目标做了一些有用的决定策略.首先也是最重要的场景系统.开始,它的目的还不是很明确,但是后来工作的很好.那就是让程序员从架构设计的代码中解放出来.

当使用场景系统设计游戏时,整个项目是碎片化的补充场景(不是各自独立的).各场景间相互补充,而不是各自独立.之后将会有大量的例子,但是要记住这非常重要.

为此有大量的专业编辑知识,这意味着一个不同于MVC的设计模式.Gosot允许放弃MVC模式的一些效率损失,取而代之的是场景填充(scenesasacomplement)设计模式

Godot脚本也使用extend模式,也就是说脚本可以继承自有可能的引擎类.

GDScript

GDScript 

(clicklinkforreference)是动态类型脚本语言,以适应Godot引擎,设计它主要有以下几个目标:

*第一个,也是最重要的,让它变得简单,熟悉,尽可能的易学.*使代码易读,让错误更安全.语法大部分是借鉴Python.

程序员通常要花几天去学习它,不超过两周就会适应它.像其他动态类型语言一样,高产出(代码易学,可快速编写,没有编译等等)是以平衡效率为代价的,但是引擎中大部分核心代码是用C++编写的(Vectorops,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 中职中专

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1