Unas dudas Lua Dev[COMO SUBIRSE EN PLATAFORMAS][CASI SOLUCIONADO]

Nah, olvidenlo, no me creo capas..

CErrar el post, por favor.

Gracias a todos.


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 zerozelta

ya termine la libreria aqui

ya termine la libreria aqui esta el post http://psp.scenebeta.com/node/77347

leanlo completo y usen bien mi libreria xD

espero les sirva

saludos


Imagen de barney77

De todos modos gracias.. Ya

De todos modos gracias..

Ya no, creo que es mas de lo que esparaba, lo hare cuando sea mejor..

Ok?..

Gracias =3.

Imagen de NauTiluS1

Teoría facil

variable = personaje.y

Pues has una colision y que si el personaje se suba a ella pase eso: personaje.y = variable y ya eso es todo :E y asi se puede caer y todo

Pruebalo y dime si funciona

 


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

Ya lo habia echo, solo que no

Ya lo habia echo, solo que no caia..

 

Imagen de zerozelta

Te estoi haciendo una

Te estoi haciendo una libreria con un ejemplo para que puedas hacer esto mas facilmente ;)

solo esperame unos 20 minutos mas, ya casi esta lista


Imagen de barney77

:o GRACIAS,

:o GRACIAS,

Imagen de zerozelta

xD denada, solo que tendras

xD denada, solo que tendras que esperar un poco mas :S aún no acabo la libreria y tengo que irme, te la envio mañana vale?

pero te la envio ya detallada ;)

saludos


Imagen de barney77

No, ya no, siento que no lo

No, ya no, siento que no lo lograré, lo hare cuando se mejor.

LO SIENTO. :=)

Imagen de NauTiluS1

Yo tambíen la quiero a ver xD

Yo tambíen la quiero a ver xD

Imagen de sting18

Nau si en verdad quieres

Nau si en verdad quieres aprender no uses librerias de ningunas solo revisa los codigos y ve que tan funcional es y de hay sacas tu propia teoria saludos.


Imagen de NauTiluS1

Tú y chus siempre me

Tú y chus siempre me conmueven xD, yo ya se hacerlo solo quiero ver sí su forma es más funcional.Saludos

Imagen de Nevado0

" yo ya se hacerlo solo

" yo ya se hacerlo solo quiero ver sí su forma es más funcional", LOL ? si ayer me preguntaste como se hace !

Imagen de NauTiluS1

Tambíen recuerdas que te dije

Tambíen recuerdas que te dije "Yo se hacerlo pero me da una patada hacia arriba" =_=

Imagen de sting18

Te conmovemos xD jajajaja te

Te conmovemos xD jajajaja te pasas uno tratando de ayudar y con lo que sales xD bueno suerte en todo lo que agan saludos ;)

Imagen de NauTiluS1

La verdad me equivoce de

La verdad me equivoce de palabra,wtf?, jajajaja olvidalo jajajaja sustituye esa palabra por una menos --gay-- xD

Imagen de sting18

Ok.

Hay dos formas(bueno muchas pero yo uso estas 2)

1:

Ok me imagino que al ya tener el salto tienes subir y bajar la imagen de tu jugador, ahora, no se como tengas lo del salto pero lo mejor es tener siempre la gravedad activada y tener la colicion del piso completa y desactivarla a la hora del salto y comensar el salto dependiendo de la X de tu jugador y no tener un limite para que baje si no tener un % de altura del salto y que baje, a la hora de bajar lo unico que tienes que hacer es poner la colicion conforme la gravedad activada y el ancho y largo de tu plataforma y hay activar la colicion si dejar de quitar la gravedad ya que la colicion te ara que no baje y si sales de la colicion ara que baje asta el suelo y teniendo el salto por % y no por limite de altura podras volver a saltar arriba de la plataforma he ir asta el piso si no colicionas con la plataforma.

2:

Otra forma es mediante manejos de sprites que los sprites agan todo el trabajo usando el cambio de esprites dependiendo a arriba abajo y choke con la plataforma, desactivando gravedad a la hora de colision y teniendo todo perfectamente sincronizado pero no saliendo de la pantalla 480.X si no moviendo todo lo demas a la hora de caminar , esta forma suele fallar un poco pero es mas sencilla de hacer espero y entiendas suerte triple7.

