// This is a port of https://github.com/raysan5/raylib/blob/master/examples/core/core_2d_camera.c package raylib_example_2d_camera import k2 "../../.." import "core:math/rand" import "core:math" import "core:log" MAX_BUILDINGS :: 100 SCREEN_WIDTH :: 800 SCREEN_HEIGHT :: 450 main :: proc() { context.logger = log.create_console_logger() k2.init(SCREEN_WIDTH, SCREEN_HEIGHT, "Karl2D: 2d camera (raylib [core] example - 2d camera)") player := k2.Rect { 400, 280, 40, 40 } buildings: [MAX_BUILDINGS]k2.Rect building_colors: [MAX_BUILDINGS]k2.Color spacing: f32 for i in 0.. 40 { camera.rotation = 40 } else if camera.rotation < -40 { camera.rotation = -40 } camera.zoom = math.exp(math.log(camera.zoom, math.E) + f32(k2.get_mouse_wheel_delta() * 0.1)) if camera.zoom > 3 { camera.zoom = 3 } else if camera.zoom < 0.1 { camera.zoom = 0.1 } if k2.key_went_down(.R) { camera.zoom = 1 camera.rotation = 0 } k2.clear({ 245, 245, 245, 255 }) k2.set_camera(camera) k2.draw_rect({-6000, 320, 13000, 8000}, k2.DARKGRAY) for i in 0..