Publicidad

Anuncios Google

Solucionado

Solucionado, Se puede cerrar el post, Gracias a todos, Especialmente a Nekerafa y Daklon


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.
Imagen de Daklon

el codigo corregido te

el codigo corregido te quedaria asi:

InitGFX(1920, 1080)
initPads(7)
SetAppName("Cuanto cabron´s game")
CC = 0
Imagen = { }
 
Imagen[1] = LoadBMP("Imagenes/CC1.png")-- en la version v2 es loadBMP no loadIMG, eso era en la v1
Imagen[1]:setRectPos(0, 0)-- la posicion de la imagen se establece así
Imagen[2] = LoadBMP("Imagenes/CC2.png")
Imagen[2]:setRectPos(0, 0)
Imagen[3] = LoadBMP("Imagenes/CC3.png")
Imagen[3]:setRectPos(0, 0)
Imagen[4] = LoadBMP("Imagenes/CC4.png")
Imagen[4]:setRectPos(0, 0)
Imagen[5] = LoadBMP("Imagenes/CC5.png")
Imagen[5]:setRectPos(0, 0)
Imagen[6] = LoadBMP("Imagenes/CC6.png")
Imagen[6]:setRectPos(0, 0)
Imagen[7] = LoadBMP("Imagenes/CC7.png")
Imagen[7]:setRectPos(0, 0)
Imagen[8] = LoadBMP("Imagenes/CC8.png")
Imagen[8]:setRectPos(0, 0)
Imagen[9] = LoadBMP("Imagenes/CC9.png")
Imagen[9]:setRectPos(0, 0)
Imagen[10] = LoadBMP("Imagenes/CC10.png")
Imagen[10]:setRectPos(0, 0)
Entrada = LoadBMP("Entrada.png")
Entrada:setRectPos(0, 0) 
while true do
beginGFX(0x00000)-- se te olvido poner el fondo
if CC==0 then
BlitToScreen(Entrada)-- asi es como se cargan la image, la posicion se establece de otra forma
end
if down(0) then
CC = CC + 1
end
if cross(0) then
CC = CC + 1
end
if left(0) then
CC = CC - 1
end
if CC==1 then
BlitToScreen(Imagen[1])
end
if CC==2 then
BlitToScreen(Imagen[2])
end
if CC==3 then
BlitToScreen(Imagen[3])
end
if CC==4 then
BlitToScreen(Imagen[4])
end
if CC==5 then
BlitToScreen(Imagen[5])
end
if CC==6 then
BlitToScreen(Imagen[6])
end
if CC==7 then
BlitToScreen(Imagen[7])
end
if CC==8 then
BlitToScreen(Imagen[8])
end
if CC==9 then
BlitToScreen(Imagen[9])
end
if CC==10 then
BlitToScreen(Imagen[10])
end
if CC > 10 then
CC = 1
end
endGFX()
end

PD: las imagenes las cargara desde una carpeta llamada como el SetAppName\imagenes\la imagen en cuestion

PD2:Nekerafa podrias explicar como hacerlo con un bucle for? intente hacerlo pero me quede medio trabado y no se hacerlo xD

Imagen de Dioni0396

Gracias

a los 2 mañana lo liberare poniendo 3 autores xD, bueno para el bucle for seria asi:

for i=1,10 do --i=1 en la primera sentencia pero en la segunda sera 2, y  asi hasta 10 o el numero que ponga
Font:print(Variable[i]) --Eso seria que en cada vuelta cargarias ese texto en cuestion teniendo asi 10 textos pero esto se puede usar en otras funciones
end 

Espero haberte ayudado

Imagen de NEKERAFA

Mmm...

Ufff, por donde empiezo jaajajajaja.

Primero, LuaPlayer PS3 no tiene soporte para imagenes en .png, tienes que convertirlas a .bmp (Utiliza GIMP o Paint, no vale que las renombres porque siguen siendo png aunque tengan un .bmp, auque guidos crea que es un png XDDD)

