Anuncios Google

[SOLUCIONADO]Teclado y dudas generales[LuaDEV]

Pues esa es mi pregunta, existe alguna forma de usar el teclado en LuaDEV?? Me leí la documentacion y me parece recordar que no habia nada del teclado. Hoy me la he repasado por encima y tampoco lo he encontrado. Si esta, lo siento.

Aprovecho para poner mas preguntas:

En el codigo, se "lee"(carga) todo el codigo y despues el bucle while true do o nada mas ejecutarse el codigo empieza por el while true do?.

Si quiero llevar informacion de un "archivo.lua" a otro "archivo1.lua", debo hacer que  el "archivo1.lua" lea el contenido del "archivo.lua" o hay alguna funcion para conseguir transferir variables/valores entre archivos??

 

Muchas gracias.


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

A ver... todo lo que declares

A ver... todo lo que declares en un archivo, lo puedes usar en otro. Me explico:
Si en un script cargas al inicio una imagen y un sonido, y después te mueves a otro script (con la función dofile) podrás seguir usando esa imagen y ese sonido sin problemas. NO hay necesidad de usar io.open ni nada de eso :P

Qué es más rápido? No sabría decirte (no he hecho pruebas de velocidad a ver que pasa). De todas formas no creo que tarde más que unas fracciones de segundo en moverse de un archivo a otro. Si es poco código, no vale la pena hacer más de un script, pero si tienes muchas funciones por ejemplo, podrías hacer un script con todas esas funciones y las cargas al inicio de tu code ;)

Imagen de Dioni0396

Creia que se referia

a documentos .txt

Imagen de barney77

Cito: "Si quiero llevar

Cito:

"Si quiero llevar informacion de un "archivo.lua" a otro "archivo1.lua",
debo hacer que  el "archivo1.lua" lea el contenido del "archivo.lua" o
hay alguna funcion para conseguir transferir variables/valores entre
archivos??"

 

Saludos.

Imagen de Dioni0396

Me equivoque

Fin.

oseaq con el dofile se puede

oseaq con el dofile se puede llevar informacion?? pos perfercto seguire vuestros consejos jeje muchas gracias.(Misma respuesta para Shuuyangui xD)

No es que se lleve es que se

No es que se lleve es que se queda en la memoria RAM...

mmm ok, muchas gracias lo del

mmm ok, muchas gracias lo del teclado se me paso :S

Respecto a la segunda pregunta. Que es mejor(mas rapido o mas eficaz) hacer un nuevo archivo.lua y poner el codigo en el o crear una nueva funcion en ese mismo archivo.(La pregunta va hecha suponiendo que el archivo tenga muchas lineas de codigo)

En la tercera, parece que no hay ningun comando, asique utilizare el io.open.

Muchas gracias y contestad a la 2º pregunta porfavor ;)

Imagen de lostdajt

Yo empeze a usar

un archivo.lua aparte, y en ese archivo.lua pongo todas las funciones.

dofile("funciones.lua") -- Aqui cargas el archivo.lua, haz de cuenta que esta en el mismo script.lua, adentro de funciones.lua hay una imagen cargada "img = image.load("imagen.png"),
 
while true do
img:blit(0,0)
screen.flip()
end
-- como vez ya no necesito hacer tan grande el code, solo en el otro .lua poner todo y cargarlo en los otros .lua.


HiderDEV 2.0: 100%  3D Images: 100%   American Run: 100%

 

 

 

Imagen de lostdajt

1.-

1.- Depende de que quieras hacer con el teclado o cual teclado dices, si dices el de Sony es con os.osk()

2.-Cuando inicias el eboot, revisa si hay un script.lua, si no lo hay no inicia, este revisa todo el code, por ejemplo afuera del while pones "sonido = sound.load("sonido.mp3")" y adentro del while puedes poner "sound.play(sonido)".

3.- Ya te respondio dioni

Ejemplos:

1.-

texto = ""
while true do
controls.read()
if controls.cross() then -- Si presiono X entonces...
texto = os.osk("Sony teclado","",30,1,0) -- Sale el telcado..
screen.print(10,10,texto) -- Imprime el texto introducido en el teclado
screen.flip()
end

2.-

sonido = sound.load("sonido.mp3")
sound.play(sonido)
rojo=color.new(255,0,0)
while true do
if sonido:playin() then
sound.blit(pp,"wave",0,90,480,150,rojo)
end
screen.flip()
end


