elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Colisión entre objetos JS
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Colisión entre objetos JS  (Leído 789 veces)
SrTrp

Desconectado Desconectado

Mensajes: 95


Script/C#


Ver Perfil
Colisión entre objetos JS
« en: 11 Julio 2017, 04:15 »

Tengo una pregunta como evitar que se encimen objetos en JS, bueno tengo un generador que cada cierto tiempo regenera un recuadro aleatoria mente con la función random pero quisiera evitar que se encimen porque a veces se pone uno sobre otro.


« Última modificación: 14 Julio 2017, 02:58 por SrTrp » En línea

Apprentice ~  PHP - JS
Checked ~ VB.NET - C# - C++
engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 12.535



Ver Perfil
Re: Como evito que se encimen objetos en JS
« Respuesta #1 en: 11 Julio 2017, 04:33 »

esto se llama "colision de elementos", usado sobre todo en juegos

puedes hacerlo con el bounding rect de el elemento (el rectangulo) un ejemplo

Código
  1.  
  2. function detectar_colision(el1, el2) {
  3.    return !(el1.right < el2.left ||
  4.                el1.left > el2.right ||
  5.                el1.bottom < el2.top ||
  6.                el1.top > el2.bottom)
  7. }
  8.  
  9. var elemento1 = document.getElementById("elemento1").getBoundingClientRect();
  10. var elemento2 = document.getElementById("elemento2").getBoundingClientRect();
  11.  
  12.  
  13.  
  14. if( detectar_colision(elemento1, elemento2)){
  15.  
  16.  hacer_algo()
  17. }
  18.  




En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
SrTrp

Desconectado Desconectado

Mensajes: 95


Script/C#


Ver Perfil
Re: Como evito que se encimen objetos en JS
« Respuesta #2 en: 14 Julio 2017, 01:02 »

Ya eh intentado carias formas con tu función que me brindaste y funciona me detecta cuando se juntan 2 objetos, pero de una forma y otra intente hacer que no aparecieran los que se juntaran, pero dejan de aparecer todos y no me genera nada pero ya encontré el error y ahora estoy intentando solucionarlo pero voy a las matemáticas xd intentare hacer los calculos igualmente gracias
Código
  1. egenerados[i].x=random(canvas.width/40)*40;
En línea

Apprentice ~  PHP - JS
Checked ~ VB.NET - C# - C++
engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 12.535



Ver Perfil
Re: Como evito que se encimen objetos en JS
« Respuesta #3 en: 14 Julio 2017, 01:03 »

No dijiste que era canvas este método es por ejemplo para elementos div span y esos
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
SrTrp

Desconectado Desconectado

Mensajes: 95


Script/C#


Ver Perfil
Re: Como evito que se encimen objetos en JS
« Respuesta #4 en: 14 Julio 2017, 01:22 »

Con razon igual intentare solucionarlo pero si pudieses brindarme un poco de ayuda yo lo complementaria.
En línea

Apprentice ~  PHP - JS
Checked ~ VB.NET - C# - C++
engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 12.535



Ver Perfil
Re: Como evito que se encimen objetos en JS
« Respuesta #5 en: 14 Julio 2017, 01:44 »

Primero aclara cuales son tus objetos, porque así no podemos saber cómo son o como hacer que interactuen
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
SrTrp

Desconectado Desconectado

Mensajes: 95


Script/C#


Ver Perfil
Re: Como evito que se encimen objetos en JS
« Respuesta #6 en: 14 Julio 2017, 02:29 »

Mi objeto es una variable llamada egenerados que genera enemigos cada cierto tiempo o acción por ejemplo si elimino a un enemigo o pasan 5 segundos se generan aleatoriamente de posiciones horizontal
Código
  1. egenerados [i].x=random(canvas.width/40)*40;//10)*10;
  2.                            egenerados [i].y=0;
  3.                            egenerados [i].evida=2;
  4.                            egenerados .push(new Rectangle(random(canvas.width/40)*40,0,40,40,0,2));
En línea

Apprentice ~  PHP - JS
Checked ~ VB.NET - C# - C++
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Colisión MD5
Criptografía
Enriquez 4 5,292 Último mensaje 8 Enero 2006, 22:35
por Unravel
Problema declarando objetos dentro de objetos, ligados entre sí
Programación C/C++
jscupc 9 4,065 Último mensaje 22 Marzo 2010, 02:20
por Littlehorse
Dilema de relación entre categorías y objetos
Bases de Datos
WHK 2 1,771 Último mensaje 8 Agosto 2011, 03:03
por Nakp
Herramienta gratuita de préstamo de objetos entre particulares
Noticias
wolfbcn 0 670 Último mensaje 21 Enero 2013, 21:45
por wolfbcn
[Pregunta] Diferencias entre PHP Orientado a objetos y procedimental « 1 2 »
PHP
danny920825 10 962 Último mensaje 9 Enero 2017, 21:06
por danny920825
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines