http://code.google.com/p/lua-alchemy
Демо лежит здесь.
Lua Alchemy — это порт языка Lua во Flash при помощи Adobe Alchemy (компилятора C/C++ во флешовый байт-код).
Главная фича — обеспечение тесного взаимодействия между Lua и ActionScript.
Маленький пример (код на Lua):
local alertClass = as3.class("mx.controls::Alert")
local vbox = as3.new("mx.containers::VBox")
local label = as3.new("mx.controls::Label")
local input = as3.new("mx.controls::TextInput")
local button = as3.new("mx.controls::Button")
as3.set(label, "text", "Name:")
as3.set(button, "label", "Say Hello");
as3.call(button, "addEventListener", "click",
function (e)
as3.call(alertClass, "show", "Hello " .. as3.get(input, "text"), as3.type(e))
end, false, 0, true)
as3.call(vbox, "addChild", label)
as3.call(vbox, "addChild", input)
as3.call(vbox, "addChild", button)
as3.call(canvas, "addChild", vbox)
В ближайших планах реализация синтаксического сахара:
Код остальных примеров можно посмотреть здесь.
local alertClass = as3.class("mx.controls::Alert")
local vbox = as3.new("mx.containers::VBox")
local label = as3.new("mx.controls::Label")
local input = as3.new("mx.controls::TextInput")
local button = as3.new("mx.controls::Button")
label.text = "Name:"
button.label = "Say Hello"
button:addEventListener("click",
function (e)
alertClass:show("Hello " .. input.text, as3.type(e))
end, false, 0, true)
vbox:addChild(label)
vbox:addChild(input)
vbox:addChild(button)
canvas:addChild(vbox)