He dibujado mosaicos en mi juego XNA y he cargado mi personaje. Mi personaje, sin embargo, no se mueve; el mapa sí, lo que le da la ilusión de movimiento. Ahora me pregunto cómo probar realmente contra ellos por colisión. Quiero decir, ¿a dónde va el código de colisión y cómo hago que todos los cuadros representen 'una gran cosa'?Colisión basada en mosaico en XNA
Respuesta
Hay un tutorial en pixel based collision detection en el club de XNA Creator. Tendrá que averiguar en qué objetos desea realizar la detección de colisión. Supongo que quieres que el personaje se mueva a través del fondo de mosaico, por lo que no querrás comprobar la colisión entre tu personaje y el fondo. En su lugar, debes hacer cualquier sprite de obstáculo y hacer detección de colisión en esos.
Eso lo sé, pero yo no sé cómo probar la colisión para esos obstáculos ya que son fichas colocadas por un bucle for. – DMan
No estoy seguro de seguir. No importa cómo dibujas tus texturas. Debe identificar las texturas para las que desea realizar la detección de colisión y aplicar la detección como se describe en el archivo .htm incluido en la muestra. –
Bueno, dado que dibujo cada textura muchas veces, ¿no tengo que aplicar la colisión más de una vez? Si es así, ¿dónde lo haría? Durante mi código de dibujo> – DMan
Puede echar un vistazo a Platformer Starter Kit, muestra cómo organizar mosaicos en un mapa y verificar colisiones.
Miré allí pero no pude encontrar el archivo de clase en el que se produjo la colisión ... – DMan
Es posible que tenga un vistazo a Nick Gravelyn's Tile Engine Tutorials, que pasa por todo el proceso de creación de un motor de mosaico. Hay un enlace here para ver todos los tutoriales en YouTube.
Los rectángulos tienen un método intersects. Si tu jugador está centrado y conoces las coordenadas, recorre los otros texture2ds y busca una intersección antes de desplazarte por el mapa.
- 1. ¿Cómo se usa la colisión basada en círculos con los métodos de colisión grupal en Pygame?
- 2. XNA C# 2D juego de plataformas
- 3. Reducir un Texture2D en XNA
- 4. colisión Puntos en GJK
- 5. XNA en el iPhone
- 6. red XNA en Windows
- 7. Incrustar XNA en WinForms
- 8. detección de colisión en cocos2d
- 9. ¿Cómo detectar colisión en three.js?
- 10. colisión del teléfono en "reanudar"
- 11. ¿Cómo detectar colisión en webgl?
- 12. detección de colisión y colisión de respuesta
- 13. XNA 3d motor de física
- 14. Generación 2D de mapas en mosaico
- 15. Notificacion de mosaico ancho en WP7?
- 16. Buenas referencias de respuesta de colisión 2D
- 17. ¿Cómo usar XNA en WPF?
- 18. Girar modelo 3D en XNA
- 19. Escala pantalla entera en XNA
- 20. XNA y Linq en Xbox360
- 21. Dibujar círculo simple en XNA
- 22. Simulando la gravedad en XNA
- 23. ¿Soporte para XNA en WP8?
- 24. Diseño de mosaico aleatorio
- 25. Colisión AABB deslizante: atascarse en los bordes
- 26. Detección de colisión en el juego Cocos2d?
- 27. Detectar colisión entre un objeto en movimiento y uno inmóvil
- 28. Detección de colisiones deslizando contra un plano en XNA
- 29. Desplazamiento de un mapa en mosaico en Cocos2D
- 30. Mosaico de imágenes en Android con ImageView en XML
¿Podría aclarar un poco la situación? es decir. ¿Cómo estás usando el mapa de fichas en tu juego? ¿El personaje ocupa un solo mosaico o varios mosaicos (a la Tetris)? ¿Los obstáculos del juego ocupan múltiples fichas? Estoy un poco perdido, ya que creo que la detección de colisiones sería una simple cuestión de comparar la posición del personaje con los obstáculos en el mapa de fichas, en lugar de la detección de colisiones basada en píxeles ... – Syndog