そういう場合、コリジョンイベントでやるより、
自機オブジェクト上でステップイベントやキーイベントで動かすときに、
If a position is collision free や If there is a collision at a positionなどを利用して、
条件をつけてやればいいのでは。方向別に書かないといけないけど。

たとえば、ブロックの上にいるかどうかは、
If there is a collison at a positionを使い、座標をrelativeにし、x:0 y:1、objectをsolidを選択すればよい。
これが真のときは、自機の1ドット下にソリッドオブジェクトがあることになる。つまり、地上にいる、ということに。
ジャンプアクションの場合、落下設定するのに以下のようにするのが定石となっているらしい。(海外サンプルで大概やっていた)
show informationによる表示
----
if relative position (0,1) is collision free for Only solid objects
 set the gravity to 0.5 in direction 270
else
 set the gravity to 0 in direction 270
----
地上にいない場合は真下への重力加速度をに0.5、地上にいるときは重力加速度を0にしている。
文で説明するとややこしいが、ガンガレ。