Instead of using the fade behavior, you could just do this:
+If Object Opacity is Less than 0
-Set Object Opacity to Object.Opacity + 100 * TimeDelta
You can change the 100 to anything you want, but that will make it fade in in exactly a second.
That doesn't seem to work, neither do I understand how is it supposed to work. Opacity is 0-100, how can it be less than 0?
Anyway, I've also tried the "on fade in finished" subevent, however that just causes it to loop, no matter the action.
Edit: I've made it work now with this:
+On Start of Layout
MyObject make Invisible
My Object set Opacity to 0
+On Left Either single or double clicked on MyObject
MyObject make Visible
+On Right mouse button Either single or double clicked
MyObject FadeOut
++FadeOut Finished
MyObject make Invisible
+ MyObject Is visible
+ MyObject Opacity Less than 100
MyObject Set opacity to MyObject.Opacity+100*TimeDelta
[/code:25z3cgad]
Bit clunky, but it works: on click the object is made visible, which makes it fade in. On right click I make it fade out using the Fade behavior, then after it is done, it is set to Invisible (otherwise it just loops). So, whenever the object is made visible, it fades in. I don't know, this seems a bit complicated, plus it keeps checking for the condition instead of just executing it once.
Surely there is a more elegant solution? We'll see after I get back from visiting mom - she's down with flu.
Thanks for the help so far!