2010-04-19 4 views
0

pour les deux dernières semaines J'ai travaillé sur la création d'un système de détection de collision pour mon jeu dans Flash CS4. Peu importe ce que j'essaie pour une raison quelconque, je ne peux pas sembler le faire, et je ne sais pas comment y remédier. Cela n'a jamais été un problème pour moi, je me contenterais même de la rectangle de base à la collision rectangle si je pouvais, mais peu importe ce que je fais, je finis par le visser tout. D'une certaine manière la détection de collision ne fonctionne pas du tout, fonctionne d'un côté et saute le gars à travers le mur de n'importe quel autre côté ou je pense qu'à un moment ça a fonctionné pour deux côtés tant que je n'ai pas tenu plus d'un clé de mouvement.Détection de collision de sphère à rectangle dans actionscript 3.0?

J'ai constamment mis au rebut ce que j'ai fait encore et encore, maintenant je n'ai pas de code source à présenter. Je suis complètement perdu et confus, et mon délai pour le faire est aujourd'hui dans quelques heures. Je voulais vraiment comprendre cela par moi-même mais honnêtement, je ne vois pas ce que je peux faire, j'ai une détection de collision de sphère à sphère qui fonctionne parfaitement pour mon joueur et d'autres sphères, mais les murs sont des carrés alignés pour former longs rectangles, et je n'arrive pas à le faire fonctionner. Je charge dynamiquement les blocs de murs carrés sous forme de mosaïques pour former une carte chargée dynamiquement, puis j'analyse chaque bloc pour déterminer si une collision s'est produite avec le lecteur. Je pense que je ne gère pas les résultats correctement, ou peut-être que j'ai besoin d'être capable de déterminer dans quelle direction le joueur a touché le mur, mais je ne sais pas comment le faire.

Je suis vraiment désolé de ne pas pouvoir donner le code source, je n'ai littéralement rien. J'ai regardé l'écran depuis 3 heures essayant de trouver quelque chose mais rien ne vient à moi, alors s'il vous plaît si quelqu'un peut m'aider avec un exemple d'un jeu de type flash ou quelque chose de similaire, je serais très reconnaissant! . (Je l'ai fait d'innombrables fois en C++, C# et Java Je ne comprends pas ce qui se passe en flash: - (((()

+0

« Actuellement, j'ai pas de code source pour présenter. Je suis complètement perdu et confus, et mon délai pour le faire est aujourd'hui dans quelques heures "- s'il vous plaît assurez-vous que vous n'êtes pas à proximité (a) des armes chargées, (b) de grands bâtiments, (c) des falaises – ocodo

Répondre

1

Cela peut vous aider ... http://www.tink.ws/blog/as-30-hittest/

+0

Oh ... merci, j'ai essayé d'utiliser hitTestObject mais c'était tellement imprécis que c'était inutile, je vais essayer, merci beaucoup! –

1

ne désespérez pas, nous avons tous été là à un moment donné :)

Utilisez un moteur physique 2D si elle est quelque chose de plus complicated.It peut vous lever annonce courir assez vite:

http://box2dflash.sourceforge.net/

Certains tutoriels sur ce sujet peuvent être trouvé ici: http://www.emanueleferonato.com/category/box2d/

Vous pouvez vérifier plus d'outils pour les développeurs flash ici:

http://flashontherocks.com/flash-developer-toolbox/

+0

si quelqu'un a du mal à faire une collision relativement simple, en lui donnant un moteur physique complet Je n'ai pas vraiment l'intention de vous battre;) – grapefrukt

+0

Vous avez raison mais je trouve que montrer quelqu'un aux possibilités est également correct D'après ce que je comprends, il a besoin d'une solution pour développer son jeu assez rapidement car il n'a plus rien et il est proche de la date limite du projet Un moteur de physique serait la solution la plus rapide à mon avis S'il fait des recherches pendant quelques heures à ce sujet, je suis sûr qu'il sera sur la bonne voie. Encore plus, s'il sera capable de gérer un moteur de physique, ce sera bon pour lui en tant que développeur de jeu, donc je le vois comme un bon investissement. – Oliver

+0

hehe, @grapefrukt. :) - @Oliver, je suis d'accord avec vous, mais à partir du poste de l'OP, je pense que cela ne va pas lui faire passer la ligne dans quelques heures, un simple test de succès serait plus rapide. Mais oui, à long terme, l'utilisation de Box2D ne résoudra pas seulement ce problème immédiat, la portée des projets de jeux auxquels ils pourront s'attaquer sera beaucoup plus large. – ocodo

Questions connexes