2016-11-06 3 views
0

J'ai donc un objet déplaçable dynamique que je veux qu'il entre en collision avec un mur statique. J'ai réussi à le faire en ajoutant un booléen qui devient faux dans la fonction de collision, et de nouveau en contact a commencé et cela fonctionne parfaitement, sauf pour une chose, quand je traîne l'objet très vite, il traverse toujours le mur. J'ai même ajouté cette ligne de code:Collision d'objet déplaçable

physics.setContinuous(false) 

Mais cela n'a fait aucune différence. Donc, ma question est, comment obtenir le moteur de physique pour détecter une collision lorsque l'un des objets se déplace rapidement?

Répondre

0

Solution possible/solution à votre problème

  • La meilleure solution est de rendre les « murs » plus épais, si cela est possible dans votre jeu,
  • Vous pouvez augmenter les itérations velocity et position

    physics.setVelocityIterations(value) (8 is default value) 
    
    physics.setPositionIterations(value) (3 is default value) 
    
  • utilisation object.isBullet = true plus information

Les deux dernières suggestions peuvent entraîner une légère pénalité de performance.

Plus d'informations vous pouvez trouver de liens ci-dessous

+0

Vous ne semblez pas Pour avoir lu la question, j'ai déjà résolu le problème d'obtenir le mur pour bloquer l'objet déplaçable, le problème est maintenant qu'il ne se produit pas lorsque l'objet est traîné trop vite. – Abdou023

+0

Vous ne semblez pas avoir vérifié/lu tous les liens de ma liste. J'ai donc édité ma réponse et mis quelques suggestions du deuxième lien à vous dans ma réponse. J'espère que cette aide. – ldurniat

+0

J'ai déjà essayé ces trucs avant, les 2 lignes de codes ci-dessus ne font pas grand-chose, et je ne peux pas faire les murs plus gros que ce qu'ils sont déjà (20px) – Abdou023