Box2d: área clicável/tocável maior
-
21-09-2019 - |
Pergunta
Estou usando o Box2D no meu aplicativo para iPhone usando o COCOS2D. Estou usando a junta do mouse para arrastar objetos por toque. O evento Touch é tratado para encontrar o corpo Box2D correspondente usando consultas AABB.
Eu gostaria de estender a área de corpos Box2D. Dessa forma, posso tocar aproximadamente meu corpo e ainda responder.
Existe alguma maneira de fazer isso? Obrigado!
Solução
O objeto B2AABB que você usa na consulta AABB é um retângulo; Apenas torne -o maior.
Você também pode colocar um círculo de sensores com um raio adequado sob o ponteiro do mouse. Isso é mais preciso do que uma consulta do AABB, pois aciona as colisões reais em vez de apenas dizer quais caixas delimitadoras se sobrepõem.
Outras dicas
E se você fizesse um objeto invisível, maior que seu objeto Box2D e use isso para sentir o toque. Faça disso o pai do seu objeto Box2D. Então, potencialmente, você pode passar os eventos não tratados para o seu corpo Box2D.