我是一位经验丰富的 javascript 程序员,我正在尝试从头开始编写自己的模块化游戏引擎。我以前没有使用过requirejs,但是在阅读了一些内容之后,听起来它可能是管理引擎所有组件并将它们加载到一个连贯结构中的最佳方式。
我的主要问题是我不确定如何真正使用requirejs。我一直在查看他们的 API 文档,但我不确定如何将它与我的项目布局方式集成。
目前,我的项目使用以下结构:
- 源代码
- engine.js //这包含通用引擎的东西,最显着的引擎命名空间
- 资源
- resource-module.js //这是模块构造函数,它处理不同子结构之间的所有常见东西
- sprites.js //这是一个包含精灵加载代码的子结构
- 使成为
- ETC...
- 第三者
- jQuery
- 需要js
我希望能够彼此独立地加载模块。例如,应该可以从引擎中移除音频模块,它仍然可以工作。替换模块或添加新模块也应该很容易。
另外,我使用 jQuery 进行事件处理,因此需要在引擎启动之前加载它。
你可以在这里找到我当前的来源:https ://github.com/superlinkx/lithium-engine
我知道当前的代码很混乱,而且还没有构建很多,但我主要还是在弄清楚如何最好地构建它。任何帮助/建议将不胜感激,但我主要关心的是如何使用 requirejs 构建它,以便更容易编译成单个文件以供生产使用。