Anuncios Google

De nuevo los sprites (LuaDEV)

¿ Como puedo hacer para que mi personaje colisione contra una imagen y no pueda pasar ?

PD: tengo una idea en mente pero pregunto para aclarar


-> Creaciones <-

Os invito a probar el lol xD

http://signup.leagueoflegends.com/?ref=50814a20894be236637679

 


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 -chus-

sencillo

es algo muy sencillo, no daré code así que explico de una manera sencilla, cuando tu personaje haga colisión entonces la X & Y, se quede en ese lugar de choque, así de simple, solo es cuestión de pensar un poco y ya, es lo mismo que si se hiciera con el tamaño de la pantalla de psp (480 x 272 px) si personaje es mayor que 480 entonces se quede en 480, asi de simple, 2 ejemplos sencillos :P, ya solo aplica la idea a tu code y listo, nada de dificil


                                          Mis Homebrew´s

 http://psp.scenebeta.com/noticia/memorama-games#comment-803033


Imagen de barney77

Hahahahaha tú firma

Hahahahaha tú firma xDDD...

No pues si bien dije eso, pero al parecer ya lo malinterpretaron :b.

Imagen de sisinio

.

llevo comiendome la cabeza un rato a base de limites y colisiones y no he sacado practicamente nada en claro salvo un par de errores, vereis lo unico que quiero esque mi personaje no pase por encima de los arboles, quiero que el arbol sea solido xD. Esque he pasado de usar el game maker a usar sprites en programacion y es dificil :$


-> Creaciones <-

Os invito a probar el lol xD

http://signup.leagueoflegends.com/?ref=50814a20894be236637679

 

Pero si es muy sencillo...

Pero si es muy sencillo... sólo tienes que revisar que las coordenadas de tu personaje no se empalmen con las de los árboles, a saber:

  • Que personaje_x + ancho_personaje sea menor que arbol_x
  • Que personaje_x sea mayor que arbol_x + ancho_arbol
  • Que personaje_y sea mayor que arbol_y + alto_arbol
  • Que personaje_y + alto_personaje sea menor que arbol_y

Si las 4 condiciones se cumplen, no hay colisión. Si no, pues entonces hay colisión y el personaje no se debería mover de donde está (primero se modifican las coordenadas del personaje. Si no hay colisión, se blitea. Si hay colisión, se regresa a la posición anterior y se blitea)

Notas

  • Adivinarás que personaje_x, personaje_y son las coordenadas de bliteo (lo mismo para el árbol). No sé como las manejes, así que las dejo así como guía.
  • el ancho y alto de las imágenes (sprites o lo que sean) los puedes poner numéricamente, u obtenerlo con las funciones image.width e image.height (ver documentación)
Imagen de sisinio

.

Gracias Rober pruebo y te comento =)

EDITADO: casi lo tengo pero no me sale del todo digamos que cuando se acerca a esas coordenadas la animacion no se mueve xD

if x<215 and y<36 then
    anim= 0
    status = "stay"
    end


Editado: Crear hilos y comentarios duplicados incumple las Normas de la Comunidad, si necesita cambiar su comentario puede usar la opción de Editar. Antes de volver a postear por favor revise las Normas.| Rober Galarga


-> Creaciones <-

Os invito a probar el lol xD

http://signup.leagueoflegends.com/?ref=50814a20894be236637679

 

Pues... esa es la idea, no?

Pues... esa es la idea, no? Que no se mueva xD

Imagen de sisinio

.

ya pero yo quiero que ocurra justo en esas coordenadas no cuando este cerca xD, si pongo "=" me salta error xD que hago??

PD: yo queria poner que si x = numero and y = numero then

se pare la animacion

end


-> Creaciones <-

Os invito a probar el lol xD

http://signup.leagueoflegends.com/?ref=50814a20894be236637679

 

Imagen de barney77

No estas usando bien los

No estas usando bien los operadores logicos, tienen que ser dos, así:

if x==numero and y==numero then condicion() end

Pues... con las coordenadas

Pues... con las coordenadas de bliteo, ni más ni menos. Por ejemplo, digamos que tienes a tu personaje y a su derecha hay una pared. Cosa de programar, que si se presiona la flecha derecha y la posición de tu personaje es MENOR que la posición de la pared menos el ancho del personaje, se mueva el personaje.

Parece confuso, pero creo que lo entenderás (y si no, preguntas de nuevo xD)

Imagen de Dioni0396

ejemplo

practico:

Pared = { }
Pared.x = 170
Jugador = { }
Jugador.x = 100
Jugador.c = image.create(32,32)
function Colision()
if controls.right() then
Jugador.x = Jugador.x + 3
end
if controls.left() then
Jugador.x = Jugador.x - 3
end
if (Jugador.x - 32) >= Pared.x then
Jugador.x = Jugador.x - 32
end
end
while true do
controls.read()
Colision()
--bliteamos lo que queramos y si no a ciegas :P
screen.flip()
end

Imagen de sisinio

.

Y no existe una funcion que diga que si mi sprite llega a una coordenada (x.y) no pueda pasar de ahí (un muro invisible xD) ??

Imagen de barney77

Limites?.. Checa el tutorial

Limites?..

Checa el tutorial de limites de Chimecho.

Imagen de cam-maker

hazla tu mismo

hazla tu mismo ;)

Imagen de sisinio

.

lo intentare... ;)

Imagen de NauTiluS1

Si mi personaje llega a una

Si mi personaje llega a una posición cerca del objeto se le resta un pixel y ya no pasara.... Yo mismo me he respondido mi pregunta anterior xD
Dioni ya te lo explico.


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 sisinio

vaya lio xD voy a leer mejor

vaya lio xD voy a leer mejor el tuto de chimeco y a ver si lo soluciono

salu2

Imagen de Dioni0396

mira lo de arriba

mira lo de arriba

Imagen de Dioni0396

Leete la parte 10

del tuto de chimecho, hay lo explica

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.