asaさんコメントありがとうございます!
2.3以前→オブジェクトAの変数宣言したものを利用してスプリクトは実行できる。
2.3以降→"functionで包んでいないスクリプト内のコードはゲーム起動のタイミングで実行される。
"「directionという変数が定義されてないのに使おうとしてるよ」というエラーです。しかし変数directionはビルトイン変数なので定義しなくても使えるものです。"と前回asaさんが言っていました。
これはそもそもゲーム起動のタイミングだからスクリプト内のコードをしようとするから何も準備できていないよー!って状況だからビルトイン変数のdirectionが未定義エラーになるということでしょうかね。
なんかかなり腹落ちした気がします……!さらにソース提示までいただいてありがとうございます!
通報 ...
はい、そういうことです!
「グローバルスコープ」とは特定のオブジェクトではなく、ゲーム自身を参照するということです。ゲーム自身にはdirectionは無いのでエラーになるというわけです。