ヘルプ>The Game Maker Language (GML)>GML Language Overview>Expressions から抜粋 Please note that, contrary to certain languages, both arguments to a Boolean operation are always computed, even when the first argument already determines the outcome.
だがGMLの場合は他の言語と違って常にチェックされる。 例え、最初のfalseの時点で結果はfalseと決まっているとしてもだ。 (まさに「even when the first argument already determines the outcome」の部分)
従って、 @if (a && b) Aif (a) if (b) の二つを比べた場合、 @の場合は、aもbも常にチェックされるが、 Aの場合は、aを満たさないとき、bのチェックが省かれるため、 Aの方がいい、ということになる。 よりわかりやすくすると、if (a && b && ......)と条件が大量にある場合を想定してみれば、 大量の条件を全てチェックするのと、最初の条件を満たさないときに処理をやめるのと、 どちらが効率がいいかがわかるだろう。