[Ginga-argentina] Interaccion con LUA y NCL
Nicolas Ignacio Roldan
niko_cbes at hotmail.com
Wed Apr 11 20:31:33 CEST 2012
Buenas Gente de Ginga!
Es una consulta con respecto a LUA y su tratamiento.
Mi objetivo es lograr que cuando presiono el boton "INFO" se muestre una <media > que se carga desde un archivo ".lua"( en donde mostraria infomacion de acuerdo a la tecla que se presione [roja,amarillo,etc]); luego si presiono el boton "MENU" vuelva a la pantalla anterior. y asi sucesivamente... la iteracion con el usuario seria que presione "INFO" y "MENU", asi a cada rato.
bueno.... la primera vez anda bien, presiono "INFO" y me aparece la informacion que carga desde "main.lua" y puedo presionar el "ROJO","AMARILLO","VERDE" y "AZUL" para que me muestre la informacion ... Pero si presiono "MENU" (para regresar) y luego de nuevo "INFO"... ya no me muestra ni me permite la interaccion con el "main.lua"
Tengo el siguiente codigo (Trabajo con 3 archivos : main.ncl/metodos.ncl/main.lua)
------------- el main.ncl ----------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<ncl id="main" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
<head>
<regionBase>
<region id="scriptLua" width="50%" height="80%" left="0%" top="0%" zIndex="3" />
<region id="idBotonInfo" right="2%" bottom="2%" width="50" height="50" zIndex="3" />
<region id="idBotonReturn" right="2%" bottom="2%" width="50" height="50" zIndex="3" />
</regionBase>
<descriptorBase>
<descriptor id="descLua" region="scriptLua" focusIndex="appFocus"/>
<descriptor id="descImagenInfo" region="idBotonInfo"/>
<descriptor id="descImagenReturn" region="idBotonReturn" />
</descriptorBase>
<connectorBase>
<importBase documentURI="metodos.ncl" alias="metodo"/>
</connectorBase>
</head>
<body>
<port id="pInfo" component="imgBotonInfo"/>
<media id="foco" type="application/x-ginga-settings">
<property name="service.currentKeyMaster" value="appFocus"/>
</media>
<media id="LuaPresentation" src="lua/main.lua" descriptor="descLua" />
<media id="imgBotonInfo" src="Imagen/info.png" descriptor="descImagenInfo"/>
<media id="imgBotonReturn" src="Imagen/menu.png" descriptor="descImagenReturn"/>
<link xconnector="metodo#onBeginEndMenu">
<bind role="onSelection" component="imgBotonInfo">
<bindParam name="oSetTecla" value="INFO"/>
</bind>
<bind role="abort" component="imgBotonInfo"/>
<bind role="start" component="LuaPresentation"/>
</link>
<link xconnector="metodo#onBeginEndMenu">
<bind role="onSelection" component="imgBotonReturn">
<bindParam name="oSetTecla" value="MENU"/>
</bind>
<bind role="start" component="imgBotonInfo"/>
<bind role="abort" component="LuaPresentation"/>
</link>
</body>
</ncl>
-------------------------------------------------------------------------------------------------
------------------ metodos.ncl--------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Generated by NCL Eclipse -->
<ncl id="metodos" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
<head>
<connectorBase>
<causalConnector id="onBeginStart">
<simpleCondition role="onBegin" />
<simpleAction role="start"/>
</causalConnector>
<causalConnector id="onEndStop">
<simpleCondition role="onEnd"/>
<simpleAction role="stop"/>
</causalConnector>
<causalConnector id="onBeginEndMenu">
<connectorParam name="oSetTecla"/>
<simpleCondition role="onSelection" key="$oSetTecla"/>
<compoundAction operator="seq">
<simpleAction role="start" qualifier="seq" max="unbounded"/>
<simpleAction role="abort" qualifier="seq" max="unbounded"/>
</compoundAction>
</causalConnector>
</connectorBase>
</head>
<body>
</body>
</ncl>
------------------------------------------------------------------------------------------------
------------------------- main.lua ----------------------------------
function handler(evt)
local titulo=''
local color=''
limpiar()
if evt.class=='key' and evt.type=='press' then
if evt.key == 'RED' or evt.key == 'F1' then
titulo='PILOTOS'
color='red'
leyendaTitulo(color,titulo)
elseif evt.key == 'BLUE' or evt.key=='F4' then
titulo='PISTA'
color='blue'
leyendaTitulo(color,titulo)
elseif evt.key == 'YELLOW' or evt.key=='F3' then
titulo='INFORMACION'
color='yellow'
leyendaTitulo(color,titulo)
elseif evt.key == 'GREEN' or evt.key=='F2' then
titulo='CLIMA'
color='green'
leyendaTitulo(color,titulo)
end
end
end
function leyendaTitulo(color,titulo)
canvas:attrColor(color)
canvas:attrFont('vera',30, 'bold')
canvas:drawText(10, 10, titulo)
canvas:flush()
end
function limpiar()
local leyendaTitulo=canvas:new('Imagen/FondoAzulDegradadoCentro.png')
canvas:compose(0,0,leyendaTitulo)
end
event.register(handler)
---------------------------------------------------------------------------------------
Espero que no sea una consulta engorrosa... estoy seguro que es algo que no estoy haciendo bien
Desde ya muchas Gracias!
saludos
nico
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.ourproject.org/pipermail/ginga-argentina/attachments/20120411/9d8b0d07/attachment-0001.htm
More information about the Ginga-argentina
mailing list