Despues, puedes reducir código cargando las imagenes con un bucle for ... do y mostrarlas con otro.

Para cargar botones, se utiliza "nombre del boton"(numero del mando), por lo que en if down then tienes que poner if down(0) then. Lo mismo en las demas.

Por ultimo, te recomiendo que utilices un comando para "romper" el programa y cerrarlo, es decir, poner una condicion con un boton (por ejemplo start(0) ) y que si se culpe, poner la sentencia break para que se rompa el bucle inicial. haber si pronto ponen una formas más bonita como app.exit() o algo asi, aunque tengo que decir que de esta forma, escribes más rápido.

 

Y no veo nada más. otra cosa, que esto ya es una buena costumbre y no es obligatorio. Para entender mejor el código, os recomiendo comentarlo con:

-- "comentario"

y despues sangrar el programa con la tecla TAB (En algunos es una flecha larga) para tenermo lejor estructurado.


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).

Imagen de Dioni0396

Tengo otra duda

nombre del boton(numero del mando) eso es que no lo termino de comprender, es lo unico que no comprendo, no puede ser down(1) ejemplo?

Imagen de Daklon

si pones cross(0) te refieres

si pones cross(0) te refieres a la x de todos los mandos, si pones cross(1) te refieres a la x del mando 1

Imagen de NEKERAFA

exacto Daklon

exacto Daklon

Imagen de Dioni0396

Okay

Codigo nuevo:

InitGFX(480, 272)
initPads(7)
SetAppName("Cuanto cabron´s game")
CC = 0
for i=1,10 do
Imagen = { }
Imagen[i] = LoadIMG("Imagenes/CC"..i..".bmp")
end
 
while true do
	beginGFX()
		if CC==0 then
			image.blit(0,0,Entrada)
			end
		if down(0) then
			CC = CC + 1
			end
		if cross(0) then
			CC = CC + 1
			end
		if left(0) then
			CC = CC - 1
			end
		if CC==1 then
			BlitToScreen(0,0,Imagen[1])
			end
		if CC==2 then
			BlitToScreen(0,0,Imagen[2])
			end
		if CC==3 then
			BlitToScreen(0,0,Imagen[3])
			end
		if CC==4 then
			BlitToScreen(0,0,Imagen[4])
			end
		if CC==5 then
			BlitToScreen(0,0,Imagen[5])
			end
		if CC==6 then
			BlitToScreen(0,0,Imagen[6])
			end
		if CC==7 then
			BlitToScreen(0,0,Imagen[7])
			end
		if CC==8 then
			BlitToScreen(0,0,Imagen[8])
			end
		if CC==9 then
			BlitToScreen(0,0,Imagen[9])
			end
		if CC==10 then
			BlitToScreen(0,0,Imagen[10])
			end
		if CC > 10 then
			CC = 1
			end
		if start(0) then
			break
			end
endGFX()
end

Que opinan?

Imagen de NEKERAFA

Esta bien...

Pero, creo que esto es más facil:

InitGFX(480, 272)
initPads(7)
SetAppName("Cuanto cabron´s game")
CC = 0
for i=1,10 do
	Imagen = { }
	Imagen[i] = LoadIMG("Imagenes/CC"..i..".bmp")
end
 
while true do
	beginGFX()
		if CC==0 then
			image.blit(0,0,Entrada)
			end
		if down(0) then
			CC = CC + 1
			end
		if cross(0) then
			CC = CC + 1
			end
		if left(0) then
			CC = CC - 1
			end
		for i=1,10 do
			if CC==i then
				BlitToScreen(0,0,Imagen[i])
			end
		end
		if CC > 10 then
			CC = 1
			end
		if start(0) then
			break
		end
endGFX()
end

Cepo que es más corto, pero esta bien el tuyo


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).

Imagen de Anabol

Ahí estamos, optimizando

Ahí estamos, optimizando código xDD.

Salu2tS!

