這是紅寶石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