この種のエラーを見たのが記憶になく、エラーメッセージの意味が分かりにくいので
メモとして書き記しておきます。
エラー内容:
> Pop :: Execution Error - Variable set failed depth - read only variable?
("depth"はエラー箇所で使っている変数なのでいろいろあり得ます)
いろんな原因があるかもしれませんが、私の場合は
instance_destroy()した後でビルトイン変数(x, y, depth, image_speedなど...)を参照した。
これが原因のようでした。
具体的にはobjAの関数内で
obj.depth = 100; // objはobjAのインスタンス
としていましたが、objAでinstance_destroy();したタイミングでエラーが発生。
destroyの前に関数を移動したところエラーは出なくなりました。また、
with (obj) depth = 100;
としても出なくなりました。with()にはインスタンス存在チェック機能があるからだと思います。
以上、エラー内容に関するメモでした。
withってそんな便利な機能ついてたんですね…
自分はプレイヤーキャラの存在エラーをよく起こしていたので、いっそのこと迂回策をやめてゲームプレイ中に絶対インスタンスを削除せずにパラメーターをグローバル変数と同じ扱いにしてたんですが、別の方法として覚えておきます