Anuncios Google

Problema con colision

Hola, verán, tengo un problema en LUADEV, hice una colision en mi HB american run, puse en el code del nivel 2 una barra en la parte de abajo, de color verde, y cree una funcion de colision para que cuando toque la barra de abajo se reinicie el nivel 2 pero cuando la toca, se queda parapdeando el LED de la MS y se queda asi.

Mi code(nivel2.lua)

dofile("funciones.lua")
blanco = color.new(255,255,255)
rojo = color.new(255,0,0)
negro = color.new(0,0,0)
verde = color.new(0,255,0)
 
fondo = image.load("imagenes/FONDO.PNG")
 
runer = image.create(50,50,blanco)
tacler = image.create(60,60,rojo)
barra = image.create(480,50,verde)
 
runer_t = {x=45,y=120,anchura=50,altura=50}
tacler_t = {x=345,y=120,anchura=60,altura=60,velocidad = 2.0}
barra_t = {x=1,y=271,anchura=480,altura=50}
 
col = 0
 
temp = timer.new()
 
temp:start()
 
while true do
controls.read()
 
barra:blit(barra_t.x,barra_t.y)
runer:blit(runer_t.x,runer_t.y)
tacler:blit(tacler_t.x,tacler_t.y)
 
corre()
defe()
 
colision(tacler_t)
colision2(barra_t)
 
if col == 1 then
	os.message("Perdiste, intentalo de nuevo :)")
	dofile("nivel2.lua")
end
if coli == 1 then
	dofile("nivel2.lua")
end
if temp:time()>=10000 then
	os.message("Ganaste")
	os.message("Pasaste al nivel 3")
	dofile("nivel3.lua")
end
screen.flip()
end

funciones(funciones.lua)

function colision(objeto)
if objeto.x + objeto.anchura >= runer_t.x and objeto.x <= runer_t.x + runer_t.anchura 
and objeto.y + objeto.altura >= runer_t.y and objeto.y <= runer_t.y + runer_t.altura then
col = 1
end
end
 
function colision2(objeto)
if objeto.x + objeto.anchura >= runer_t.x and objeto.x <= runer_t.x + runer_t.anchura 
and objeto.y + objeto.altura >= runer_t.y and objeto.y <= runer_t.y + runer_t.altura then
coli = 1
end
end
 
function corre()
if controls.up() then
	runer_t.y=runer_t.y-5
end
if controls.down() then
	runer_t.y=runer_t.y+5
end
if controls.left() then
	runer_t.x=runer_t.x-5
end
if controls.right() then
	runer_t.x=runer_t.x+5
end
end
 
function defe()
if runer_t.x > tacler_t.x then
	tacler_t.x = tacler_t.x + tacler_t.velocidad 
end
if runer_t.x < tacler_t.x then
	tacler_t.x = tacler_t.x - tacler_t.velocidad
end
if runer_t.y > tacler_t.y then
	tacler_t.y = tacler_t.y + tacler_t.velocidad 
end
if runer_t.y < tacler_t.y then
	tacler_t.y = tacler_t.y - tacler_t.velocidad
end
end
 
--Menu
function menu()
	if controls.press("up") then
		shuuya = shuuya - 1
	elseif controls.press("down") then
		shuuya = shuuya + 1
	end
	if shuuya == 1 then
		menua:blit(0,0)
		balon:blit(45,121)
		if controls.press("cross") then
			dofile("nivel1.lua")
		end
	end
	if shuuya == 2 then
		menub:blit(0,0)
		balon:blit(45,121)
		if controls.press("cross") then
			os.message("Creador: Shuuyangi")
			os.message("Version Beta")
			os.message("Espera en la version 1.0:")
			os.message("10 niveles")
		end
	end
	if shuuya == 3 then
		menuc:blit(0,0)
		balon:blit(45,121)
		if controls.press("cross") then
			os.quit()
		end
	end
	if shuuya == 4 then
		menud:blit(0,0)
		balon:blit(45,121)
		if controls.press("cross") then
			ins:blit(0,0)
		if controls.press("circle") then
			dofile("script.lua")
		end
		end
	end
	if shuuya > 4 then
		shuuya = 1
	end
	if shuuya < 1 then
		shuuya = 4
	end
end


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

 

 

 


Anuncios Google