HELP!! Imagine a state fair arcade game in which 5 plates are rotating in a circle and a BB gun is shooting at them. A teddy bear awaits a successful killer of all 5 plates. The arcade barker, however, can speed up or slow down the plates to make it more difficult to hit the plates. In addition, when one plate has been destroyed, the remaining plates are repositioned around the circle. The problem is that, on occasion, and seemingly randomly, when the plates are repositioned, one plate will jump ahead twice what is should. In other words, instead of moving forward the programmed 36 degrees in the circle, it moves ahead 72 degrees. This does not always happen, but when it does it evidently happens after the second plate has been destroyed by the BB gun (I am not absolutely sure of that, but most likely). The expression used to adjust the position of each of the remaining plates is:
CIR_CurrentAngle( "Clickteam Movement Controller", Fixed( "active object" ) ) + 36
I have tried everything I can think of, including fast loops and no loops at all. I have tried both positive and negative numbers as the angle adjustment for the plates, and I have even tried to use multiple loops to segment the position adjustments. Using the event list editor, I made sure that the adjustments ran first before any other events occurred. At one time I used the global event editor, but then moved these events back to the frame editor because it didn't work either. I both increased and decreased the frame rate, but that had no affect. At one time I thought the speed (angular velocity) of the circle movement controller might be causing the problem, but, of course, angular velocity and position are two different variables.
So I am stuck. If anyone has any ideas, I would be most grateful. Thanks. Pat Vaughan
p.s. At one time I used trig to rotate the plates in the circle, trying to gain greater control, but it is a bit choppy, especially compared to the clickteam's circular movement extension.