Crates.io | firecore-tetra |
lib.rs | firecore-tetra |
version | 0.0.1 |
source | src |
created_at | 2021-10-24 03:15:00.694414 |
updated_at | 2021-10-24 03:15:00.694414 |
description | A fork of a simple 2D game framework written in Rust |
homepage | |
repository | https://github.com/fiirecore/tetra |
max_upload_size | |
id | 470194 |
size | 1,920,351 |
Tetra is a simple 2D game framework written in Rust. It uses SDL2 for event handling and OpenGL 3.2+ for rendering.
To add Tetra to your project, add the following line to your Cargo.toml
file:
tetra = "0.6"
You will also need to install the SDL2 native libraries - full details are provided in the documentation.
To get a simple window displayed on screen, the following code can be used:
use firecore_tetra::graphics::{self, Color};
use firecore_tetra::{Context, ContextBuilder, State};
struct GameState;
impl State for GameState {
fn draw(&mut self, ctx: &mut DefaultContext) -> firecore_tetra::Result {
// Cornflower blue, as is tradition
graphics::clear(ctx, Color::rgb(0.392, 0.584, 0.929));
Ok(())
}
}
fn main() -> firecore_tetra::Result {
ContextBuilder::new("Hello, world!", 1280, 720)
.build()?
.run(|_| Ok(GameState))
}
You can see this example in action by running cargo run --example hello_world
.
The full list of examples is available here.
Tetra is fairly early in development, so you might run into bugs/flaky docs/general weirdness. Please feel free to open an issue/PR if you find something! You can also contact me via Twitter or the Rust Game Development Discord.