/ / Comportamento di collisione di oggetti dinamici - lua, corona

Comportamento alla collisione degli oggetti dinamici - lua, corona

Ho due oggetti dinamici in scena in realtà questisono due palle. Ma non sono contento del comportamento di collisione, ad esempio quando hanno una collisione una palla diventa veloce e una diventa più lenta e alcune volte una palla si ferma completamente. So che questo è normale secondo la regola della fisica, ma voglio la velocità statica anche se si scontrano. In realtà lo sto sviluppando in coronalabs Quindi ecco il codice di come ho aggiunto due palline

  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)

risposte:

0 per risposta № 1

Ciò dovrebbe essere realizzabile semplicemente cambiando la densità su 0 e rimbalzando su 1.

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

Un altro approccio potrebbe essere quello di utilizzare il rilevamento delle collisioni per impostare il setLinearVelocity() dopo una collisione. In questo modo la forza persa viene immediatamente ripristinata alla velocità a cui vuoi che la palla viaggi dopo la collisione, ma in una nuova direzione.