Hola a todos, tengo una duda en LuaDEV, haber si me la podíais solucionar
Haber he hecho un modulo llamado cursor.lua
cursor = { img = image.load("cursor.png"), x = 10, y = 10, procesa = function (mouse) if controls.analogx() > 40 then mouse.x = mouse.x + 3; end if controls.analogx() < 40 then mouse.x = mouse.x - 3; end if controls.analogy() > 40 then mouse.y = mouse.y + 3; end if controls.analogy() < 40 then mouse.y = mouse.y - 3; end end, blit = function (mouse) mouse:procesa(); mouse.img:blit(mouse.x,mouse.y); end }
Hasta aquí ningun problema. Pero en el script.lua he puesto esto:
dofile("cursor.lua"); while true do controls.read(); escritorio:blit(); cursor:blit(); screen.flip(); if cursor(123,241,358,183) and controls.press("cross") then os.exit() end end
¿Cuál es el error?
PS: ¿Cómo se pondrían las coordenadas en esta imagen (del botón salir)?
¿Así? (77,77,405,200)
Sígueme en Twitter: @Aitor_db
Primer error: en tu script
Primer error: en tu script llamas a cursor y le pasas argumentos, como si fuera una función, pero lo definiste como tabla (ojo con usar codes que no sabes cómo funcionan)
Segundo error: la función procesa que tienes dentro de la tabla cursor, no te va funcionar correctamente (cuando dejes quieto el analógico se moverá solo el cursor, te lo aseguro)
Te recomiendo leer todos los comentarios de este hilo, te será de mucha ayuda.
EDITO: se me olvidó mencionarlo, cuando preguntes por favor incluye el mensaje de error de LuaDEV, para saber el fallo y la línea en que se produce ;)
Esque la condicion está mal,
Esque la condicion está mal, leete los tutos ed chimecho para que ubiques mas o menos que onda, por lo que veo vienes de C, te será facil.
Salu2.
By Aitor
OK, gracias por el consejo.
PS: Si, vengo de C xD
Si vienes de C no te
Si vienes de C no te recomiendo que te pases a LUA no vallas hacia atras, como decimos aca en mexico "puro pa adelante compa".
By 6381
La diferencia es que en LuaDEV estan las cosas mas facilitadas, y si tengo dudas hay muchos usuarios a los que preguntar.
PS: Me he leido las funciones de Chimecho y no veo el fallo.
Sígueme en Twitter: @Aitor_db
Ok mira un ejemplo de cursor
Ok mira un ejemplo de cursor solo con el pad digital tu agregale el analogo.
Ejemplo Lua.
Ejemplo en C.
Espero sigas en C saludos.
By Aitor
Bueno intentaré quedarme en C que me gusta más xD
PS: Si te haces mi "tutor en C" me quedo en C sin duda alguna xD.
La verdad me encantaria mucho
La verdad me encantaria mucho pero tengo TeamMex y con la nueva recontruccion de grupo tengo mucho que hacer tanto en HB como en apoyar al grupo pero si tienes dudas postea y cuando tenga tiempo te ayudo saludos y suerte Aitor.
By Aitor
OK, Gracias sting, por cierto si necesitas ayuda en algo del team avisa ;)
Ok Aitor gracias lo tendre en
Ok Aitor gracias lo tendre en cuenta saludos.
By Aitor
¿Qué? Sinceramente, considero que tu comentario no tiene sentido, pues es obvio que tiene un error y no contribuyes a su solución, resumiendo SPAM.
Sígueme en Twitter: @Aitor_db
Aclaro
Al decir Error me referia a mi, cometi un error al comentar y escribi error para que los mod lo borracen como lo hicieron. No te ofendas.
By Aitor
Tranqui no me ofendo, pense que eras de los que postean por scenebitos
By Aitor
Ya, pero yo lo que quiero saber es para lo de el cursor, no para imprimir imagen.
Respuesta a lo segundo
image.blit(x posición x de la imagen, y posicion y de la imagen)
No hay mucho que explicar...
Salu2
By Aitor
Entonces sería ¿posición en la que empieza la imagen en x y posicion en la que termina? e igual con y ¿no?
image.blit(x -> posicion x en
image.blit(x -> posicion x en la que vas a imprimir la imagen, y -> posicion y en la que vas a imprimir la imagen)
Por ejemplo:
miImagen:blit(0, 0) -> Si la imagen mide 480x272px se verá la pantalla completa.
o...
miImagen:blit(240, 0) -> Si la imagen mide 480x272px se verá la izquierda de la pantalla negro y la derecha la imagen partida.
Salu2