Inside the OnObjectUpdate
method, we will control the player machine. For this, we will check if the collision markers are set and act accordingly.
1. First, check whether the object is our player object.
Method OnObjectUpdate:Int(obj:ftObject) If obj = g.player Then
2. Next, check that the object is not in some kind of transition. All movements will be made with transitions, so if there aren't any, it stands still.
If obj.GetTransitionCount() = 0 Then
3. Set the object to be unanimated for now.
obj.SetAnimated(False)
4. Check whether the UP arrow key on the keyboard, or the "UP" direction of the joypad on your controller, was pressed. Also check that the player doesn't run into a wall or whether a crate that the player pushes could run into another crate.
If (KeyDown(KEY_UP) Or JoyDown(JOY_UP)) And g.hitWall = False And ((g.hitCrate<>Null And g.hitWall2 = False And g.hitCrate2=Null) Or g.hitCrate=Null) Then
5. Determine the vector position that...