Skip to main content

scenes/
scenes.rs

1use sge::prelude::*;
2use sge_rendering::d2::Scene2D;
3
4#[main("Scenes")]
5fn main() -> anyhow::Result<()> {
6    let scene = arrows();
7    let mut controller = PanningCameraController::new();
8
9    loop {
10        draw_fps();
11        controller.update();
12
13        scene.draw_world();
14
15        if should_quit() {
16            break;
17        }
18
19        next_frame().await;
20    }
21
22    Ok(())
23}
24
25fn arrows() -> Scene2D {
26    let mut scene = Scene2D::empty();
27    let renderer = scene.renderer();
28
29    let thickness = 5.0;
30    draw_circle_to(vec2(-50.0, -60.0), 10.0, Color::RED_400, renderer);
31    draw_circle_to(vec2(50.0, -60.0), 10.0, Color::RED_400, renderer);
32    draw_zig_zag_ex_to(
33        vec2(-50.0, -60.0),
34        vec2(50.0, -60.0),
35        thickness,
36        Color::WHITE,
37        5.0,
38        10,
39        renderer,
40    );
41    draw_arrow_to(
42        vec2(-50.0, -30.0),
43        vec2(50.0, -30.0),
44        thickness,
45        Color::WHITE,
46        renderer,
47    );
48    draw_solid_arrow_to(
49        vec2(-50.0, 0.0),
50        vec2(50.0, 0.0),
51        thickness,
52        Color::WHITE,
53        renderer,
54    );
55    draw_sharp_arrow_to(
56        vec2(-50.0, 30.0),
57        vec2(50.0, 30.0),
58        thickness,
59        Color::WHITE,
60        renderer,
61    );
62
63    draw_right_angled_arrow_to(
64        vec2(50.0, 50.0),
65        vec2(150.0, 300.0),
66        thickness,
67        Color::WHITE,
68        renderer,
69    );
70
71    scene
72}