110 lines
2.6 KiB
Plaintext
110 lines
2.6 KiB
Plaintext
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 : (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 = Gfx.set_sprite(3, 10, 150, 150, 0, 0, true, false, false, 1);
|
|
if (sprite_status != 0) {
|
|
Log.failure("set_sprite failed");
|
|
}
|
|
} else {
|
|
Log.info("state: waiting");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
let touch : InputTouch = 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 : int = 10;
|
|
let b : int = 15;
|
|
let total : int = 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.failure("50 is the magic number!");
|
|
}
|
|
else if (total == 15)
|
|
{
|
|
Log.warn("The magic number is neither 30 nor 50!");
|
|
}
|
|
}
|