NOTA:esto no sera como lo otro que as hecho en poco tiempo, tardaras para entender un buen rato y para hacer algo funcional mucha mas tiempo, todo esto depende de el esenario no agas el esenario y arriba de este quieras hacer todo si no que as solo el fondo y agregale los objetos de tu esenario con imagenes y usas cordenadas de X he Y de los objetos para hacer las comprobaciones.

NOTA IMPORTANTE: NO ams tenia rato que no escribia tanto en un comentario xD


Imagen de barney77

Ya lo logre xD...Mira y te

Ya lo logre xD...

Mira y te explico como lo hise..

mell={img=image.load("Imagenes/smell.png"),x=420,y=221,g=221,vl=12,status="piso",h=50,w=50}
barra={img=image.load("Imagenes/barra.png"),x=265,y=190,h=100,w=100}
barra2={img=image.load("Imagenes/barra.png"),x=165,y=140}
barra3={img=image.load("Imagenes/barra.png"),x=35,y=100}
local fondo=image.load("Imagenes/fondo.png")
 
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
 
function salto()
if controls.right() then smell.x=smell.x+10 elseif controls.left() then smell.x=smell.x-10 end
if controls.cross() and smell.status=="piso" then smell.status="aire" end
if smell.status=="aire" then smell.vl=smell.vl-0.5 smell.g=smell.g-smell.vl end
if smell.vl<0 then smell.status="cayendo" end
if smell.g<221 and smell.status=="cayendo" then smell.vl=smell.vl+1 smell.g=smell.g+smell.vl end
if smell.g==221 then smell.vl=12 smell.status="piso" end
if smell.g>221 then smell.g=221 end
smell.y=smell.g
image.blit(smell.x,smell.y,smell.img)
end
 
while true do
	controls.read()
		fondo:blit(0,0)
		barra.img:blit(barra.x,barra.y)
		barra2.img:blit(barra2.x,barra2.y)
		barra3.img:blit(barra3.x,barra3.y)
		salto()
		if smell.status=="cayendo" and colision(smell,barra) then smell.y=190 smell.status="enbarra" end
		if smell.x+smell.w>=480 then smell.x=1 elseif smell.x<=0 then smell.x=480-smell.w end
		screen.flip()
		end

Te explico, si esta cayendo y colisiona con la barra toma la cordenada Y=190(cordenada de la barra), lo que me falta es poner limites..

Me refiero a que si sale de la barra se caiga..

Ahorita veo como le hago para eso S:.

EDITO: MMM tu sabrias como ponerle los limites?..

Ya que veo varios errores, aparte de el de los limites, es que no salta(estando en la barra ) D:

Imagen de sting18

Eso es con la funcion

Eso es con la funcion gravedad personaje.y = personaje.y +20 o la velocidad que quieres baje recuerda que te dije que simpre tenerla activada sera lo mejor para todo este tipo de cosas.


Imagen de barney77

Cual eso bro?..  

Cual eso bro?..

 

Imagen de sting18

pues no la tienes xD. Lo

pues no la tienes xD. Lo mejor sera hacerla y poner la colicion de piso sencilla o pon una imagen de piso y asi pones todas las coliciones usando bucles for dependiendo de los anchos de las plataformas.


Imagen de barney77

MM.mejor mira como es mi

MM.

mejor mira como es mi salto:

function salto()
if controls.right() then smell.x=smell.x+10 elseif controls.left() then smell.x=smell.x-10 end
if controls.cross() and smell.status=="piso" then smell.status="aire" end
if smell.status=="aire" then smell.vl=smell.vl-0.5 smell.g=smell.g-smell.vl end
if smell.vl<0 then smell.status="cayendo" end
if smell.g<221 and smell.status=="cayendo" then smell.vl=smell.vl+1 smell.g=smell.g+smell.vl end
if smell.g==221 then smell.vl=12 smell.status="piso" end
if smell.g>221 then smell.g=221 end
smell.y=smell.g
image.blit(smell.x,smell.y,smell.img)
end
 

Que tengo que hacer para poder saltar en la barra y caerme si me salgo de ella..

Y como está eso de la colision de piso S:?

