This is a bit of weird - and undocumented - behaviour.
When you write scripts in Game Maker, you can have them return a value by using the return
statement, like so:
What value does the script return if you don't have any return
statement, though? Does it always return true
, or false
, or maybe something else? I wanted to know, and I learned something surprising when I looked into it.
At first I thought the answer was that the script would always return false
, but this rule didn't always hold. What's more, the return values I was getting were seemingly random and unpredictable.
Finally I discovered what was going on. A script returns the value of the most recent equation.
What does that mean exactly? Well, for example, a script containing only this line:
...will return 10
. And, likewise:
...will return 20
. Whatever the result of the most recent equation is becomes the return value!
This holds true for math operators like *=
, +=
, and so on. This:
...will return the square of argument0
.
How bizarre! Even if you leave out the return
statement, you will still get "phantom" return values... I guess this might be the cause of odd behaviour once in a while, so it's good to know about.
Until next time, happy coding!
No comments:
Post a Comment