以前已經把代碼上傳到 git
託管平臺, 如今開始編碼工做吧.git
直接在 main
函數寫東西, 寫好再組織一下代碼. 寫代碼以前, 先建立個分支, 儘可能不要在主分支上改東西.canvas
git checkout -b create-a-window
ide
use self::time::Duration;
use sdl2::pixels::Color;
use std::{thread, time};
fn main() {
let sdl2_context = sdl2::init().unwrap();
let video = sdl2_context.video().unwrap();
let window = video
.window("Arcade Shooter", 800, 600)
.position_centered()
.opengl()
.build()
.unwrap();
let mut canvas = window.renderer().accelerated().build().unwrap();
canvas.set_draw_color(Color::RGB(0, 0, 0));
canvas.clear();
canvas.present();
thread::sleep(Duration::from_millis(10000));
}
複製代碼
如今是建立了一個窗口, 還讓窗口顯示了 10 秒.函數
由於如今用的 Rust
版本是 2018 edition, 若是是舊版本須要使用 extern crate sdl2
引入 sdl2 模塊, 新版真是提升開發體驗, 直接 use sdl2
就能使用 sdl2. 主函數進去以後, 經過 sdl2
的 init
函數獲得初始化獲得一個 Result<Sdl, String>
, 一般狀況下, 直接 unwrap
拿到 Sdl
實例就能夠了, 也能夠使用 expect
傳入一個錯誤狀況的提示字符串切片, 這是咱們後面要使用 sdl 的開端. 後面的都很好理解, 經過 Sdl
實例的 video
函數來初始化 video subsystem
, 再用這個實例來調用 window
函數建立窗口構建器, 配置窗口居中, 配置 OpenGL 支持, 最後構建出一個窗口. 其實這段代碼就是一個 hello world
性質的東西.ui
這一節應該是很簡單的, 就是翻文檔性質的工做.編碼