test/snake/snake.c

changeset 200
cf0579d3bbc4
parent 195
f9e9b7425ed3
--- a/test/snake/snake.c	Sat Jul 12 22:28:30 2025 +0200
+++ b/test/snake/snake.c	Sat Jul 12 23:05:43 2025 +0200
@@ -118,7 +118,7 @@
     asc_ui_add_node(node);
 }
 
-static void create_spaceship(void) {
+static AscSceneNode *create_spaceship(void) {
     AscSceneNode *sprite = asc_sprite(
         .name = "Player",
         .texture = TEXTURE_SHIP,
@@ -128,8 +128,7 @@
         .height = 64
     );
     asc_scene_add_node(MAIN_SCENE, sprite);
-
-    // TODO: return something
+    return sprite;
 }
 
 static asc_rect update_viewport_for_window_resize(asc_vec2u window_size) {
@@ -194,7 +193,7 @@
     create_score_counter();
 
     // create spaceship
-    create_spaceship();
+    AscSceneNode *spaceship = create_spaceship();
 
     // Main Loop
     do {
@@ -207,6 +206,12 @@
             asc_context_quit();
         }
 
+        // player rotation
+        if (asc_key_pressed(ASC_KEY(LEFT))) {
+            asc_transform_roll_origin(spaceship->transform, asc_rad(-90), ASC_VEC3F(32, 32, 0));
+            asc_node_update_transform(spaceship);
+        }
+
         // debug-key for clearing the shader registry
         if (asc_key_pressed(ASC_KEY(S))) {
             asc_shader_clear_registry();

mercurial