/ Comportement de collision d'objets dynamiques - lua, corona

Comportement dynamique de collision d'objets - lua, corona

J'ai deux objets dynamiques dans la scène en fait cessont deux balles. Mais je ne suis pas satisfait de leur comportement de collision, par exemple, lorsqu'une collision se produit, une balle devient rapide, une balle ralentit et parfois une balle est complètement arrêtée. Je sais que c'est normal selon la règle de la physique, mais je veux une vitesse statique, même si elles entrent en collision. En fait, je le développe sous coronalabs. Voici donc le code de la façon dont j'ai ajouté deux balles.

  ball1 = display.newCircle(ballx, bally, ball_radius)
physics.addBody( ball1, "dynamic", { bounce = 1, density =1, friction = 0, radius = ball_radius } )
ball1:setFillColor( 255,215,0 )
ball1:setLinearVelocity(500,500)

ball2 = display.newCircle(ballx+5, bally+25, ball_radius)
physics.addBody( ball2, "dynamic", { bounce = 1, density =1, friction = 0, radius = ball_radius } )
ball2:setFillColor( 255,0,0 )
ball2:setLinearVelocity(500,500)

Réponses:

0 pour la réponse № 1

Cela devrait être réalisable en changeant simplement votre densité à 0 et votre rebond à 1.

physics.addBody( ball, "dynamic", { bounce = 1, density = 0, friction = 0, radius = ball_radius } )

Une autre approche pourrait consister à utiliser la détection de collision pour définir la setLinearVelocity() après une collision. De cette façon, la force perdue est instantanément remise à la vitesse souhaitée par le ballon après la collision mais dans une nouvelle direction.