### Author Topic: knockback to collision  (Read 2212 times)

0 Members and 1 Guest are viewing this topic.

#### AzkaIsHere

• Newbie
• Posts: 24
##### knockback to collision
« on: February 17, 2018, 10:04:12 pm »
hey guys I am making a game where two sprite have to collide and when they do they have to take a knockback to the opposite position of the collision point. can someone tell me an example on how to do that or maybe just explain or link some tutorial?

#### Turbine

• Full Member
• Posts: 102
##### Re: knockback to collision
« Reply #1 on: February 18, 2018, 08:19:39 am »
Sure, knockback 'can' be done quite simply in the traditional platformer/rpg sense. However objects such as cars can be more difficult due to wheel motion and the shape.

On a side note. I recommend reading up on vector maths/motion physics, as it will help with all games you may work on.

What kind of objects are needing to collide? Are you requiring knockback like in the platformer Mario, pong bat & ball, cars, perhaps something else?

The simplest form is probably by moving one object in the opposite direction of the other object. You're going to need a motion system for smooth knockback (acceleration, friction, optional gravity):
Code: [Select]
`//Non-code exampledirectionRadians = atan2(y1 - y2, x1 - x2) // Angle between objects, negate the value for reverse directiondirectionDegrees = (directionRadians * 180) / PI // If your game uses degrees instead of radians, convertobject1.setDirection(-directionDegrees) // Imaginary motion function for setting the current direction of the forceobject1.setAcceleration(30) // Imaginary motion function to set the force's magnitudeobject2.setDirection(directionDegrees)object2.setAcceleration(30)`
If you want to reverse from the collision point, simply work out the positions of each object relative to the collision point, and then use those coordinates as the position.
« Last Edit: February 18, 2018, 08:42:30 am by Turbine »

#### AzkaIsHere

• Newbie
• Posts: 24
##### Re: knockback to collision
« Reply #2 on: February 20, 2018, 08:38:55 pm »
what I am doing is a beyblade game, when the beys hit each other, they get bounced back away but I don`t know how to set a direction that is opposite to the other beyblade

#### Turbine

• Full Member
• Posts: 102
##### Re: knockback to collision
« Reply #3 on: February 20, 2018, 10:58:03 pm »
atan2 will work out the direction in radians, and the conversion to degrees is also provided above. Just work it out twice, one object may be x2 - x1, y2 - y1 and the other will be x1 - x2, y1 - y2.

anything