import { Color } from @core:color; import { Log } from @sdk:log; import { Input } from @sdk:input; import { Composer } from @sdk:composer; import { Gfx } from @sdk:gfx; import { Assets } from @sdk:asset; declare global loading_handle: int = -1; declare global loading_status: int = -1; declare global frame_counter: int = 0; declare global tile_id: int = 0; declare global camera_x: int = 0; declare global camera_mult: int = 1; declare const MAX_FRAMES: int = 4; declare const CAMERA_SPEED: int = 1; declare struct Bla (a: int) {} [Init] fn init() -> void { loading_handle= -1; loading_status = -1; frame_counter = 0; tile_id = 0; camera_x = 0; camera_mult = 1; Composer.bind_scene(0); let bla: Bla = new Bla(1); } [Frame] fn frame() -> void { if (loading_handle == -1) { let t : (status: int, loading_handle: int) = Assets.load(assets.ui.atlas2, 3); if (t.status != 0) { Log.failure("load failed"); } else { loading_handle = t.loading_handle; Log.info("state: loading"); } } else { let s : int = Assets.status(loading_handle); if (s == 2) { let commit_status : int = Assets.commit(loading_handle); if (commit_status != 0) { Log.failure("commit failed"); } } else if (s == 3) { let sprite_status : int = Composer.emit_sprite(0, 0, 150, 150, 1, 3, false, false, 1); if (sprite_status != 0) { Log.failure("emit_sprite failed"); } } else { Log.info("state: waiting"); } } let touch : InputTouch = Input.touch(); let pad : InputPad = Input.pad(); if (touch.button().released()) { frame_counter = 0; tile_id = 0; } if (touch.button().down()) { frame_counter = frame_counter + 1; if (frame_counter > MAX_FRAMES) { frame_counter = 0; tile_id = tile_id + 1; if (tile_id > 7) { tile_id = 0; } } } camera_x = camera_x + (camera_mult * CAMERA_SPEED); if (camera_x >= 240 || camera_x <= 0) { camera_mult = -1 * camera_mult; } Log.info("camera_x:" + camera_x); Composer.set_camera(camera_x, 0); Composer.emit_sprite(tile_id, 0, touch.x() - 16, touch.y() + 8, 2, 0, true, false, 0); let a : int = 10; let b : int = 15; let total : int = a + b; if (pad.a().pressed()) { total += 25; } else if (pad.b().pressed()) { total += 5; } else if (pad.x().pressed()) { total -= 10; } if (total == 30) { Log.info("30 is the magic number!"); } else if (total == 50) { Log.failure("50 is the magic number!"); } else if (total == 15) { Log.warn("The magic number is neither 30 nor 50!"); } }