Imagen de Dioni0396

Vale

Pero me estoy liando arriba usa BMP y aqui usa IMG arriba usa set....( 0, 0) y aqui no. En que quedamos?

Imagen de Daklon

a ver nekerafa not e corrigio

a ver nekerafa not e corrigio un par de errores, por ejemplo en el begin GFX no puso fondo, para cargar imagenes en bmp no IMG, IMG es para la v1, BMP para la v2

quedaria asi:

InitGFX(480, 272)
initPads(7)
SetAppName("Cuanto cabron´s game")
CC = 0
for i=1,10 do
	Imagen = { }
	Imagen[i] = surface(i)-- tienes que cargar la capa
	Imagen[i]:loadBMP("Imagenes/CC"..i..".bmp")-- aqui carga la imagen
	Imagen[i]:setRectPos(0, 0)-- aqui establece la posicion
end
 
 Entrada = surface(0)-- aqui cagra la imagen de entrada porque es distinta  alas demas y no se puede cargar con el bucle for( a no ser que le cambies el nombre xD)
 Entrada:loadBMP("imagenes/entrada.bmp")-- mas de lo mismo
 Entrada:setRectPos(0, 0)-- la posicion
 
while true do
	beginGFX(0x00000)-- aqui no te olvides de poner el color de fondo que es un error por lo que veo comun y que molesta bastante
		if CC==0 then
			BlitToScreen(Entrada)
			end
		if down(0) then
			CC = CC + 1
			end
		if cross(0) then
			CC = CC + 1
			end
		if left(0) then
			CC = CC - 1
			end
		for i=1,10 do
			if CC==i then-- aqui realmente hace falta este if? no vale con el BlitToScreen directo? sin el if
				BlitToScreen(Imagen[i])
			end
		end
		if CC > 10 then
			CC = 1
			end
		if start(0) then
			break
		end
endGFX()
end

Imagen de Dioni0396

Vale gracias

Todo solucionado

Imagen de NEKERAFA

jajajajaja, que

jajajajaja, que follón.....

 Yo creyendo que era en v1... y aquí que lo hicieron en v2...

Ufffff, haber, al final en que quedamos? Aparte de que yo toy mu flipao hoy....

 

Edito: Haber, el if hay que incluirlo, ya que sino entonces imprime todas las imagenes y lo que queremos es que imrima solo en la que estamos. Con el for hacemos que cambien i en cada paso, hasta que llega al verdadero y con el if lo imprimimos


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).

Imagen de Daklon

me imagino que lo estara

me imagino que lo estara haciendo para la v2, porque aprender para la v1 es perder el tiempo digo yo xD

por cierto nekerafa, mira el comentario que puse en el codigo, realmente hace falta ese if?

Edit:a ok xD que logico xD

