Anuncios Google

Como le hago para que en LuaDev, controle un objeto y le pege a otro y.....

Como le puedo hacer para que en LUADEV, controle un objeto, y le pege a otro y salga disparado ejemplo:

Tengo una troca de RC(Control remoto) y la manejo pero le pego a una pelota con la troca y la pelota se va.

Eso es lo que quiero hacer.


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

 

 

 


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 Dioni0396

Colisiones, es tu solucion

El codigo esta para lua hm pero si tienes el DEV deberas cambiar las funciones

--Colisiones. 05/06/06

--Creamos los Colores.
verde=Color.new(0,255,0)
blanco = Color.new(255,255,255)

--Creamos el personaje.
personaje1 = Image.createEmpty(32,32)
personaje1:clear(blanco)

--Creamos el bloque.
bloque1 = Image.createEmpty(32,32)
bloque1:clear(verde)

--Array del personaje.
Personaje = { x = 30, y = 100 }

--Definicion de variables.
personajeAltura = 32
personajeAnchura = 32

--Array del bloque, con sus tres elementos.
Bloque = {}
Bloque[1] = { x = 100, y = 80, Altura = bloque1:height(), Anchura = bloque1:width() }
Bloque[2] = { x = 300, y = 30, Altura = bloque1:height(), Anchura = bloque1:width() }
Bloque[3] = { x = 200, y = 58, Altura = bloque1:height(), Anchura = bloque1:width() }

--Funcion para mover el personaje por la pantalla.
function moverPersonaje()
pad = Controls.read()
if pad:left() then
Personaje.x = Personaje.x - 1
end
if pad:right() then
Personaje.x = Personaje.x + 1
end
if pad:up() then
Personaje.y = Personaje.y - 1
end
if pad:down() then
Personaje.y = Personaje.y + 1
end
end

--Funcion que comprueba si se produce alguna colisión.
function comprobarColision(object)
if (Personaje.x + personajeAnchura > object.x) and (Personaje.x < object.x + object.Anchura) and (Personaje.y + personajeAltura > object.y) and (Personaje.y < object.y + object.Altura) then
Personaje.x = oldx
Personaje.y = oldy
end
end

--Bucle principal.
while true do

-- Variables que almacenan la posicion del personaje al comienzo de cada bucle.
oldx = Personaje.x
oldy = Personaje.y
screen:clear()

moverPersonaje()

--Comprobamos si hay colisión para cada bloque.
comprobarColision(Bloque[1])
comprobarColision(Bloque[2])
comprobarColision(Bloque[3])

--Muestra el personaje en pantalla.
screen:blit(Personaje.x,Personaje.y,personaje1)

--Muestra los tres bloques en pantalla.
for a = 1,3 do
screen:blit(Bloque[a].x,Bloque[a].y,bloque1)
end

screen.waitVblankStart()
screen.flip()
end

Imagen de lostdajt

Este es DEV o HM

Y podrìas poner el code con la opcion de codigo porfa.

Imagen de Dioni0396

vamos a ver

es HM ya que no es mi codigo es de un tuto, te lo pongo mejor ahora mismo:

--Colisiones. 05/06/06
 
--Creamos los Colores.
verde=Color.new(0,255,0)
blanco = Color.new(255,255,255)
 
--Creamos el personaje.
personaje1 = Image.createEmpty(32,32)
personaje1:clear(blanco)
 
--Creamos el bloque.
bloque1 = Image.createEmpty(32,32)
bloque1:clear(verde)
 
--Array del personaje.
Personaje = { x = 30, y = 100 }
 
--Definicion de variables.
personajeAltura = 32
personajeAnchura = 32
 
--Array del bloque, con sus tres elementos.
Bloque = {}
Bloque[1] = { x = 100, y = 80, Altura = bloque1:height(), Anchura = bloque1:width() }
Bloque[2] = { x = 300, y = 30, Altura = bloque1:height(), Anchura = bloque1:width() }
Bloque[3] = { x = 200, y = 58, Altura = bloque1:height(), Anchura = bloque1:width() }
 
--Funcion para mover el personaje por la pantalla.
function moverPersonaje()
pad = Controls.read()
if pad:left() then
Personaje.x = Personaje.x - 1
end
if pad:right() then
Personaje.x = Personaje.x + 1
end
if pad:up() then
Personaje.y = Personaje.y - 1
end
if pad:down() then
Personaje.y = Personaje.y + 1
end
end
 
--Funcion que comprueba si se produce alguna colisión.
function comprobarColision(object)
if (Personaje.x + personajeAnchura > object.x) and (Personaje.x < object.x + object.Anchura) and (Personaje.y + personajeAltura > object.y) and (Personaje.y < object.y + object.Altura) then
Personaje.x = oldx
Personaje.y = oldy
end
end
 
--Bucle principal.
while true do
 
-- Variables que almacenan la posicion del personaje al comienzo de cada bucle.
oldx = Personaje.x
oldy = Personaje.y
screen:clear()
 
moverPersonaje()
 
--Comprobamos si hay colisión para cada bloque.
comprobarColision(Bloque[1])
comprobarColision(Bloque[2])
comprobarColision(Bloque[3])
 
--Muestra el personaje en pantalla.
screen:blit(Personaje.x,Personaje.y,personaje1)
 
--Muestra los tres bloques en pantalla.
for a = 1,3 do
screen:blit(Bloque[a].x,Bloque[a].y,bloque1)
end
 
screen.waitVblankStart()
screen.flip()
end

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.