Autor
|
Tema: Colisión entre objetos JS (Leído 5,137 veces)
|
SrTrp
Desconectado
Mensajes: 327
Script/C#
|
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 am por SrTrp »
|
En línea
|
|
|
|
engel lex
|
esto se llama "colision de elementos", usado sobre todo en juegos puedes hacerlo con el bounding rect de el elemento (el rectangulo) un ejemplo function detectar_colision(el1, el2) { return !(el1.right < el2.left || el1.left > el2.right || el1.bottom < el2.top || el1.top > el2.bottom) } var elemento1 = document.getElementById("elemento1").getBoundingClientRect(); var elemento2 = document.getElementById("elemento2").getBoundingClientRect(); if( detectar_colision(elemento1, elemento2)){ hacer_algo() }
|
|
|
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
Mensajes: 327
Script/C#
|
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 egenerados[i].x=random(canvas.width/40)*40;
|
|
|
En línea
|
|
|
|
engel lex
|
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
Mensajes: 327
Script/C#
|
Con razon igual intentare solucionarlo pero si pudieses brindarme un poco de ayuda yo lo complementaria.
|
|
|
En línea
|
|
|
|
engel lex
|
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
Mensajes: 327
Script/C#
|
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 egenerados [i].x=random(canvas.width/40)*40;//10)*10; egenerados [i].y=0; egenerados [i].evida=2; egenerados .push(new Rectangle(random(canvas.width/40)*40,0,40,40,0,2));
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Colision de 2 image [Solucionado]
Programación Visual Basic
|
skapunky
|
8
|
7,792
|
4 Septiembre 2008, 14:52 pm
por cobein
|
|
|
Dilema de relación entre categorías y objetos
Bases de Datos
|
WHK
|
2
|
3,089
|
8 Agosto 2011, 03:03 am
por Nakp
|
|
|
Herramienta gratuita de préstamo de objetos entre particulares
Noticias
|
wolfbcn
|
0
|
1,678
|
21 Enero 2013, 21:45 pm
por wolfbcn
|
|
|
Comprobar colisión de 2 cuadrados en SDL
Programación C/C++
|
Stereo
|
7
|
4,657
|
24 Febrero 2013, 15:32 pm
por Anastacio
|
|
|
[Pregunta] Diferencias entre PHP Orientado a objetos y procedimental
« 1 2 »
PHP
|
danny920825
|
10
|
7,147
|
9 Enero 2017, 21:06 pm
por danny920825
|
|