Difference in touch commands?

okkleokkle Member Posts: 32
edited November -1 in Working with GS (Mac)
I'm getting a little confused over what the touch commands all do and was hoping that one of you kind people could help me out.
Here is what I gather so far:

pressed - this condition is only valid when a button is not only pressed, but also held.

release - this condition activates after touching and releasing a button. However the action seems to be stored in memory, so the condition is not activated upon release, but any time after the touch has been released.

Inside & Outside are the really confusing ones. Obviously they are activated if the actor is touched inside or outside it's boundaries respectively. However sometimes they appear to need to be held (not useful), whilst at other times they appear to activate upon release and not store the action in memory (useful!).

For example I have a button actor called R1 with the following:
`
When (All):
attribute L1active = false
attribute moveCount <6
actor receives event - touch - inside:

for 0.5 seconds (run to completion)
change attribute moveR1 = true

after 0.5 seconds (run to completion)
change attribute moveR1 = false
change attribute moveCount = moveCount+1

Otherwise:
change attribute moveR1 = false
`
And attribute moveR1 when true triggers another actor to move right for a second and tells attribute R1active = true. This is so when you press one button, you can't press the other until all actions have been performed.

It works, I tap R1 and it moves, I don't need to hold it.

I then copy that R1 actor in the library in the top left by holding Alt and dragging it. I change all the 'R' to 'L', the plus to minus and vice versa, and set it to >0 instead of <6. So it should work exactly the same way, but perform the opposite action on the actor....right?

No, now this one, with the same 'inside' touch command requires me to hold it to perform the action in full!? I really don't understand why the same touch command for two different buttons would act this way? Or why there is not an option for release but do not hold in memory (what I had hoped 'inside' was). If I use the current 'release' because it stores the action in memory pressing one button after another makes the actor jiggle back and forth and it reads one command after the other. I know the movement works as it's meant to from testing using 'pressed', but 'pressed' is no good for the actual game.

GameSalad devs, if you're reading this 'pressed' should be 'held', 'released' should be 'after touched', and a new 'released' should activate the condition once you let go of the button and not store it in memory - similarily 'pressed' should activate immediately on touch and not store in memory.

Unless I'm just missing something?
Sign In or Register to comment.