EDIT: Well I was playing today with this challenge and came up with a solution thanks to few comments to give me the right idea.So heres one solution i came up with

Example contains:-Basic description in eventsheet-Combination of two player sprites with platform and 8dirrection behavour-Immitation of swimming with jumping out effect-Very basic animation sprite effected by player movement

What Id like to do is a platform game where by overlaping the water area, the players "Platform" behavour would change into "8direction" behavour to imitate swimming.The way I understanded it, is the Ignore input suposed to be used for what I plan.

Problem:-Platform behavour wont jump-When overlaping the water area, player does change into 8 dirrection but sinks to the botom

It isn't possible to change behaviors like that right now, but there's some workarounds to accomplish the same effect. One thing you can do is to not use the 8 directional movement at all, but to recreate that movement USING the platform behavior; set gravity to 0 so your character won't fall, and then have swimming-specific events that make you move in every direction upon key presses as if you were using 8direction.

Another thing you can do is make the player invisible and spawn a new player, one that looks like the same but uses 8direction instead of platform. Then when you jump out of the water, destroy the water-player and make the normal platform player visible again.

Neither one is ideal, but there may not be any other way to get it done. If you're still not clear on how to do it I could try to make an example for you. Hope this helps!

This is a pretty old topic, but it's on the FAQ page and States are important, so...

I make a Multi-State object by giving the object an Instance Variable which I call "State", which I set to a String. Make the default something like 'Walk' or 'Move'For your purposes, add both Platform and 8-Direction, but disable the 8-Direction to start.

On the event sheet where you handle controlling your player, begin with the event "Compare Instance Variable" and see if it reads "Walk" Put all walking, running, standing on ground behaviors there. For your purposes, there you would use 'Set Enabled' to Enable Platform and Disable 8-Direction

Next, when your player makes contact with the water, set 'State' to "Swim" and set it back to "Walk" when the player is not in contact with water (I think the 'Overlap' function would work there)

Then, same thing, do a 'Compare Instance Variable' to see if State is "Swim", disable Platform and enable 8-Direction, then put in all your Swimming Behavior (such as changing animations to swimming, any swim-specific controls, even adding an Air Meter to the HUD if you'd like)

It may seem a bit complicated, but that system (based off a Finite State Machine, if you want to look that up) is extremely powerful and makes for fairly clean code once you get used to it. You can use that same 'State' variable for climbing ladders, flinching on taking damage, and anything else that temporarily changes the behavior of your character.