Edit2: y no se podria poner asi?(estoy empeñado en ahorrarme el if xD

BlitToScreen(Imagen[CC])

Imagen de NEKERAFA

jajaja

Pues tienes razón, quedaria así:

InitGFX(480, 272)
initPads(7)
SetAppName("Cuanto cabron´s game")
 
CC = 0
 
for i=1,10 do
	Imagen = { }
	Imagen[i] = surface(i)
	Imagen[i]:loadBMP("Imagenes/CC"..i..".bmp")
	Imagen[i]:setRectPos(0, 0)
end
 
Entrada = surface(0)
Entrada:loadBMP("imagenes/entrada.bmp")
Entrada:setRectPos(0, 0)
 
while true do
	beginGFX(0x00000)
 
		if CC == 0 then -- Si CC es 0 entonces ponemos la entrada
			BlitToScreen(Entrada)
		elseif CC > 0 then -- Sino entonces imprimimos la imagen correspondiente
			BlitToScreen(Imagen[CC])
		end
 
		if down(0) then
			CC = CC + 1
		end
 
		if cross(0) then
			CC = CC + 1
		end
 
		if left(0) then
			CC = CC - 1
		end
 
		if CC > 10 then
			CC = 1
		end
 
		if start(0) then
			break
		end
	endGFX()
end

Eso si, simpre necesitarás un if a menos que la entrada la indexes en la tabla, que lo puedes entonces sacar... aunque ahora que lo pienso... :

InitGFX(480, 272)
initPads(7)
SetAppName("Cuanto cabron´s game")
 
CC = 0
 
for i=1,10 do
	Imagen = { }
	Imagen[i] = surface(i)
	Imagen[i]:loadBMP("Imagenes/CC"..i..".bmp")
	Imagen[i]:setRectPos(0, 0)
end
 
Entrada = surface(0)
Entrada:loadBMP("imagenes/entrada.bmp")
Entrada:setRectPos(0, 0)
 
while true do
	beginGFX(0x00000)
 
		if down(0) or cross(0) then
			CC = CC + 1
		elseif left(0) then
			CC = CC - 1
		end
 
		if CC > 10 then
			CC = 1
		end
 
		if start(0) then
			break
		end
 
		if CC == 0 then -- Si CC es 0 entonces ponemos la entrada
			BlitToScreen(Entrada)
		elseif CC > 0 then -- Sino entonces imprimimos la imagen correspondiente
			BlitToScreen(Imagen[CC])
		end
 
	endGFX()
end

Si hay dos comando que hacen lo mismo, esto se puede simplificar con un or...

 

Bueno, saludos


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).

Imagen de Daklon

increible lo que se puede

increible lo que se puede llegar a simplificar un codigo.. xD

Imagen de NEKERAFA

jaja, es la guerra de la

jaja, es la guerra de la simplificación.... Como la miniaturización...

Imagen de Daklon

yo puedo probarlos si

yo puedo probarlos si quieres, que tengo el lua player v1 y v2 instalados, aunque el v1 lo puedes probar tu con un emulador para windows, linux y mac que saco el autor

eso era para la v1, para la v 2.0 ya no es asi, primero tienes que cargar una fuente(como en el codigo de ejemplo que te puse en el otro post) y luego pones la variable en la que la cargaste mas dos puntos mas Print(x, y, "texto")

algo asi:

Font = NewFont("test.ttf", 24);-- el 24 es el tamaño
Font:SetQuality(Blended)
Font:SetColor(0, 255, 0, 255)-- el color en rgb, en este caso verde, el ultimo valor es la transparencia, a mayor numero mas opaco
Font2:SetStyle(Italic)-- esto es para negrita, cursiva, etc, no es algo imprescindible, puedes omitirlo
-- para imprimir el texto lo haces asi
Font:Print(X, Y, "texto")

Imagen de Dioni0396

Gracias

Gracias mejor, ya que mi computadora no soporta el emulador, porque lo he puesto y la unica manera de cerrarlo era con el administrador de tareas, Gracias por todo, otra duda, si quiero cargar 10 imagenes este codigo seria ideal?:

for i=1,10 do
LoadIMG = ("Imagenes/CC"..i..".png")
end
--Continuaria

Imagen de Daklon

el emulador no se cierra con

el emulador no se cierra con la x de la esquina, la unica forma de cerarlo es poniendo un if con un break dentro si pulsas una tecla y luego pulsar esa tecla, no se si me explico

ese codigo sinceramente no se si funcionaria, ahora hago una prueba y te digo, pero te aviso que las imagenes .png no als carga aun el lua player, solo carga bmp, gif,pcx, y otra mas de un formato raro que ahora no recuerdo

Imagen de Dioni0396

Ese codigo no ira

prueba este:

for i=1,10 do
Imagen = LoadIMG("Ruta/CC"..i..".png")
end
--No es necesario que lo pruebes mira mi nueva duda

Imagen de Daklon

ahora mismo me tengo que ir,

ahora mismo me tengo que ir, no tengo tiempo, lo pruebo a la noche, pero deberia de funcionar corrigiendo un par de errores que tienes en als funciones

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.