我最開始學 Rust 的時候, 看完 Rust Book 這類官方推薦教程以後, 就不曉得接下來該怎麼繼續了, 我以爲不少人跟我應該是一樣的感受. 後來我找到了個用 Rust 開發完整應用的教程. 可是很遺憾, 我如今在做者的博客上已經找不到那一系列教程了, 可是我當初只知其一;不知其二時期寫下的代碼還在, 我如今想從新還原那份教程.git
首先介紹一下這個項目, 這是一個用 rust-sdl2
同時運用上 Rust 大部分語法特性開發一個桌面應用.github
0x00. 使用 Rust 開發個完整的應用
0x01. 使用 SDL2 建立一個窗口
0x02. 處理窗口關閉
0x03. 使用宏定義事件
0x04. 視圖渲染
0x05. 視圖操做
0x06. 窗口上的矩形
0x07. 處理精靈
0x08. 添加遊戲背景
0x09. 遊戲菜單bash
在開始編碼以前, 先把一些東西都配好, 因此先把 SDL2 裝上, 在 macOS 上直接在終端執行命令來安裝 brew install sdl2
, 安裝高版本的 Rust
, 最好是 nightly
. 由於會用到 2018 edition 的東西, 還有一些 unstable
特性.網絡
rust 1.37.0-nightly (0e4a56b4b 2019-06-13)post
而後選擇一個目錄建立項目學習
cargo new rs-arcade
複製代碼
修改一下 Cargo.toml
文件, 添加一下 rust-sdl2
的依賴, 這裏使用 0.29
版本吧, 緣由是 0.30
之後的版本我還沒去學, 後面整個項目完成了, 再遷移到新版本也能夠做爲一個學習目標.編碼
[package]
name = "rs-arcade"
version = "0.1.0"
authors = ["LimitLiu <xxx@example.com>"]
edition = "2018"
[dependencies]
sdl2 = "0.29"
複製代碼
接下來, 直接在項目根目錄執行 cargo run
啓動同時安裝好依賴. 考慮到國內的網絡很是優秀, 因此建議配置一個國內的源. 官方的管理倉庫在 https://crates.io
, 咱們在 $HOME/.cargo
目錄下建立一個 config
文件, 加上這些內容spa
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
複製代碼
保存好以後, 再執行 cargo run
.code
等到執行成功, 咱們把代碼上傳到 git 託管平臺. 我使用國內的 Coding 平臺來託管, 理由仍是國內的優秀網絡. // 雖然如今變成疼訓的啦
https://git.dev.tencent.com/limitLiu/rs-arcade.git
cdn
如今已經完成了項目初始的工做, 以後先把窗口顯示出來.