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
Al comensar coliciona el
Al comensar coliciona el objeto 1 con el 5
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
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 :(
Ummm qué tal si solo
Ummm qué tal si solo compruebas una colisión? osea solo una: colision(x,n)
No improta, edite el nivel, y
No improta, edite el nivel, y ya funciono, estoy a unos minutos de sacar mi primer Homebrew ;)
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
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