Script

脚本编辑器

GameCreator内置用于编写代码的脚本编辑器

在可视化编辑器中使用脚本编辑器

启动或关闭脚本编辑器

使用F11打开或关闭脚本编辑器,或点击上方脚本按钮。

alt text

单机版预设的项目和库

该脚本编辑器中默认包含了一个Game的程序项目以及它引用了一个GameCreatorLib的客户端GC游戏引擎库。

默认游戏启动时则是启动这个Game程序项目。

alt text

网络版预设的项目和库

网络版默认提供了客户端使用的Game程序项目,GameCreatorLib客户端GC游戏引擎库,

以及提供了服务端使用的Server服务端程序项目和GameCreatorServerLib服务端GC游戏引擎库,

同时提供了一个Common库,可以将客户端和服务端中用到的一些公共算法或者逻辑之类的写在一个地方。

alt text

使用纯代码编辑器

如果希望作为普通的IDE使用(一种代码的集成开发环境,如VSCode、WebStorm),

可以创建【Empty-纯代码编辑器】,创建后就是只有脚本编辑器,没有任何可视化编辑器和任何库。

alt text

alt text

新建程序项目

使用游戏模板的项目由于已经预先创建好项目提供出来了,所以基本上无需再新建项目(除非自己有需求附加第三方库之类的,如JS的物理引擎库)。

点击+号可以开始新建一个项目。

alt text

选择一个程序新建。

alt text

alt text

写入一段代码后,使用F9运行,即可看到控制台输出的信息。

alt text

项目类型说明
支持库可被任意程序项目附加的一种项目,附加后运行时相当于代码合并
服务端程序提供了网络通信服务器、多线程、数据库等功能的项目,一般用于网络游戏的服务端程序
同样使用TypeScript/JavaScript编写代码即可,可附加支持库
本地应用PC端应用程序,可使用一些如文件读写等本地化操作
GameCreator可视化编辑器的开发就是使用的该类型的项目
默认追加了一个Native库
WEB应用WEB端应用程序,仅能够使用WEB环境下的功能,也方便跨平台
不支持如写入文件之类的操作,但作为PC端应用使用时是允许的(权限同本地应用)
IDE插件用于扩展IDE的插件,安装后软件启动时即会运行

脚本编辑器布局说明

alt text

#1项目快捷方式|#10已打开的文件列表
#2项目和库列表|#11代码文件编辑
#3保存|#12控制台,显示输出的信息
#4搜索文件|#13二维码,同一个局域网下可以手机扫码访问
#5搜索代码|#14软件内全屏化
#6快速编译|#15最小化
#7完整编译|#16最大化
#8工具栏|#17关闭窗口
#9代码文件列表|#18启动的程序窗口,允许启动多个
常用快捷键说明
快速编译:F9只编译已修改的文件,在大多数场合下快速且正确
完整编译:F10编译全部文件,一般在外部拷贝过来代码文件或者SVN/GIT更新后使用该种方式编译
查找文件:CTRL+R通过文件名的关键词查找该文件
查找代码:CTRL+SHIFT+F可以根据参数进行查找:关键字、区分大小写、全字匹配、正则表达式
切换到上一个跳转前的代码:ATL+LEFT跳转到上次光标索引的位置上
切换到下一个跳转前的代码:ATL+RIGHT跳转到上次光标索引的位置上后跳回到下一个位置上
函数或变量名快速注释:CTRL+SHIFT+D在函数或者变量名前使用该快捷键即可快速注释,函数的参数必须要有类型
格式化代码:SHIFT+ALT+F让代码对齐
跳转到代码定义:CTRL+鼠标左键跳转到代码的定义部分,如果定义来自其他文件则会打开该文件,快捷键F3也可以起到相同的作用
跳转到指定的行:CTRL+G跳转到当前代码文件中的指定行
打开其他快捷键列表:F1更多快捷键可查看F1

项目属性

选中项目鼠标右键弹出菜单后选择属性。

alt text

#1依赖库设定,依赖库影响代码排列顺序。
同库中的顺序 JS在前面,TS在后面
(TS会根据继承关系自动排序)
#2项目介绍,鼠标悬停时显示
#3窗口设定

比如GC的可视化编辑器是一个自启动+全屏+最底层显示的应用程序

关于GameCreator游戏引擎库

GameCreator引擎库包含客户端引擎库(GameCreatorLib)和服务端引擎库(GameCreatorServerLib)。

单机游戏模板只包含了客户端引擎库,而网络游戏模板则包含了两个(服务器使用了服务端引擎库,客户端使用了客户端引擎库)。

客户端引擎库是封装了场景、场景对象、行走图、界面、动画等功能模块的库。

服务端引擎库是封装了网络通信(含RPC)、多线程场景管理、玩家、数据库等功能模块的库。

GC模板的可视化游戏编辑器和游戏客户端是基于GameCreator客户端引擎库开发的,服务端则基于服务端引擎库开发。

基本上每个游戏模板都会包含引擎库,而模板的项目层代码则不一样。

参考资料

  • 引擎初始化
  • 更多资料请查看API手册和相关代码示例以及实际的模板或插件代码。

Copyright © 2021 - 2025