0x01. 使用 SDL2 建立一個窗口

以前已經把代碼上傳到 git 託管平臺, 如今開始編碼工做吧.git

從入口開始

直接在 main 函數寫東西, 寫好再組織一下代碼. 寫代碼以前, 先建立個分支, 儘可能不要在主分支上改東西.canvas

git checkout -b create-a-windowide

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. 主函數進去以後, 經過 sdl2init 函數獲得初始化獲得一個 Result<Sdl, String>, 一般狀況下, 直接 unwrap 拿到 Sdl 實例就能夠了, 也能夠使用 expect 傳入一個錯誤狀況的提示字符串切片, 這是咱們後面要使用 sdl 的開端. 後面的都很好理解, 經過 Sdl 實例的 video 函數來初始化 video subsystem, 再用這個實例來調用 window 函數建立窗口構建器, 配置窗口居中, 配置 OpenGL 支持, 最後構建出一個窗口. 其實這段代碼就是一個 hello world 性質的東西.ui


這一節應該是很簡單的, 就是翻文檔性質的工做.編碼

相關文章
相關標籤/搜索