hay alguna funcion de luadev que te devuelva el numero de pixeles (ancho i alto) que ocupa un texto para que cree una imagen debajo para que parezca un boton
El alto se puede obtener experimentalmente, imprimiendo el texto en diferentes tamaños, tomando una captura y "midiendo" desde algún programa de edición.
Así, el alto inicia con 8 pixeles para un tamaño de 0.5, y aumenta 2 pixeles por cada aumento de tamaño (10 pix para 0.6, 12 para 0.7 y así sucesivamente).
rojo=color.new(255,0,0)
azul=color.new(0,0,255)
botones={}
botones[1]={x=10,y=10,w=0,h=15,color=rojo,txt="Hola mundo",colortxt=azul,size=1}--Puedes añadir todos los botenes que te la ganafunction botonear()for i=1,#botones do
draw.fillrect(botones[i].x,botones[i].y,10+screen.textwidth(botones[i].txt,botones[i].size),botones[i].h,botones[i].color)
screen.print(botones[i].x+5,botones[i].y,botones[i].txt,botones[i].size,botones[i].colortxt,0)endendwhiletruedo
botonear()
screen.flip()end
Si pones un while true do en una funcion, y luego fuera otro while true do, no tiene sentido, es más la PSP se quedará bloqueada. Te recomiendo quitar el while true do de la funcion y dejar el de fuera.
boton.create es una función que solo crea cosas, es decir no devuelve nada como para hacer: inicio = boton.create...
Si no has designado una funcion para blitear el boton, a menos que uses image.blit no va a funcionar.
Te noto algo recien llegado. Te recomiendo leerte los tutos de Chimecho y si ya lo has hecho pues vuelve a echarles una miradita ;D
Puedes poner los bucles que quieras, ya sea un while detro de un for, un for dentro de un while dentro de otr, etc... Sino mira mnkeyboard, en el ejemplo se utilizan fors y whiles de la función dentro de un while.
Disculpame, hoy ando algo cansado y no sé muy bien que intentas...
el return se usa así:
--Creamos una función para que te sirva de ejemplofunction ejemplo()--Generamos unn nº aleatorio entre 1 y 3
numero=math.random(1,3)--Devolvemos el numero que ha salidoreturn numero
end--Esto mostrará el número salido anteriormenteos.message(ejemplo())--Return se utiliza también para salir de una función
E aqui el nuevo codigo
Codigo de creacion de botones
Codigo de bliteo :
PD : hay algun error? , esto seria viable?
By jorge_97
No te marees ni pierdas el tiempo...
No creo que esa funcione, pero bueno
Ya te dejé en mi comentario un ejemplo fácil que te servirá para aprender.
Un saludo
Dos años en SCENEBETA
Click aquí para ver la Entrada de Bitácora.
Sip...
Primero, revisa esta condición:
if math.par(var2) == false then var2+1 elseif math.par(var2) == false then end
La condición tiene dos condiciones iguales, por lo que es una tontería. Para sumar se debe hacer como
var = var + num
.Después, si quieres que el texto se muestre encima del botón, crea antes la imagen y después imprime el texto:
Acuerdate de cerrar el blucle y de antes de voltear la pantalla para mostrar la pantalla.
Revisa como se imprime el texto, ya que has puesto mal las variables en la función para mostar el botón.
Y no sé si hay algo más...
NekeOS, el nuevo shell para PSP
PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.
Sony Xperia Z1 Compact con Android 5.1.1
Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).
No lo sé...
Me parece que si, pero pruebalo en la PSP...
El alto se puede obtener
El alto se puede obtener experimentalmente, imprimiendo el texto en diferentes tamaños, tomando una captura y "midiendo" desde algún programa de edición.
Así, el alto inicia con 8 pixeles para un tamaño de 0.5, y aumenta 2 pixeles por cada aumento de tamaño (10 pix para 0.6, 12 para 0.7 y así sucesivamente).
muchas gracias
ya tengo todo lo necesario
By Jorge_97
Un minuto después...
Os complicais la existencia!!!
Lo que yo haria:
Dos años en SCENEBETA
Click aquí para ver la Entrada de Bitácora.
Es una forma pero no me convence
Pues eso
Pues...
Dejame decirte que pocas variaciones de ese código como base vas a encontrar... =/
lo se pero ya tenco todo lo que necesito
Gracias a esta comunidad
Mmm...
Para el ancho aplica
screen.textwidth(texto, [tamaño])
, para el alto no hay nada.ok
entonces presuponiendo que el tamaño del texto fuera 15 (pixeles) i quisiera crear un boton seria este codigo
Y para mostrarlo :
PD : alguien podria decirme si hay un error (en estos momentos no tengo PSP)
Mmmm...
Me temo que hay varios errores ahí:
Te noto algo recien llegado. Te recomiendo leerte los tutos de Chimecho y si ya lo has hecho pues vuelve a echarles una miradita ;D
Un saludo :D
No
Puedes poner los bucles que quieras, ya sea un while detro de un for, un for dentro de un while dentro de otr, etc... Sino mira mnkeyboard, en el ejemplo se utilizan fors y whiles de la función dentro de un while.
NekeOS, el nuevo shell para PSP
PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.
Sony Xperia Z1 Compact con Android 5.1.1
Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).
¿¿Incluso un bucle infinito
¿¿Incluso un bucle infinito dentro de otro infinito?? Porque yo no puedo...
By Jorge_97
Sí...
es más yo también meto while dentro de otros while o cuando uso tablas el for.
Los bucles para mí tienen fin...
Por ejemplo:
Ahí empiezas en la función a() que tiene un bucle y sin salir de él entras en el bucle de la función b()
Un saludo
Dos años en SCENEBETA
Click aquí para ver la Entrada de Bitácora.
Ammms...
Dato curioso, nunca te acostarás sin haber aprendido algo nuevo :D
By jorge_97
Y que lo digas ;)
Un saludo
entonces...
Que ago para mostrarlo de la morma mas simplificada (osea crear el boton i despues otra funcion para mostrarlo)
PD : me he leido la documentacion y se que se tiene que poner return pero no se que "retornar"
By jorge_97
Disculpame, hoy ando algo cansado y no sé muy bien que intentas...
el return se usa así:
Dos años en SCENEBETA
Click aquí para ver la Entrada de Bitácora.
Y si...
Pongo : return buton and text
Lo devolver en ese orden¿
Corrección
Creo que sería: return button, text
Si
Si
entonces perfecto
gracias por la ayuda