EDITO: Ya logre que caiga, solo que solo cae cuando se salta :(.

 

EDITO2: Mejor dejalo asi,  lo haré despues, ahora me concentrare en mi otra idea, no quiero perder tiempo.

Imagen de sting18

ok mira mi salto

function brincoD()
if arribaD == true then Link[1].y = Link[1].y -2.5 end
saltoD = saltoD +1
if saltoD >= 0 and saltoD < 30 then sprite = saltoD1
elseif saltoD >= 30 and saltoD < 60 then arribaD = false piso = true sprite = saltoD2
elseif saltoD >= 60 and saltoD < 67 then sprite = saltoD3 
elseif saltoD >= 67 then saltoD = 0 brinkD = false estD = true end
end
 
y la funcion de las bases.
 
function base1()
for b=1,4 do
if Link[1].y + 77 >= objet1[b].y and Link[1].x <= objet1[b].x +27 and sprite == saltoD2 and
Link[1].x + 60 >= objet1[b].x then
piso = false abajoD = false saltoD = 0 brinkD = false estD = true
Link[1].y = objet1[b].y - 73
elseif Link[1].y + 77 >= objet1[b].y and Link[1].x <= objet1[b].x +27 and sprite == saltoI2 and
Link[1].x + 60 >= objet1[b].x then
piso = false abajoI = false saltoI = 0 brinkI = false estI = true 
Link[1].y = objet1[b].y - 73
end end
----____mantener piso en objetos____----
if Link[1].x+60 < objet1[1].x and brinkD == false and brinkI == false and
movimiento == true then piso = true end
if Link[1].x > objet1[1].x+objet1[1].ancho and Link[1].x+60 < tubo[1].x and brinkD == false and brinkI == false
and movimiento == true then piso = true end
if Link[1].x > tubo[1].x -10 and Link[1].x+60 < objet1[2].x and brinkD == false and brinkI == false and
movimiento == true then piso = true end
if Link[1].x > objet1[2].x+objet1[2].ancho and Link[1].x+60 < tubo[2].x and brinkD == false and brinkI == false and
movimiento == true then piso = true end
if Link[1].x > tubo[2].x -10 and Link[1].x+60 < objet1[3].x and brinkD == false and brinkI == false and
movimiento == true then piso = true end
if Link[1].x > objet1[3].x+objet1[3].ancho and Link[1].x+60 < objet1[4].x and brinkD == false and brinkI == false
and movimiento == true then piso = true end
if Link[1].x > objet1[4].x+objet1[4].ancho and brinkD == false and brinkI == false
and movimiento == true then piso = true end
end

 

sorry no tengo mucho tiempo para explicarte xD pero no uso strings uso boleanas tu as como tu quieras es solo una muestra saludos y suerte triple7.


Imagen de zerozelta

aqui te va la respuesta

aqui te va la respuesta hermano,

No se como tengas tu el codigo, pero voy a suponer que el objeto que quieres que se quede en la plataforma se llamara personaje1, y que personaje1 tiene las siguientes variables:

x (posicion x del personaje)
y (posicion y del personaje)
w (ancho del personaje)
h (alto del personaje)
imagen (grafico del personaje)
saltando (Este es un boolean que sera true si el personaje esta subiendo, cuando deje de subir y comienze a bajar, este será false)

tambien supondre que la plataforma se llamará plataforma y que sus variables serán:

x (posicion x de la plataforma)
y (posision y de la plataforma)
w (ancho)
h (largo)
imagen (imagen de la plataforma)

ahora ya viene lo complicado, el chiste de esto es hacer que si el personaje esta callendo (osea que "personaje.saltando" sea false) y cae en una plataforma se detenga la caida del personaje (Evitando que "y" siga siendo menor, pero perimitiendo desplasarse por el sector "x")

desarrollaré una pequeña prueva de concepto y lo subiré como tutorial para que lo puedan ver quienes lo necesiten, solo esperenme unos momentos....

 

 


Imagen de barney77

No entendi muy bien, peor

No entendi muy bien, peor espero el tutorial :)

EDITO: Ya lei bien, ya lo pille..

Pero como se que está callendo en una plataforma?.

Con colisiones?

Imagen de NauTiluS1

Yo,nevado y tu tenemos la

Yo,nevado y tu tenemos la misma duda xD

Imagen de -chus-

nevado0

a nevado0 le di una explicación pero no se si le funciono XD

Imagen de barney77

xD, le voy a mandar un MP a

xD, le voy a mandar un MP a stingo, creo que el sabe :).

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.