Browse Source

Vertex input override experiments

Karl Zylinski 6 tháng trước cách đây
mục cha
commit
c60234587a
1 tập tin đã thay đổi với 7 bổ sung8 xóa
  1. 7 8
      examples/snake/snake.odin

+ 7 - 8
examples/snake/snake.odin

@@ -166,21 +166,18 @@ main :: proc() {
 		camera := k2.Camera {
 			zoom = f32(WINDOW_SIZE) / CANVAS_SIZE,
 		}
-
+		
+		k2.set_camera(camera)
+		food_sprite.width = CELL_SIZE
+		food_sprite.height = CELL_SIZE
+		k2.draw_texture(food_sprite, {f32(food_pos.x), f32(food_pos.y)}*CELL_SIZE)
 
 		time_since_food := time.duration_seconds(time.diff(food_eaten_at, time_now))
 
 		if time_since_food < 0.5 && total_time > 1 {
 			k2.set_vertex_input_override(shader, 3, k2.create_vertex_input_override(k2.Vec2{f32(math.cos(total_time*100)), f32(math.sin(total_time*120 + 3))}))
-		} else {
-			k2.set_vertex_input_override(shader, 3, {})
 		}
 
-		k2.set_camera(camera)
-		food_sprite.width = CELL_SIZE
-		food_sprite.height = CELL_SIZE
-		k2.draw_texture(food_sprite, {f32(food_pos.x), f32(food_pos.y)}*CELL_SIZE)
-
 		for i in 0..<snake_length {
 			part_sprite := body_sprite
 			dir: Vec2i
@@ -217,6 +214,8 @@ main :: proc() {
 			k2.draw_text("Press Enter to play again", {4, 30}, 15, k2.BLACK)
 		}
 
+		k2.set_vertex_input_override(shader, 3, {})
+
 		score := snake_length - 3
 		score_str := fmt.tprintf("Score: %v", score)
 		k2.draw_text(score_str, {4, CANVAS_SIZE - 14}, 10, k2.GRAY)