HiderDEV 2.0: 100%  3D Images: 100%   American Run: 100%

 

 

 

Imagen de Dioni0396

Respuestas

Teclado: (Si que esta, quizas tengas una documentacion vieja)

os.osk  ( string  desc,  
  string  init,  
  int  maxsize,  
  int  lines,  
  int  modo 
)
Teclado original en pantalla. 
 
Parámetros:
 desc  Descripción. Sale abajo a la derecha.  
 init  Texto inicial. Puede ser "".  
 maxsize  Máximo número de carácteres a poder entrar.  
 lines  Máximo número de líneas a poder entrar.  
 modo  Tipo del teclado en pantalla, uno de los siguientes: 
 
0 - Cualquier entrada (digitos + simbolos + letras... ) 
1 - Sólo dígitos (0123456789) 
2 - Sólo mayúsculas (ABCD...) 
3 - Sólo minúsculas (abcd...) 
4 - Sólo símbolos. 
5 - Combinación dígitos + símbolos. 
 
 
Devuelve:
El texto introducido, más un número de entre éstos: 
0 - No se ha cambiado nada. 
1 - Se ha cambiado el texto que había. 
-1 - Se ha cancelado. 

2. Va en orden cronologico, primero lee la primera linea, luego la segunda... El while true do NO es lo primero que lee

3. (No se si esto funcionaria) Abres el 1º con io.open, y la lectura que salga, guardas los datos y abres el 2º con io.open (Modo escribir) y copias.

Mucho mejor con ini que para

Mucho mejor con ini que para eso están.

Iba a abir otro tema, pero ya

Iba a abir otro tema, pero ya que hablas aqui de los ini aprovecho jeje.

1- si quiero escribir una variable en un archivo.ini. ¿Me guaradaria el nombre de la variable o el valor?

Ej:

variable = 1
 
ini.write("archivo.ini","seccion","nombre clave","variable")

Me guardaria "variable" o 1 ??

 

2- Otra pregunta. En un for que compruebe todo el array si al darse una condicion quiero que el array[2] tenga el valor de array[1] como lo hago??

Se podria hacer asi:

--array1=1
--array2=2, etc
v = 5
 
for i = array1, #array do
 
if v > i then
 
array[i+1]
 
end
 
end

Lo que quiero es que el valor del array1 pase al array2.

3- Y si se consigue eso, que pasaria al llegar al array6(suponiendo que este sea el ultimo), se eliminaria el valor de array6?

 

Gracias ;)

Imagen de Dioni0396

haber

lo 1º esta bien (Aunque nunca he manejado inis)

lo 2º seria:

Tabla = { }
--6 datos de tabla etc,etc
for i=1,#Tabla do
if CONDICION then
Tabla[2] = Tabla[1]
end
end

lo 3º No, porque iba ha hacerlo?

1-guardaria  variable=1   2-

1-guardaria  variable=1

 

2- veo que pones array1=1 y eso es una variable normal, a que te refieres una tabla o una variable o sea a eso: array1=1 o array={1}

 

1- y como podria hacerlo para

1- y como podria hacerlo para que solo guarde el valor??

2- me refiero a

array = {

array1 = 1

array2 = 2

}

@Dioni, pero no me refiero al caso concreto ese sino en general. Seria:

array[i+1] = array[i]

se me olvido ponerlo al principio, perdon :S

3- Dioni, pregunto que si se borra, porque esa tabla ya no tendria elementos, entonces que pasaria?? se crea uno nuevo con ese valor o se elimina el valor??

Imagen de Dioni0396

Te respondo a la 3º

Si tu realizases la operacion 2º (array[i+1] + array[i]) al llegar al valor 6 seria el valor 5, claro, pero al meter el valor 7, dara error, ya que no existe ningun array que tenga ese valor

Es eso lo que intentas decirme?

Si, eso es. Y que hago para

Si, eso es. Y que hago para que no de error? poner otro for pero esta vez que compruebe todo el contenido de la tabla excepto el ultimo?? seria:

for i=array1, #array - 1 do

CODIGO

end

seria asi??

Podrian responderme a la pregunta 1 porfavor? Gracias

Imagen de barney77

Pues, quizas funcione, prueba

Pues, quizas funcione, prueba y nos dices, aparte me servira de experiencia :B.

Imagen de Dioni0396

pss...

no sabria que decirte....

lo 1º seria como tu has dicho.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.