124 lines
2.9 KiB
Plaintext
124 lines
2.9 KiB
Plaintext
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!");
|
|
}
|
|
}
|