我最开始学 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
如今已经完成了项目初始的工做, 以后先把窗口显示出来.