Si j'ai un sprite, comment vérifier la collision entre deux points? Par exemple, dans un jeu que je fais, je voudrais dessiner plusieurs lignes que mon sprite heurte. Je pense que c'est plus flexible que d'autres systèmes de collision si j'avais beaucoup de plateformes.Sprite to Line Collision
Répondre
Une simple logique peut aider à réduire le calcul gaspillé, c'est-à-dire que si le sommet de l'image-objet est plus bas que les deux points, vous ne pouvez pas avoir de collision. Tri d'un contrôle de collision de boîte englobante simple. Une fois que vous avez fait cela, je suggère que vous obteniez une «formule» pour votre ligne, puis vérifiez lequel des coins de votre sprite se trouvait au-dessus ou en dessous de cette ligne. S'ils ne sont pas tous du même côté, vous avez une collision. Par exemple, si votre ligne était y=x/2+2
, en commençant par x = -20 se terminant par x = 20 et que vous aviez un sprite carré 3 large/haut à (3, -1) alors vous avez les quatre points de votre spirite (3, -1) (3,2) (6,2) (6, -1). Vous calculez la valeur y de la ligne à ces deux positions x, ce qui vous donne y = 3.5 à x = 3 et y = 5 à x = 6 toutes ces valeurs y sont supérieures aux valeurs y du cube, donc le le cube est au-dessous de la ligne.
- 1. programmation de jeu en C#: collision de sprite
- 2. viper-next-line, viper-line-line a des problèmes avec visual-line-mode?
- 3. méthodes détection de collision en C++
- 4. Comment vérifier la collision dans une courbe dessinée, au lieu de la boîte liée du Sprite
- 5. Test d'intersection sprite XNA basé sur alphas?
- 6. preg_split - New Line
- 7. Cufon: problème line-height
- 8. En Line Assembly Exemple
- 9. Plugin Eclipse Command Line
- 10. PHP New Line Aide
- 11. C# - Highlight Current Line
- 12. Reporting Trend Line
- 13. NSBezierPath/Line Intersection/flatten
- 14. Eclipse Command Line Java
- 15. delete line backwards (Emacs)
- 16. New Line Haskell
- 17. javascript regex single-line
- 18. Multi-Line Regular Expression
- 19. eclipse line couleur background
- 20. solution d'intersection set/line
- 21. OpenGL Line Width
- 22. Sprite Delay
- 23. Sprite Repli
- 24. Recadrer/Couper un sprite
- 25. Quadtree détecte une collision inexacte
- 26. détection de collision Cercle-rectangle terminé exampe
- 27. Visual Studio 2010: résultats des tests unitaires avec les liens "jump to file at line/col"
- 28. Dans le débogueur XCode, est-il possible de faire "run to current line"?
- 29. Incrustation d'un sprite d'arme 2d sur un sprite de personnage?
- 30. Détruire des lutins dans et autour du Sprite Collidé
Merci pour la réponse! – Alu
Et si la ligne était droite? –
Je pense que ma méthode fonctionnera toujours. Il considère essentiellement la ligne comme une boîte et vérifie si l'un des coins de l'image-objet tombe dans cette boîte que la ligne fait. C'est une méthode très grossière, mais pour une chose simple, cela fonctionnera. – thecoshman