Anuncios Google

Ayuda con Guns v0.2 [Solucionado]

El problema es que cuando estoy en el menú, todo bien, pero al entrar al sub-menu y quiero regresar de nuevo al menú, no agarra, solo se mira que parpadea la imágen del menú, pueden hecharme una ayuda con el código ¿A ver que tengo mal?.

saludos

Edito: se me había olvidado mencionar que ya intente también con poner if controls.press("Triangle") then menu()
así si se me parpadea la imágen del menú, ahora como les mostre el código, si funciona pero tengo que dejar aplastados L + R.
Edito2:
Pues solucionado, solo cambie menu() por dofile("script.lua") y ya esta un bonito código de un menú de 6 opciones.

saludos

 fondo1 = image.load("imagenes/fondo1.png")
       fondo2 = image.load("imagenes/fondo2.png")
       fondo3 = image.load("imagenes/fondo3.png")
       fondo4 = image.load("imagenes/fondo4.png")
       fondo5 = image.load("imagenes/fondo5.png")
       fondo6 = image.load("imagenes/fondo6.png")
       mas = 1
function A1()
fondo = image.load("imagenes/handguns1.png")
while true do
fondo:blit(0,0)
controls.read()
if controls.press("triangle") then
dofile("script.lua")
end
if controls.press("right") then
A2()
end
if controls.press("start") then
mgm()
end
if controls.press("select") then
tp()
end
screen.flip()
end
end
             menu = function()
 
              if mas == 1 then
                      image.blit(0,0,fondo1) 
              elseif mas == 2 then  
                      image.blit(0,0,fondo2)
              elseif mas == 3 then 
                      image.blit(0,0,fondo3)
              elseif mas == 4 then
			          image.blit(0,0,fondo4)
			  elseif mas == 5 then
			          image.blit(0,0,fondo5)
			  elseif mas == 6 then
			          image.blit(0,0,fondo6)
					end  
              if controls.press("up") then
 
                      mas = mas - 1 
              end
 
              if controls.press("down") then 
                      mas = mas + 1 
              end    
 
              if mas >6 then
                      mas = 1 
              end
 
              if mas <1 then 
                      mas = 6
              end 
              if controls.press("cross") then
 
                      if mas == 1 then
                              A1()
                      elseif mas == 2 then
                              Armas2() 
                      elseif mas == 3 then
                              Armas3()
 					  elseif mas == 4 then
					          Armas4()
					  elseif mas == 5 then
					          Armas5()
					  elseif mas == 6 then
					          Armas6()
 
                      end
 
              end
 
      end
 
      while true do	   
              screen.clear() 
              controls.read() 
              menu()             
              screen.flip()   			 
      end
 


Con Palabras Sencillas, Hoy Quiero Decirte Me Gustas, De Pies A Cabeza, Que Es Mas claro Que El Agua Que Te Necesito, Me Gustas Todita Completa!

"Banda El Recodo(8)MegustaTodoDeti"


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 Chimecho

!

Atención: si usas un dofile para recargar el script, es recomendable poner código para no volver a cargar las imágenes que ya están cargadas, me explico:

if not imagen then imagen = image.load("imagen.png") end

Con eso dices, si la imagen no existe, cargarla. Así evitas sobrecargar la RAM ;)

 

Saludos!



PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]

07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD

Recuerda: Sé el intérprete -_-

Imagen de moikop

:)

fondos = {}
for i = 1, 6 do
	fondos[i] = image.load("imagenes/fondo"..i..".png");
end
fondos[7] = image.load("imagenes/handguns1.png")
 
mas = 1
 
function A1()
	-- Fondo ahora es fondos[7]
	fondos[7]:blit(0,0)
 
	if controls.r() and controls.l() then
		menu()
	end
	if controls.press("right") then
		A2()
	end
	if controls.press("start") then
		mgm()
	end
	if controls.press("select") then
		tp()
	end
	screen.flip()
end
 
function menu()
	fondos[mas]:blit(0,0)
	if controls.press("up") then
		mas = mas - 1 
	end
	if controls.press("down") then 
		mas = mas + 1 
	end    
	if mas > 6 then
		mas = 1
	elseif mas < 1 then
		mas = 6
	end
	if controls.press("cross") then
		--Todas estas funciones ¿?
		if mas == 1 then
			A1()
		elseif mas == 2 then
			Armas2() 
		elseif mas == 3 then
			Armas3()
		elseif mas == 4 then
			Armas4()
		elseif mas == 5 then
			Armas5()
		elseif mas == 6 then
			Armas6()
		end
	end
end
 
while true do	   
      screen.clear() 
      controls.read() 
      menu()             
      screen.flip()   			 
