Anuncios Google

No colisiona pero si colisiona S:[Lua Dev]

Hola, lo que pasa es que en este script, al colisionar mostrara la funcion p() pero apenas inicio el nivel y está la funcion p().

Un code dice todo:

fondo=image.load("Imagenes/fondo.png")
Asb=6.3
Obj={}
Obj[1]={bola=image.load("Imagenes/bola.png"),x=15,y=116,h=46,w=46}
Obj[2]={bola2=image.load("Imagenes/bola2.png"),x=445,y=111,h=8,w=8}
Obj[4]={enemigo=image.create(30,30,color.new(0,0,45)),x=250,y=100,h=30,w=30}
Obj[5]={enemigo2=image.create(60,60,color.new(0,255,90)),x=50,y=100,h=60,w=60}
Obj[6]={bar=image.create(480,20,color.new(255,0,0)),x=0,y=252,h=20,w=480}
Obj[7]={bar=image.create(480,20,color.new(255,0,0)),x=0,y=0,h=20,w=480}
Obj[8]={enemigo=image.create(100,100,color.new(45,45,45)),x=150,y=100,h=100,w=100}
c=timer.new()
c:start()
 
function p()
perdedor=image.load("Imagenes/Perdedor.png")
	while true do
		controls.read()
		 perdedor:blit(0,0)
		  if controls.press("cross") then dofile("Niveles/nivel5.lua") end
				if controls.press("circle") then dofile("script.lua") if not sn then sn=sound.load("Sonidos/sn.mp3") if not M[1] then M[1]=image.load("Imagenes/M1.png") if not M[2] then M[2]=image.load("Imagenes/M2.png") if not M[3] then M[3]=image.load("Imagenes/M3.png") end end end end end
	screen.flip()																												
end
end
 
function g()
ganador=image.load("Imagenes/Ganador.png")
	while true do
		controls.read()
		 ganador:blit(0,0)
			if controls.press("cross") then dofile("Niveles/nivel6.lua") end
				if controls.press("circle") then dofile("script.lua") if not sn then sn=sound.load("Sonidos/sn.mp3") if not M[1] then M[1]=image.load("Imagenes/M1.png") if not M[2] then M[2]=image.load("Imagenes/M2.png") if not M[3] then M[3]=image.load("Imagenes/M3.png") end end end end end
	screen.flip()
end
end
 
function control(object)
if controls.down() then
	object.x=object.x+5
elseif controls.left() then
	object.x=object.x-4
elseif controls.up() then
	object.y=object.y+6
elseif controls.right() then
	object.y=object.y-7
end
end
 
function colision(ob1,ob2)
if ob1.x+ob1.w>=ob2.x and
	ob1.y+ob1.h>=ob2.y and
	ob1.y<=ob2.y+ob2.h and
	ob1.x<=ob2.x+ob2.w then
		return true
else
		return false
end
end
 
while true do
controls.read()
fondo:blit(0,0)
screen.print(0,40,"Nivel5",color.new(255,45,0))
Obj[1].bola:blit(Obj[1].x,Obj[1].y)
Obj[2].bola2:blit(Obj[2].x,Obj[2].y)
Obj[4].enemigo:blit(Obj[4].x,Obj[4].y)
Obj[5].enemigo2:blit(Obj[5].x,Obj[5].y)
Obj[6].bar:blit(Obj[6].x,Obj[6].y)
Obj[7].bar:blit(Obj[7].x,Obj[7].y)
Obj[8].enemigo:blit(Obj[8].x,Obj[8].y)
Obj[4].y=Obj[4].y+Asb
Obj[5].y=Obj[5].y+Asb
if Obj[4].y>=252-30 then Asb=-6.3 elseif Obj[4].y<=20 then Asb=6.3 end 
if Obj[5].y>=252-60 then Asb=-6.3 elseif Obj[5].y<=20 then Asb=6.3 end 
if math.floor(c:time()/1000)>=3.7 then Obj[4].x=Obj[4].x+49.6 c:reset() end 
control(Obj[1])
if colision(Obj[1],Obj[2]) then g() elseif colision(Obj[1],Obj[4]) then p() elseif colision(Obj[1],Obj[5]) then p() elseif colision(Obj[1],Obj[6]) then p() elseif colision(Obj[1],Obj[7]) then p() elseif colision(Obj[4],Obj[2]) then elseif colision(Obj[1],Obj[8]) then p() end
Obj[1].x=math.min(math.max(0,Obj[1].x), 480-Obj[1].w/2) 
Obj[1].y=math.min(math.max(0,Obj[1].y), 272-Obj[1].h/2) 
screen.flip()
end


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 sting18

Al comensar coliciona el

Al comensar coliciona el objeto 1 con el 5

Imagen de NauTiluS1

Bien, ese error ya me ha

Bien, ese error ya me ha pasado mucho xD debe ser uno de estos:el Y y el X es igual en ambos objetos,no tienes la colisión en una función(nop, esta no es), y no me acuerdo las otras :S xE


Follow me twitter nautilus1_jmccu!!
Sony, ya a nadie le interesa tus UMD si alguien compra una psp es por nosotros los coders. Madura y has un FW que haga la diferencia y anime a las personas en comprar un PSP

Imagen de barney77

R1= Si el Y de ambos es

R1= Si el Y de ambos es igual, pero no creo que tenga que ver, de todos modos lo cambiaré

R2=La colison está dentro de la funcion colision.

EDITO: Ya los cambie y nahg, sigue igual men :(

Imagen de NauTiluS1

Ummm qué tal si solo

Ummm qué tal si solo compruebas una colisión? osea solo una: colision(x,n)

Imagen de barney77

No improta, edite el nivel, y

No improta, edite el nivel, y ya funciono, estoy a unos minutos de sacar mi primer Homebrew ;)

Imagen de NauTiluS1

Ya verás xD justo cuándo lo

Ya verás xD justo cuándo lo vayas a lanzar querrás hacerle una mejorita y despues otra mejorita xD y así te la pasarás jeje xD, o eso solo me pasa mí xD


Follow me twitter nautilus1_jmccu!!
Sony, ya a nadie le interesa tus UMD si alguien compra una psp es por nosotros los coders. Madura y has un FW que haga la diferencia y anime a las personas en comprar un PSP

Imagen de -chus-

jeje

no amigo, eso me pasa a mi tambien, y mas cuando diseño los graficos, tengo una idea y despues tengo otra y cambio el diseño XD hay que llevarsela con calma por experiencia propia :P


                                          Mis Homebrew´s

 http://psp.scenebeta.com/noticia/memorama-games#comment-803033


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.