Group: Get Ready
In this group, we only need to check if obj_GetReady has reached its destination when it enters and exits the screen. By now you should know how to do this, so I will keep it brief until we come upon a topic which has not been discussed.
Make one event that checks if obj_GetReady's Y is greater than 180. If it is, then add the action which sets obj_GetReady's Y to 180.
Make the second event that checks if obj_GetReady's Y is less than -50. If it is, then add the action which sets obj_GetReady's Y to -50.
Group: Player Controls
This group checks for the user's input. When the screen is touched, we want to play a sound, change the speed and acceleration of obj_Propeller, and mirror obj_Player.
For the user's input, we will use Touch. Touch also allows the user to use the mouse.
Start by creating the first sub-event within the Player Controls group which will check for the user's input.
-Touch: On any touch. The actions are play the sound flip, and set obj_Propeller's acceleration to -200.
Using a negative value for the acceleration is deceleration.
After the user touches the screen, we need to check if obj_Player is mirrored or not mirrored (the direction in which obj_Player is facing). Create a sub-event within the Touch condition which checks if obj_Player is NOT mirrored and add the actions which will do the following:
-obj_Player set to mirrored (facing to the left)
-wait 0.2 seconds
-obj_Propeller's angle of motion set to 180 degrees
-obj_Propeller's acceleration set to 1000
-obj_Propeller's speed set to 200
You might have noticed that there is no condition 'not mirrored'. Select is mirrored, then right click on the condition and select Invert. Or, press I on the keyboard.