以前已经把代码上传到 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
这一节应该是很简单的, 就是翻文档性质的工做.编码