机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。
⚠️ 新仓库在这里: https://github.com/ct-js/ct-js
这是一个较旧的仓库,由于早期的疏忽或人为错误,git 历史中留下了大型二进制文件和其他垃圾。新仓库的体积至少小 5 倍,并且已清除这些错误。
⚠️ 您需要在新仓库中硬重置到所需的提交,或者在您这边重新克隆/重新分叉 git 仓库。
关于
ct.js 是什么?
Ct.js 是一个 2D 游戏引擎和 IDE,旨在在保持易于使用和学习的同时,变得强大和灵活。它通过提供详尽的文档、示例、各种游戏资源类型及其可视化编辑器来实现这一点——同时仍然支持修改,如果修改不够用,你总可以在项目中直接写普通的 JS 代码。
| Ct.js 特性 | ||||
|---|---|---|---|---|
| 🏗️ 关卡与界面编辑器 | 🎶 动态音效引擎 | ✨ 带可视化编辑器的粒子系统 | 🧑💻 多种脚本语言可选 | 🔔 基于事件的脚本 |
| 🖥️ 一键导出到桌面平台 | 🌐 一键导出到网页 | 📱 支持 PC 和移动游戏 | 🔥 快速运行,WebGL 渲染 | 💅 免费且无隐藏订阅或费用 |
| 🎞️ 帧动画 | 🗺️ 自动图集打包 | 🕹️ 支持摇杆 | ⌨️ 与布局无关的输入事件 | 🏁 支持瓦片地图 |
| ⚽ 物理模块 | 👾 街机碰撞模块 | 🗂️ 本地数据库支持复杂数据类型 | 🧠 游戏逻辑行为组合 | ✅ UI 元素基础类 |
| 🎨 应用品牌定制 | 🐻❄️ 白标定制 | ➕ 添加自定义 JS、CSS 或 HTML | ⚙️ 灵活的模块库 | 📚 可通过特殊模块(catmods)扩展 |
人们 使用 TypeScript、JavaScript、CoffeeScript 或 ct.js 的可视化脚本语言 Catnip 在 ct.js 中编程。编码围绕事件系统构建,共享代码通过行为实现,可以被多个对象模板或关卡组合使用(与继承不同)。
ct.js 和其游戏是如何制作的?
在技术上,ct.js 游戏是使用 WebGL 渲染的 JavaScript 应用程序。 虽然不是世界上最快的运行环境,但对于现代 2D 游戏完全足够,并支持快速迭代、一键网页导出,以及两次点击桌面构建!
在底层,ct.js 游戏基于自定义游戏框架并使用 pixi.js 作为渲染和音效引擎。
Ct.js 作为游戏编辑器也是一个基于 NW.js 框架的网页应用。UI 基于组件运行在 Riot.js v3,大部分关键功能由 TypeScript ESM 模块实现。
为什么?
Ct.js 被设计为跨平台、始终可访问的集成工具,不会像大多数其他 2D 游戏引擎那样因使用过时渲染器、功能有限或界面不便而受限。Ct.js 让你专注于游戏内容,而无需担心技术细节,如资源打包和加载、处理不同屏幕分辨率、桌面打包等。
Ct.js 有明确的立场,专为游戏开发设计。制作游戏无需掌握网页开发或召唤恶魔的技巧——所有工具和知识都已内置于 ct.js。
这一切都是免费的 — 免费使用、自由开放,并且也是对深陷企业贪婪的公司的讽刺。
在产品推荐网站上支持 ct.js:
生产构建
查看 发布页面 或 跳转到 itch.io 页面。提供 Windows、Mac 和 Linux 版本。
夜间构建
我们在 itch.io 上托管开发版本。这个页面会提供从我们仓库的 develop 分支构建的每晚版本。这意味着你每天都能得到最新的功能、改进、错误修复,以及新的 bug,新鲜出炉。请谨慎使用并玩得开心。强烈推荐使用 itch.io 应用。
寻求帮助
对于漏洞、功能请求和开发问题,请使用 GitHub issues 以便我们更好地跟踪它们。对于制作游戏的一般支持,请在我们的 Discord 服务器 上提问。
仓库结构与工具
app— 一个 NW.js 应用,包含其配置和静态文件。datact.libs— ct.js 自带的 catmods(模块)。欢迎提交包含你模块的拉取请求!i18n— 用户界面语言方案。欢迎提交拉取请求!:)
src— 一个在构建时编译到/app文件夹的源文件夹。ct.release— ct.js 游戏库,也就是它的“核心”js— 不同的顶级脚本,包括第三方库。node_requires— 共享的 JavaScript 和 TypeScript 模块,涵盖导出器的功能、资产管理、工具等。riotTags—— 在 ct.js 中驱动 UI 逻辑的组件。使用 Pug 和 Riot.js v3 编写。styl— 样式表,使用 Stylus 编写。
branding— 标志和图标属于这里。docs— ct.js 的官方文档。在 这里 编辑它们。SSCD.js— ct.place 的碰撞库的一个 分支。
发展ct.js
规划
相对较大的问题会发布在主开发板,以及那些需要社区帮助的问题。优先处理“当前版本”列,然后是“待办事项”,再然后是“积压任务”,尽管如果你真的想让积压任务中的某个功能现在就实现,没有人能阻止你 :)
请在您想要参与的工作问题上发表评论,以便我们可以将其分配给您,避免多个贡献者偶尔重复工作。
您可以在 ct.js 的 Discord 服务器 的 #engine-development 频道聊天和讨论 ct.js 开发。
Fork 并安装开发环境
构建 ct.js 需要在您的计算机上安装 Node 和 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.js
从源代码运行 ct.js
gulp
使用 gulp dev 而不是仅使用 gulp 来运行带有实时重载的开发服务,而无需以默认方式打开 ct.js。在任何情况下,你都可以按照终端的常规方式停止该服务,例如 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 Nightly。
- 一旦您的 PR 被批准并合并,它会进入
develop分支。 - 每次
develop的变更都会触发 CI 构建,并公开发布新的ct.js Nightly版本。- 要自动更新 ct.js Nightly,我们推荐使用官方 itch.io 应用。
- 偶尔,维护者会决定发布 ct.js 的公开版本 —— 这包括版本升级、创建和清理更新日志、更新截图、网站、媒体资料等。一些内容是自动化的,但仍然需要手动工作以及在不同渠道上的公开公告。但如果你的更改被合并到
develop``,这意味着它也会到达master` 分支。
发布 ct.js
这仅在紧急情况下使用,因为 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 命名指南。
我们在 我们的维基 上提供了一些关于 ct.js 内部结构的参考。
ct.js 应用程序在主菜单的 Meta 部分内置了 CSS 风格手册。
赞助人
Ct.js 得到了这些优秀人士的支持:
- 本文标题:ct-js-old - ⚠️ ct.js 应用的旧仓库
- 本文链接:https://www.cn121.com/webgame/ct-js-ct-js-old.html
- 原项目:ct-js/ct-js-old 版权归原作者 ct-js 及贡献者所有
- 收录信息:本站于 2026-10-18 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 ct-js/ct-js-old。
- 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。