I'm guessing the sprint "teleports" and isn't smooth because you increment or decrease the amplitude instantly. If you want it to be smooth, you need to increment the amplitude gradually over time.
One way to do this would be the following:
Add an instance variable to camel called: myAmplitude
- - When camel is touched and is not bujasie:
- --- Set camel's myAmplitude to 55
- --- Wait 3 seconds
- --- Set camel's myAmplitude to 30
- - Every tick:
- --- Set camel's sine amplitude to : lerp(camel.sine.amplitude, camel.myAmplitude, 0.1)
The trick here is the use of lerp(). I encourage you to look on this forum for example of magic lerp can do!
(Note: I don't know what "bujasie" means so apologize if I misunderstood the whole problem.)