forked from LeenkxTeam/Leenkx_Examples
update
This commit is contained in:
54
ui_canvas/Sources/lnx/CanvasTrait.hx
Normal file
54
ui_canvas/Sources/lnx/CanvasTrait.hx
Normal file
@ -0,0 +1,54 @@
|
||||
package lnx;
|
||||
|
||||
import iron.Scene;
|
||||
import iron.App;
|
||||
import iron.system.Time;
|
||||
import leenkx.system.Event;
|
||||
import leenkx.trait.internal.CanvasScript;
|
||||
|
||||
class CanvasTrait extends iron.Trait {
|
||||
|
||||
var canvas:CanvasScript;
|
||||
var clicks = 0;
|
||||
|
||||
public function new() {
|
||||
super();
|
||||
|
||||
notifyOnInit(function() {
|
||||
// Get canvas attached to scene
|
||||
canvas = Scene.active.getTrait(CanvasScript);
|
||||
|
||||
// Notify on button click
|
||||
Event.add("buttonEvent", onEvent);
|
||||
Event.add("toggleMenu", onToggleMenu);
|
||||
|
||||
canvas.notifyOnReady(function() {
|
||||
notifyOnUpdate(update);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function onEvent() {
|
||||
// Set butotn text
|
||||
canvas.getElement("MyButton").text = Std.string(++clicks);
|
||||
}
|
||||
|
||||
function onToggleMenu() {
|
||||
var shape = canvas.getElement("Shape");
|
||||
shape.visible = !shape.visible;
|
||||
}
|
||||
|
||||
function update() {
|
||||
// Canvas may be still being loaded
|
||||
if (!canvas.ready) return;
|
||||
|
||||
// Set text
|
||||
canvas.getElement("MyText").text = "Hello world";
|
||||
|
||||
// Move image
|
||||
var img = canvas.getElement("MyImage");
|
||||
var center = App.w() / 2 - img.width / 2;
|
||||
img.x = center + Math.sin(Time.time()) * 100;
|
||||
img.rotation = canvas.getHandle("Check").selected ? Math.PI / 4 : 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user