import { Color } from @core:color; import { Log } from @sdk:log; import { Input } from @sdk:input; 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 const MAX_FRAMES: int = 4; [Init] fn init() -> void { loading_handle= -1; loading_status = -1; frame_counter = 0; tile_id = 0; } [Frame] fn frame() -> void { Gfx.clear(new Color(6577)); if (loading_handle == -1) { let t = Assets.load(assets.ui.atlas2, 3); if (t.status != 0) { Log.error("load failed"); } else { loading_handle = t.loading_handle; Log.info("state: loading"); } } else { let s = Assets.status(loading_handle); if (s == 2) { let commit_status = Assets.commit(loading_handle); if (commit_status != 0) { Log.error("commit failed"); } } else if (s == 3) { let sprite_status = Gfx.set_sprite(3, 10, 150, 150, 0, 0, true, false, false, 1); if (sprite_status != 0) { Log.error("set_sprite failed"); } } else { Log.info("state: waiting"); } } let touch = Input.touch(); 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; } } } Gfx.set_sprite(0, 0, touch.x() - 16, touch.y() + 8, tile_id, 0, true, true, false, 0); Gfx.set_sprite(0, 1, touch.x() + 16, touch.y() + 8, tile_id, 0, true, false, false, 0); let a = 10; let b = 15; let total = a + b; if (Input.pad().a().pressed()) { total += 25; } else if (Input.pad().b().pressed()) { total += 5; } else if (Input.pad().x().pressed()) { total -= 10; } if (total == 30) { Log.info("30 is the magic number!"); } else if (total == 50) { Log.error("50 is the magic number!"); } else if (total == 15) { Log.warn("The magic number is neither 30 nor 50!"); } }