He estado experimentando el lienzo HTML5 mediante la codificación de la aplicación básica de mapas mentales. He intentado averiguar si hay alguna API de JavaScript utilizada para gestionar objetos en el lienzo, como la detección de colisiones entre imágenes o formas. Creo que no es una buena idea escribir la mía, ya que podría haber una buena API. Cualquier persona tiene pista o alguna información sobre esto. Te agradecería mucho.¿Alguien sabe si hay alguna API de detección de colisiones para HTML5 Canvas ...?
Respuesta
Últimamente he estado experimentando con esto yo mismo. Descubrí que Box2DJS es un gran motor de física newtoniano, si quieres probarlo. http://box2d-js.sourceforge.net/
Al principio es difícil entender el concepto, pero a medida que avanza se hace más fácil, y también viene con algunos buenos ejemplos. Box2D ha sido portado a muchos idiomas y la mayoría utiliza los mismos métodos, o muy similares, por lo que la documentación para cualquier puerto probablemente se adapte a sus necesidades.
Buena suerte :).
EDIT: He encontrado un enlace a esta documentación en el sitio indicado anteriormente: http://www.kyucon.com/doc/box2d/ (no podía hacerlo un hipervínculo debido a mi reputación me baja que limita a una por correo, yo soy un novato; P)
es para Box2DFlashAS3, pero afirman que "las API Box2DJS son completamente [la] mismos que los de Box2DFlashAS3"
EDIT: Ah, acabo de notar que buscabas detección de colisiones, no la física, mi mal. .. Quizás Box2D todavía podría funcionar, pero quizás no. Lo siento por eso ...
de todos modos, gracias por su información, SumWon .. let yo checo esto ... :) – angos
Echa un vistazo a Cake. Es un plug-in de gráfico de escena para elementos de lienzo. No creo que haga la detección de colisión, pero quizás lo ayude a orientarse. Al menos puede adjuntar manejadores de eventos para enmascarar objetos con él.
Box2DWeb tiene detección de colisión usando Box2D.Dynamics.b2ContactListener.
Box2DWeb es un puerto del Box2DFlash 2.1a (por lo que tiene DebugDraw y ContactListeners). Hay un ejemplo a continuación que distribuye todos los eventos de contacto.
var contactListener = new Box2D.Dynamics.b2ContactListener();
contactListener.BeginContact = function(contact) {
console.log('something just hit something else');
// example to narrow the field
if(contact instanceof Box2D.Dynamics.Contacts.b2PolyAndCircleContact) {
// collision of circle to polygon
}
};
world.SetContactListener(contactListener);
Tome un vistazo a GameJS, que es un puerto de Javascript PyGame (conocida biblioteca de juegos para Python). Tiene un concepto de sprites y grupos de sprites y tiene una detección de colisión bastante avanzada.
- 1. Detección de colisiones poligonales 2D
- 2. Detección de colisión perfecta de píxeles en Canvas HTML5
- 3. Javascript Detección de colisiones
- 4. Canvas HTML5: detección de colisión de mouse y polígono
- 5. ¿Alguien puede explicar la detección de colisiones por píxel?
- 6. ¿Alguien sabe de una buena API de C# para Subversion?
- 7. ¿Alguien sabe de alguna colección de sprites?
- 8. Quadtree para detección de colisiones 2D
- 9. Javascript canvas detección de colisión
- 10. ¿Alguien sabe una buena API de sistema de archivos?
- 11. ¿Alguien sabe de un ejemplo de API de node.js linkedin?
- 12. HTML5 canvas hittesting
- 13. modelo de actor y detección de colisiones
- 14. ¿Alguien sabe si hay un componente de calificación de 5 estrellas en el iPhone?
- 15. Juego de fichas para HTML5 canvas
- 16. Mejor algoritmo para detección de colisiones eficiente entre objetos
- 17. Detección de colisiones triangulares en espacio 2D
- 18. HTML5 Canvas Vector Graphics?
- 19. Desarrollo de juegos para Android: detección de colisiones fallidas
- 20. ¿Hay alguna biblioteca de sistema de ventanas HTML5/Canvas (ala Qt, WxWidgets, etc.)?
- 21. Java Tile Game - Detección de colisiones
- 22. Dart HTML5 Canvas Library?
- 23. ¿Alguien sabe de alguna buena aplicación de código abierto Geodjango para cavar?
- 24. HTML5 Canvas Library para UI Widgets
- 25. ¿Alguien sabe si hay un IDE con soporte explícito para Ember.JS?
- 26. canvas HTML5 "restablecer" fillStyle
- 27. HTML5 Canvas: zoom
- 28. ¿Hay alguna forma de clonar elementos de canvas HTML5 con su contenido?
- 29. ¿Hay alguna manera de convertir archivos SVG a los comandos compatibles con Canvas de HTML5?
- 30. canvas de HTML5 marco avanzado
Tengo curiosidad acerca de su opinión sobre el primer hit de google para "detección de colisión js" :) –
Nickolay