Autor
|
Tema: Evitar que dos elementos se intercalen (Leído 3,394 veces)
|
EFEX
Desconectado
Mensajes: 1.171
"Dinero Facil"
|
Tengo dos elementos que no quiero que se intercalen uno arriba del otro, sino que queden uno al lado del otro, incluso si uno de los elementos se mueve con el teclado.
Es como un juego 2d, el jugador se mueve por el mundo pero ciertas partes no son accesibles como casas, rios, rocas, etc. Como lo logran con js? como lo harian ustedes? existe alguna libreria?..
|
|
|
En línea
|
|
|
|
Gh057
Desconectado
Mensajes: 1.190
|
hola EFEX, tengo entendido que lo que quieres hacer puedes implementarlo en html5 con canvas.
|
|
|
En línea
|
4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...
|
|
|
EFEX
Desconectado
Mensajes: 1.171
"Dinero Facil"
|
A lo que voy es entender que eso de hay esa una roca, eso de hay es un npc, un rio, etc.. con la interaccion del usuario(teclado), si se utiliza un algoritmo, si existen librerias.. tratar de entender como lo resuelven los juegos..
|
|
|
En línea
|
|
|
|
_Enko
|
Este es uno de los mejores tutoriales que encontré de tile based games. Es en actionscript, pero la lógica está muy bien explicada. En su tiempo no he tenido problemas escribir algo similar en C y Delphi. http://www.tonypa.pri.ee/tbw/start.htmlSaludos.
|
|
|
En línea
|
|
|
|
|
Gh057
Desconectado
Mensajes: 1.190
|
hola EFEX perdón por la demora, recién entro a ver los temas... exactamente, lo definen como colisiones, hay toda una muy buena explicación de ella para iniciarse sobre canvas en 2d y javascript, (si mal no recuerdo, era en la sección developer referido a html5 de microsoft) si lo encuentro te lo hago llegar en breve! (ahí te envié algo en canvas y js) (agrego) igualmente, según tu consulta, el método de colisión entre réctangulos es el que te valdría...
algo burdo y rápido; tienes dos elementos rectangulares, con puntos (a,b,c) y (x,y,z) (omitimos el cuarto punto... o sea puedes representarlos con los vectores ab, ac y xy, xz ,respectivamente) y comparas primero en el eje X...
si se solapa el primer extremo (a<x<b) o si en cambio es el segundo.. (a<y<b)
luego, si es en el eje Y... combinas ambas condiciones y tienes algo como
((a < x < b) || (a < y < b) && ( a < x < c) || (a < z < c)) ? bang : nothing;
ahora que lo miro... creo que se entiende mejor dibujandolo...! :/ saludos.
|
|
« Última modificación: 30 Diciembre 2014, 05:56 am por Gh057 »
|
En línea
|
4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...
|
|
|
|
|