这是红宝石2D宝石。查看Ruby 2D网站,以了解如何开始在Ruby构建2D应用程序。
要在当地的宝石上工作,请首先使用以下方式克隆此存储库。
git clone --recursive https://github.com/ruby2d/ruby2d.git为了保持此源代码存储库的大小小,GIT子模块用于参考资产。 --recursive标志可确保在克隆此存储库时初始化和更新子模型。如果您碰巧无需--recursive标志即可克隆此仓库,则仍然可以使用以下方式初始化和更新子模型
git submodule init
git submodule update --remote随时使用git submodule update --remote或rake update任务更新这些子模型。
接下来,通过运行bundle install以获取开发宝石来安装依赖项。
最后,运行rake以在本地构建和安装宝石。使用rake dev构建引用用户安装的库(例如SDL)。
Ruby 2D使用RSPEC和手动交互式测试的自动测试组合,以验证视觉,音频和输入功能的正确性。构建宝石并使用rake命令运行所有自动测试。使用耙子测试在test/目录中构建并运行交互式测试rake test:<target> <name_of_test> ,例如:
# Run `test/testcard.rb` using the standard Ruby interpreter, MRI (CRuby)
rake test:cruby testcard # `test:mri` or just `test` work also
# Build `test/audio.rb` using mruby and run
rake test:mruby audio
# Build `test/mouse.rb` for the web using WebAssembly and run in the default browser
rake test:wasm mouseRuby 2D是一个完全由敬业的人构建的完全开源项目(包括其依赖性),他们认为创建2D应用程序应该在红宝石语言本身的精神上是简单,自然和快乐的。
如果您想参与其中,有多种方法可以这样做:
建议并实施新功能。 ? Ruby 2d已经做了很多事情,但是它可以做很多新事情。如果您有一个功能请求,或有关如何改善特定域语言的建议,或其他要添加,删除或更改的内容,请打开新问题并告诉我们有关此问题。如果您只想在没有打开问题的压力的情况下随意谈论一个想法,请将笔记发送到邮件列表中,或在Gitter上与我们聊天。
添加支持更多平台的支持。 Ruby 2D的目标是完全交叉平台。帮助我们测试并改善现有平台上的开发人员体验,并添加新的平台。
查找并解决问题。 ?您的帮助识别和修复错误,并在此过程中提高性能对于确保其他人使用库具有良好的经验至关重要。查看问题跟踪器并有!
写和审查文档。对于每个开源项目的成功至关重要的是文档。我们要去一个不错的开始,但是总是还有更多的写作和编辑。浏览Ruby 2D网站,并帮助我们确定区域以增加清晰度或填补空白。在大多数页面的顶部,您会看到指向“建议编辑”的链接,该链接直接转移到网站回购中的源文件。
创建和改进示例。 ?目前,我们对示例应用程序有所了解,以帮助人们开始。我们很乐意为您的小型单文件应用程序提供您的想法,以指导用户了解示例存储库中我们收集的特定功能或技术。查看展示柜,看看人们在建造什么并获得一些灵感。
为了实现这种简单性,必须在引擎盖下发生很多事情。无论是添加功能还是修复错误,请尝试执行以下操作以确保您的拉请请求合并。其中一些似乎令人生畏,但我们很乐意在此过程中提供帮助!
检查是否存在现有问题,如果没有,请打开一个新的问题以开始讨论。在将时间和精力投入到一个想法或解决方案之前,请确保它与项目的原理和目标一致,并且我们有一个可靠的策略来实施和测试。
使用无处不在的红宝石子集。 Ruby 2D应用程序当然是用Ruby编写的。一些用户可以选择通过编写针对标准实现的解释应用程序MRI来利用GEMS的语言,标准库和生态系统的全部功能。其他人可能希望通过WebAssembly,移动设备或构建本机桌面应用程序来定位Web,所有这些应用程序都使用了其他称为Mruby的Ruby实现。 Ruby 2D旨在支持所有这些用例,即使使用相同的App Codebase。您的贡献必须支持与MRI/Crouby和Mruby相似的红宝石子集。除了阅读每个Ruby实施的文档外,您还可以使用各自的repls在命令行上尝试代码片段:MRI的irb和mirb for Mruby。
全面测试您的更改。与其他Ruby库不同,这里的所有内容都可以轻松覆盖单位测试。我们还需要确保情况看起来正确,输入按预期工作,并且在所有平台Ruby 2D支持中行为一致。
rake update以更新子模型version.rb ,提交更改v#.#.#中使用标签,并写下一些发行说明rake release以构建宝石,然后将其推到rubygems.org,并用gem push ruby2d-#.#.#.gem