end

Ahí debería funcionar, fijate ;-)

PD: Si vas a usar tantos WTD, usa un break para salir de ellos que sino se te hace como una bola de estambre...


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderas trucos para resolver tus dudas antes.

No preguntes por MP, mejor pregunta aquí.

Imagen de hhuanag

Con tu código no me funciona,

Con tu código no me funciona, hasta tuve que cambiar if controls.r() and controls.l() then menu() por if controls.press("triangle") then menu(), pero al estar en el menú le doy x y no me dirige hacia A1(). Gracias por la yuda miki, tratare de usar de la otra forma.


Con Palabras Sencillas, Hoy Quiero Decirte Me Gustas, De Pies A Cabeza, Que Es Mas claro Que El Agua Que Te Necesito, Me Gustas Todita Completa!

"Banda El Recodo(8)MegustaTodoDeti"

Me dió una sensación de déjà

Me dió una sensación de déjà vu... quita el flip que está dentro de tu función A1 y prueba de nuevo.

Imagen de hhuanag

No funciona, simlpemente

No funciona, simlpemente cuando estoy en el menú  doy x y no hace nada (No se trabo).

saludos

Imagen de barney77

Sí mejor intentas con "dofile"?

Ejemplo:

if mas == 1 then
   image.blit(0,0)
if controls.press("cross") then
   dofile("el menu.lua")
end
end

Obviamente pones ese dofile en la opcion donde se regresa al menu =).

Imagen de hhuanag

tratare de hacer las

tratare de hacer las funciones por separado, pero dudo que haga algún cambio, con dofile tengo que hacer mas scripts y es lo que no me gusta. Tendré que probar.

saludos


Con Palabras Sencillas, Hoy Quiero Decirte Me Gustas, De Pies A Cabeza, Que Es Mas claro Que El Agua Que Te Necesito, Me Gustas Todita Completa!

"Banda El Recodo(8)MegustaTodoDeti"

Imagen de barney77

A mi tampoco

A mi tampoco, pero creo que no se puede, yo tambien intente hacer eso en el Menu de mi Hb pero con los creditos, pero me pasa lo mismo que ati =(, tal vez seá un error de Lua Dev.

Un Saludo,

EDITO: Pero en tu caso no tendrías que hacer mas scripts, si solo quieres que te devuelva al Menú el dofile será dirigido al script del Menú.(corrigeme si me equivoco).

 

Imagen de DeViaNTe

error de luadev? xD, tiene

error de luadev? xD, tiene bugs... pero tanto como eso... xD

 

function precargar()
	if fondos then return; end
	fondos = {
		image.load("imagenes/fondo1.png"),
		image.load("imagenes/fondo2.png"),
		image.load("imagenes/fondo3.png"),
		image.load("imagenes/fondo4.png"),
		image.load("imagenes/fondo5.png"),
		image.load("imagenes/fondo6.png"),
	}
end	
 
function submenu1()
	local fondo = image.load("imagenes/handguns1.png")
	while true do
		fondo:blit(0,0);
		screen.flip();
		if controls.press("triangle") then fondo:free(); return 1; end
		if controls.press("right") then fondo:free(); return 2; end
		if controls.press("start") then fondo:free(); return 3; end
		if controls.press("select") then fondo:free(); return 4; end
	end
end
 
function menu()
	local o = 1;
	precargar();
	while true do
		fondos[o]:blit(0,0);
		screen.flip();
		controls.read();
		if controls.press("up") then o = o - 1; end
		if controls.press("down") then o = o + 1; end
		if o > 6 then o = 1 end
		if o < 1 then o = 6 end
		if controls.press("cross") then return o; end
	end
end
 
while true do
	-- unas variables de ayuda.
	local volveralmenu = true;
	local sel = 0;
	local subsel = 0;
 
	-- bucle principal.
	while true do
		if (volveralmenu) then sel = menu(); end
 
		if ( sel == 1 ) then subsel = submenu1(); end
		if ( sel == 2 ) then subsel = submenu2(); volveralmenu = false; end
	end
end

existen las mil y una maneras de estructurar un menú, sólo hay que localizar alguna que nos vaya bien. Si el programa no hace lo que debiera, posiblemente esté mal programado...


Actualmente desarrollando nuestra web y UXCode : http://www.gcrew.es

Imagen de barney77

Gracias!

Gracias! maestro, podrías checar mi Post, el de las colisiones?.. esque no me ha servido lo que me dijiste =(.

Imagen de hhuanag

Gracias, ya lo arregle, es un

Gracias, ya lo arregle, es un poco más lento, pero sirvio. Ahi te van unos bitos y gracias por la ayuda.

saludos

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.