这是一个较旧的存储库,由于早期的愚蠢或人为错误而留下了大量的二进制文件和其他垃圾。新的存储库的尺寸至少小5倍,并且从这些错误中清除。
CT.JS是2D游戏引擎和IDE,旨在具有强大和灵活性,同时仍然易于使用和学习。它通过提供广泛的文档,示例,各种各样的游戏资产类型及其视觉编辑器来做到这一点,同时又对改装开放,如果修改无济于事,您总是可以在项目中放置普通的JS代码。
| CT.JS功能 | ||||
|---|---|---|---|---|
| Level&UI编辑器 | ?动态声音引擎 | 带有视觉编辑器的粒子系统 | ?几种脚本语言可供选择 | ?基于事件的脚本 |
| 一键式桌面平台的导出 | 一单击的网络导出 | 准备PC和手机游戏 | 快速,在WebGL中运行 | ?没有隐藏订阅或费用的免费 |
| 逐帧动画 | ?️自动Atlas包装 | ?ch Joystic的支持 | ⌨️布局 - 不可思议的输入事件 | ? TILEMAP支持 |
| ⚽物理模块 | ?街机碰撞模块 | 复杂数据类型的本地数据库 | ?游戏玩法逻辑组成的行为 | ✅UI元素的基础课程 |
| ?应用品牌 | ?❄️白色标签 | ➕添加自定义JS,CSS或HTML | 灵活的模块化库 | 可扩展使用特殊模块(CATMODS) |
人们用打字稿,JavaScript,CoffeeScript或CT.JS的视觉脚本语言catnip中的CT.JS代码。编码是围绕事件系统构建的,共享代码被实现为可以由几个对象模板或级别(而不是继承)组合和使用的行为。
在技术层面上,CT.JS游戏是使用WebGL进行渲染的JavaScript应用程序。虽然不是世界上最快的运行时运行时,但这种设置对于现代2D游戏来说是完全可以的,并且可以快速迭代,一键式网络导出 - 以及两键式台式机构建!
在引擎盖下,CT.JS游戏基于自定义游戏框架和Pixi.js作为其渲染和声音引擎。
CT.JS作为游戏编辑器也是基于NW.JS框架的Web应用程序。 UI是基于组件的,并且在Riot.JS V3上运行,应用程序的大多数敏感部分都以打字稿ESM模块编写。
CT.JS被称为跨平台,总是可访问的集成工具,它不会像其他大多数使用过时的渲染器,有限的功能集并阻碍UIS的2D游戏引擎那样陷入时间。 CT.JS可让您专注于游戏的内容,而不必担心资产包装和加载,处理不同的屏幕分辨率,用于桌面的包装等技术细节。
CT.JS是自以为是且以GameDev为中心的。要制作游戏,您不需要知道网络开发或如何召唤恶魔 - 所有工具和知识都已在CT.J.中。
所有这些都是自由的- 就像在啤酒中一样,在自由中,以及对公司贪婪太深的责备。
请参阅发布页面或跳到iTch.io页面。可用于Windows,Mac和Linux。
我们在itch.io中托管开发型。此页面将在我们存储库的develop分支中构建的每晚版本。这意味着您将每天从烤箱中获得最新功能,改进,错误修复和新错误。谨慎使用并玩得开心。强烈建议使用itch.io应用程序。
对于错误,功能请求,开发问题,请使用GitHub问题,以便我们更好地跟踪它们。有关制作游戏的一般支持,请在我们的Discord服务器上提出一个问题。
app - NW.JS应用程序,其配置和静态文件。datact.libs - 带有CT.J.的Catmods(模块)随意使用模块创建拉动请求!i18n - UI语言方案。开放请求请求! :)src - 一个在构建时间编译为/app文件夹中的源文件夹。ct.release - CT.JS游戏库,又名其“核心”js - 不同的顶级脚本,包括第三方库。node_requires - 共享JavaScript和打字条模块,这些模块涵盖了出口商的功能,资产管理,实用程序等。riotTags - 在CT.J.中驱动UI逻辑的组件用哈巴狗和骚乱撰写。styl - 样式床单,用手写笔撰写。branding - 徽标和图标属于这里。docs - CT.J.的官方文档在这里编辑它们。SSCD.js - ct.place碰撞库的叉子。相对较大的问题将发布在主开发委员会中,以及需要社区帮助的问题。优先考虑“当前发行版”列,然后“待办事项”,然后“积压”,尽管如果您真的希望Backlog的功能在这里实现,现在,没有人可以阻止您:)
请就您要处理的问题发表评论,以便我们可以将您分配给他们,并避免偶尔的多个贡献者的双重工作。
您可以在#引擎开发频道中聊天并讨论CT.JS Discord Server中的CT.JS开发。
建筑物CT.JS需要机器上安装的节点和NPM。
git clone https://github.com/ct-js/ct-js.git ctjs
cd ./ctjs
npm install gulp-cli -g
npm install
gulp -f devSetup.gulpfile.jsgulp使用gulp dev而不仅仅是gulp可以在无需以默认方式打开CT.JS的情况下运行Dev服务。无论哪种情况,您都可以以通常的方式停止此服务的终端,例如Ctrl+C 。如果您遇到无法解释的问题,尤其是在切换到新分支时,请再次运行gulp -f devSetup.gulpfile.js 。
VSCODE可以使用此扩展程序使用附件的调试器运行CT.JS。在运行调试器之前,要实时重新加载,请运行gulp dev 。
覆盖范围检查代码格式问题,运行ESLINT,并检查I18N文件中的额外键。
gulp lint还有单独的命令仅用于运行特定的测试:
gulp lintJS
gulp lintTags
gulp lintStylus
gulp lintI18n这实际上很容易且坚固。我们有定期的CT.JS用于核心版本,每晚都有CT.JS作为金丝雀/预览构建。
develop分支。develop触发CI构建的每一个更改,CT.JS Nightly的新版本将公开发布。develop``, it means it will reach the Master`分支。这仅留给紧急情况,因为gitlab ci应该为github准备二进制文件并将其发送到iTch.io
# Builds docs and adds them to ct.js app
gulp docs
# Recompiles source files, bundles docs, and bakes binaries
gulp packages
# Publishes prebuilt binaries to itch.io
# This assumes that you have an access to ct.js at itch.io :)
gulp deployItchOnly
gulp deployItchOnly --channel next # deploy to a specific itch.io channel
# Creates a draft release on GitHub
# Needs a GITHUB_TOKEN in your environment variables.
# Does nothing on nightly releases
gulp sendGithubDraft
# Combines `gulp packages`, `gulp sendGithubDraft`, and `gulp deployItchOnly`
gulp deploy首次运行将很慢,因为它将下载NW.JS二进制文件。接下来的运行将使用缓存的文件。
使用gitmoji味的comigoji来命名您的提交。
使用Comigo的CSS命名指南进行造型
我们在Wiki上有一些CT.JS内部的参考。
CT.JS应用在主菜单的元部分中具有内置的CSS样式书。
CT.JS得到了这些出色的人的支持: