asa
28f10b2019
2021/10/08 (金) 23:32:06
Variable.direction(8,-2147483648)not set before reading it.
これは変数が定義されてないというエラー内容です。
「directionという変数が定義されてないのに使おうとしてるよ」というエラーです。しかし変数directionはビルトイン変数なので定義しなくても使えるものです。
1つ確認したいのですが、このコードが実行されている(書かれている)のはどこでしょうか。
オブジェクトのイベントの中で、あるいはscriptファイルの中でしょうか?
通報 ...
これは当てずっぽうな推測ですが、このコードはscriptファイルに書かれていてobjectから呼び出していないでしょうか。
v2.3.3以降はfunctionの扱いが変わっています。この仕様変更によって古い記述のままだとエラーになることがあります。
具体的には、今の仕様だとスクリプト my_functions (←名前は適当)に、以下のように関数定義します。
これを
と書いてないでしょうか?
そうするとRunするとスコープがglobalでこれが実行されるので、directionが定義されてないよとエラーが出るかもしれません。
関係しそうなスレッドを探しました。
https://forum.yoyogames.com/index.php?threads/important-gm-2-3-users-please-read-improper-script-usage-generates-undefined-variable-errors.79907/
一度ご確認ください。
asaさんコメントありがとうございます。
direction自体はそのままでも使えるのですね。今後の制作時の参考にします。ありがとうございます。
コードが書かれているのはscriptファイルの中です。
またこれとは別のscriptファイルにmacroでフレームレートの数値を設定しています。
さらにエラーの指示を受けてないオブジェクト内のファイルを書いている状態です。
Objectに対してEvents>Createイベントが下記のとおりです。
またステップイベントが下記のとおりです。
情報量が多くなり、またエラー該当箇所ではないため記載を割愛しましたがなにか解決のご参考にしていただきたく思います。
お忙しいところ本当にありがとうございます。
コードが書かれているのはscriptファイルの中ということですね。
関数を呼び出してる部分を探しますと、PlayerAnimateSprite(); があります。
PlayerAnimateSprite がスクリプトファイルの名前でしょうか?
その前提で以下に説明しますと、このスクリプトを開いて、
という形になっていなければ、この形にしてください。コードを全部コピペして
の中に入れるだけでOKです。
そしてRunするとどうなるでしょうか?
asaさんありがとうございます!できました!
どのようにお伝えしていいかわかりませんが、本当に嬉しいです!
1週間近くいろいろ変化させてみたり、全て打ち直したりしてだめだったので、本当に助かりました!
夜遅くにありがとうございます!