I want to make an object move in a circle. Move around object sorta works, but is there another way?
You can do it in some other ways, I can think on:
- The action to put an object around a position (the action you are using, I guess) >> (the easy way)
- Set the object position directly, with the help of some math >> (easy if you know basic trigonometry)
- Use a path >> (the hard way)
Of course, to move the object with the first two methods, you need to vary the angle, so you have to save this angle in a variable and increase/decrease it to generate the movement, here is an example with the three methods working:
MoveInCircles.zip (2.86 KB)
Pros and cons:
- Put object around position action: Easy, the object is located from the Centre point. You modify the angle so it defines an angular speed, easy to understand (angles per second). It uses polar coordinates, sometimes very handy (angle and radius)
- Set position through math: You need to know some math, or at least what the values mean, the object is located from the Origin point. You modify the angle so it defines an angular speed, easy to understand (angles per second). It uses cartesian coordinates, you know them from school (points x;y)
- Path behaviour: You can’t create a perfect circle path, and you’ll get some little errors even with a high amount of points. Also create such high amount of points for the path is tedious (I located them with a circle background image as guide). The speed of moving through the path is tangential, not angular (tangential speed = angular speed * radius)
Hope it helps
Sweet! Thanks for the multiple examples.
Just to add to Lizard’s examples, the object has its own angle too, so can rotate either to follow the circle (like a car driving around a circular race track), or independently of the circle (like a moon orbiting a planet).
You can see this by adding these extra actions to the event in Lizard’s project file:
Do = Variable(angle) to angle of Char2 Do = 90-Variable(angle) to angle of Char1