Je suis toujours nouveau à XNA, alors s'il vous plaît pardonner toute question stupide et les déclarations dans ce post (Le problème supplémentaire est que j'utilise Visual Studio 2010 avec .Net 4.0, ce qui signifie également très peu d'exemples existent sur le web - eh bien, aucun que je pourrais trouver facilement):Texture2D.Bounds.Intersect, mais les Bounds ne bougent jamais? - XNA, .Net 4.0
J'ai deux objets 2D dans un "jeu" que j'utilise pour en savoir plus sur XNA. J'ai besoin de savoir quand ces deux objets se croisent.
J'ai noté que les objets Texture2D ont une propriété nommée "Bounds" qui à son tour a une méthode nommée "Intersects" qui prend un Rectangle (l'autre Texture2D.Bounds) comme argument. Cependant, lorsque vous exécutez le code, les objets se croisent même s'ils se trouvent sur des côtés distincts de l'écran. Quand j'interviens dans le code, j'ai remarqué que pour les Bounds de Texture2D, je récupère 4 paramètres quand tu souris sur les bornes et les coordonnées X, et Y lisent toujours "X = 0, Y = 0" pour les deux objets (donc ils couper). La chose qui me trouble est le fait que la propriété Bounds est sur la Texture plutôt que sur la Position (ou Vector2) des objets. J'ai finalement créé une petite méthode d'assistance qui prend en compte les objets et leurs positions, puis calcule s'ils se croisent, mais je suis sûr qu'il doit y avoir un meilleur moyen.
des suggestions, des pointeurs seraient très appréciés.
Gineer