GameMakerStudio よく起きるエラーとその対処方法!


うっほ!ゴッリラだよ!

最近コメントでよく、エラーメッセージについての質問をもらうんだ!
そこで今回は、ゲームを作っていく中で避けては通れないバグについて話していくよ!

GameMakerStudioでは、バグが起きたとき2通りの方法でエラーが表示されるんだ!
プログラム上で問題がある時はCompile Error欄に、ゲーム実行時にエラーが出た場合は
エラーメッセージと呼ばれるウィンドウ画面に表示されるよ!

そこには、どこで、何が原因でエラーが起きたのか、役に立つ情報が書かれているから
この記事を読んで上手く活用しているけるようになろう!

この記事はこんな方におすすめ

  • ゲーム開発者初心者の人
  • エラーメッセージの読み方が分からない人
  • 英語が苦手な人

コンパイルエラーの読み方

Compile Error欄は画面下に配置されているよ!
GameMakerStudioがゲームを起動するのに失敗したとき、Compile Error欄にエラーが表示されるんだ!

①には、エラーの起きた箇所が表示されているよ!
ここでは、テストオブジェクトのStep Event一行目で、エラーが起きているみたいだね!

②には、エラーの起きた原因が表示されているんだ!
存在していないgorilla関数を呼び出したのが原因だね!

よくあるコンパイルエラー 一覧

・Wrong number of arguments for function

これは、関数に正しい数の引数を渡していない時に起こるエラーだよ!
引数が”,”で区切られているか確認してみてね!

例:

・Symbol ~1 expected Symbol ~2

これは、文法ミスをした時に表示されるエラーだよ! ~1の代わりに~2で表示されている記号を使用してね!

例:

・Unable to find variable named [変数名]

これは、[]で囲まれた変数が見つからないときに表示されるエラーだよ!
呼び出そうとしている変数が、しっかり宣言されているか確認してみてね!

・Unknown Function or Script

これは、存在しない関数を呼び出そうとしている時に起こるエラーだよ!
関数名を打ち間違えていないか、確認してみてね!

例:

・Array index should not be negative

これは、配列の添え字に負の値を使用したときに表示されるエラーだよ!
繰り返し処理を使用した時に、エラーが起きることがあるので注意してね!

例:

 

・Cannnon redeclare a built in variable

これは、組み込み変数と同じ名前で、変数を新しく宣言しようとしている時に起こるエラーだよ!
組み込み変数は緑色で表示されるので、変数名が被る場合は何かつけたそう!

・Assignment of an empty value

これは、変数に戻り値を持たない関数の、戻り値をセットしようとした時に起こるエラーだよ!
関数の使い方を間違っていないか確認してみてね!

・invalid token

これは、GameMakerStudioで使用することのできない記号、言語を使用したときに起こるエラーだよ!
他のプログラミング言語で出来ることが、GMLではできないこともあるので注意してね!

 

エラーメッセージの読み方

これが、GameMakerStudioでエラーが起きた時に表示されるエラー画面だよ!

バグの原因を理解するのには、画像の二箇所に注目するだけで良いんだ!

①には、エラーの起きた原因が記されているよ!
“Variable o_test.test(省略) not set before reading it”
ここでは、テストオブジェクトのテストという変数が宣言されていない!ということが書かれているよ!

②には、エラーの起きた場所が記されているんだ!
“gml_object_o_test_Create_0 (line 3)”
テストオブジェクトCreate Event内の3行目でエラーが起きたみたいだね!

よくあるエラーメッセージ 一覧

・not set before reading it

これは、宣言されていない変数を呼び出そうとしている時に起きるエラーだよ!
一番多いのは、変数を打ち間違えているケースだね!コードを見直してみてね!

例:

 

・DoSet: Invalid comparison type

これは、異なるデータ型を比べようとした時に表示されるエラーだよ!
数字と文字列を比べたりする場合は、キャストするのを忘れないでね!

例:

 

・DoAdd: Execution Error

これは、+を使った式に問題がある時に表示されるエラーだよ!
数字と文字列を足したい時は、キャストを忘れないでね!

例:

・DoMul: Execution Error

これは、*を使った式に問題がある時に表示されるエラーだよ!
数字と文字列を足したい時は、キャストを忘れないでね!

例:

・DoSub: Execution Error

これは、-を使った式に問題がある時に表示されるエラーだよ!
数字と文字列を足したい時は、キャストを忘れないでね!

例:

・DoDiv: Execution Error

これは、/を使った式に問題がある時に表示されるエラーだよ!
数字と文字列を足したい時は、キャストを忘れないでね!

例:

・Pop:: Execution Error – Variable Index out of range (var)

これは、値を代入していない配列の値にアクセスしようとした時に起きるエラーだよ!
loopなどを使って配列の値を呼び出している場合は、条件式に注意してね!

例:

まとめ

今回は、エラーメッセージを理解する方法よく起こるエラーを紹介したよ!

実際に僕がよく起こすエラーをまとめてみたけど、ここで紹介した他にもエラーは沢山存在するから、
なんじゃこりゃ!どうすれば良いんだ! ってなった時はいつでも僕@hellomanakiに質問してね!

この記事が少しでもみんなの役に立ったことを祈っているよ!

ゴッリラ
それじゃあ!また次の記事で会えることを楽しみにしているよ!

 

 

2+

4 件のコメント

    • 少しでもお役に立てれば幸いです! また原因がわからないエラーが起きたら教えてくださいね!

      1+
  • FATAL ERROR って表示されます。これなんですか?
    また、どうすればいいですか?
    バナナおごるから教えてください。

    0
  • コメントを残す

    メールアドレスが公開されることはありません。

    ABOUTこの記事をかいた人

    このブログでは、初心者向けにGameMakerStudioを使ったゲームの作り方、プログラミングについての基礎知識を解説しているよ! "自分でゲームをつくってみたい!と思っている人は、是非読んでみてね!