Anuncios Google

como crear disparo en lua???

nesecito una ayuda de como hacer un disparo en lua con un sprite ya k en el tutorial de disparo multiple me da una variedad de errores en vez de disparar todos los tiros k kiera dispara 5 veces y luego ya deja de disparar y la coordenadas se quedan estatica por ejemplo el personaje k muevo con la tabla

Posicion[1] = {x = 50,y = 100}

screen:blit(posicion[1].x,posicion[1].y,imagen)

--Array para las balas.
infoBala = {}
for a = 1,5 do
   infoBala[a] = { imagen = bala , disparando = false, direccion = "derecha", x = posicion[1].x + 32, y = posicion[1].y + 16 }

end

por favor digame como se pone el codigo

un salu2


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 trom_us

pues

en fin podrias usar lo que la base de lo que vendria siendo en de eso ya que la funcion que corresponde precisamente y en efecto asi podras usarlo sin probleamas, me explico?

Imagen de pipagerardo

Muy bien.

Así es como se hace un disparo, si miras el ejemplo de juego programado en Lua que Unicorn me cólgo en portada verás como defino cinco balas para cada jugador y cinco explosiones...

http://psp.scenebeta.com/system/files/JUEGO-ADHOC.rar

 Aunque luego les quite los timer porque me causaban problemillas en el modo Adhoc aunque eso es otra historia. Lo que hice fué que hasta que no termina la animación de la explosion de la bala no puedes volver a dispararla y así es parecido pero sin usar timers.

Imagen de yoan03

Gracias

los estoy viendo ahora mismo a ver si aprendo algo.

Imagen de yoan03

ya pude crear

el disparo aunque tarde dos horas pensando como hacerlo solo tenia k aprender un poco de los timers puse esto en mi codigo

puededisparar = true
contador = Timer.new()
LaserTabla = {}
LaserTabla[1] = {x = posicion[1].x,y = posicion[1].y}

Dentro del bucle while puse lo siguiente:

Recargando = contadorDisparo:time()
if pad:cross() and oldpad:cross() ~= pad:cross() and puededisparar == true then
LaserTabla[1].x = posicion[1].x
LaserTabla[1].y = posicion[1].y
puededisparar = false
contadorDisparo:start()
end
if Recargando < 700 then
screen:blit(LaserTabla[1].x + 16,LaserTabla[1].y + 9,Laser)
LaserTabla[1].x = LaserTabla[1].x + 15
end
if Recargando > 700 and puededisparar == false then
puededisparar = true
contadorDisparo:reset()
contadorDisparo:stop()
end

Me salio de Maravilla aunque Solo crea un disparo pero mas adelante pondre que dispare multiple disparo.

Gracias de Antemano

 

Imagen de trom_us

mira

bueno, si estas utilizando el ide, puedes poner un control de imagen para el arma, y yo utilizaria un shape para la bala, aunque tambien te serviria un control de imagen,

te recomiendo lo hagas maximizado o a pantalla completa..

 

ya viste que los controles del ide estan a la derecha...siendo asi...

 

seria algo como}

 

mover ese shape...

 

ejemplo

 

shape1.Left =inicio

luego un bucle

como

un for que vaya de incio a fin ya sea calculado o fijo

es decir la bala va asta 100 puntos, y cada 10 cae uno aabajo...no arriba obvio

 

seria 

si shape1.left diferencia de incio es de 10 en 10

entonces shape1.top a menos 1

y va callendo el disparo...es decir entre mas lejos menos le atinas

 

 

Imagen de P22

Creo que si solo te dispara

Creo que si solo te dispara cinco veces es por que tienes que poner que que cuando llege al disparo 5 haz que cuando llegue al 6 sea 1 y así no para.

SaludosWink


¡Iníciate en Linux fácilmente! Sólo entra aquí y comprueba que distribución se adapta mejor a tí.

Mi review: iPod Touch 4G

Imagen de yoan03

me puse

a ver lo k pasaba puse screen:print(10,20,"disparo : "..tostring(infoBala[1].disparando,Azul) y es k la bala 1 al 5 siguen afuera de la pantalla me di cuenta cuando puse screen:print(10,30,"posicion :"..tostring(infoBala[1].x),Azul) me muestra la posicion de la bala 1 pero cuando sale de la pantalla se para en 480 y cada vez k le toca a la bala 1 o a la demas avanza 10 pinxeles y lo de punto de salida ni idea creo k es por la imagen animada o por k ta fuera del bucle while.

nesecito una ayudita para esto

Imagen de P22

Una pregunta, ¿qué quiere

Una pregunta, ¿qué quiere decir tostring?

Saludos 

Imagen de yoan03

tostring

convierte la informacion de la tabla en texto si no la pones te da un error.

Imagen de P22

Gracias

Gracias

Imagen de trom_us

verda

eso mismo dije yo, o no...jeje

Imagen de trom_us

o que la cancino

o que la cancion con tigo....esta es una funcion que permite que los camando o datos introducidos en la pocicion de la funcion que le corresponde haga referencai a varias operaciones pasandolas por identificadores que permiten que el valor dado en este caso un a sifra no alfanumerica sino digitral de digitos correspondientes a los decimales, estos sean procesados y sean utilizados por dicha funcion para que en conjunto con las partes que las acopla sean interpretados por asi decir como caracteres alfanumericos y no aya errores al combinar lo contrario con otros. esta claramente especificado en el manual de dicha funcion de lua. date una vuelva por ahi. gracias.

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.