初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

Corona SDK 入門

6.初歩2 エラーを体験してみよう

 

初歩のプログラミング Corona 編 」のつづきです。

 

「 プログラミングやってみたいんだけど、何から始めればいいの? 」と
ときどき聞かれることがあります。
「 スクラッチというのオススメだよ 」と言うと、それは将来役に立つのか(仕事などで)
というような質問が返ってきたりします。
なにか、遠回りすることは損だ! という感じなんでしょうけど、難易度高めの
プログラミング言語(環境も含め)を選んで、結局、途中で挫折するほうが
よっぽど「 もったいない 」と私は思います。

これがしたいという目的がないのであれば、シンプルなツールを使って慣れ親しむことが
結局は近道ではないかと思ったりします 。
おっと、講座と関係ない話になってしまいました。

 

このページは前回のつづきです。
Corona SDK を起動し alienTap プロジェクトを実行している状態です。
テキストエディタでは main.lua ファイルを開いて編集中です。

 

 

エラーを体験してみよう

プログラミングをしていると、必ずエラーを起こします。
初心者であれば「 えっ、どうしたらいいの??? 」ってなります。
私も経験があります。いまでも……あります。

そんなエラーに立ち向かうために、ここで経験してみましょう。
すべてのエラーを知ることはできませんが、少しでも経験していれば
今後の役に立つと思います。

 

 

前回入力したプログラムの8行目、bg.png を bsssg.png に変更します。
そして、ファイルを保存してください。

 

ファイル名を変更してエラーを起こす

 

 

Corona SDK を見てみるとエラーが発生しています。
もし、エラーとなっていなければプロジェクトを再起動してください。
再起動のショートカットキーは ctrl + r です。

 

どんなエラーかを調査する

 

ボタンを押す前にちょっと見てみましょう。
main.lua 9
と書かれてますね。main.lua ファイルの9行目でなにか起きていることが分かります。
なお、このダイアログは「 エラーになってしまったけど再起動する? 」と聞いてます。
再起動しても、またエラーになるだけなので「 いいえ 」をクリックします。

 

 

さて、つぎはコンソール画面を見てみましょう。
WARNING(ワーニング)が出てます。これは警告とか注意という意味です。
メッセージを見てみると main.lua 8行目 bsssg.png ファイルが見つからない
という内容でした。

 

コンソール画面の情報を見る

 

エラーとなっていたのは9行目です。
backgroud の内容が空っぽです、と書いてあります。
原因は8行目にあり、bsssg.png ファイルが見つからなかったので、backgroud の中に
必要なものを入れられなかった訳です。

このようなエラーはよく起こります。
入力ミスをしてファイル名を間違えたり、画像ファイルを入れるフォルダを間違えても
起こります。(こちらもよくあるミスです)
エラーが発生したらあせらずプログラムをよく見てみましょう
どうしても分からないときは、エラーやワーニングの出た行を消して、
再度入力するという方法で解決するときもあります。

 

それでは bsssg.png を bg.png に戻してファイルを保存してください。
Corona SDK 側で、ショートカット ctrl + r でプロジェクトを再起動してください。
背景が表示された、正常に動いている状態に戻します。

 

 

もう1回、エラーを体験してみよう

別のエラーを体験してみましょう。
8行目の display を dddddisplay に変更して保存してください。

 

わざとエラーを発生させる

 

 

Corona SDK を見てみるとエラーが発生しています。
発生していないときはプロジェクトを再起動してください。( ctrl + r )
8行目でエラーが出ていますね。
確認できたら「 いいえ 」をクリックします。

 

corona sdk でエラーが発生している

 

 

コンソールでエラーを確認してみましょう。
main.lua の8行目、dddddisplay のところでエラーが発生しています。
コンピューターにとって知らない命令はエラーになります。

 

エラーの内容を確認する

 

 

このようにエラーを調べながら対応していきます。
自力で解決できたときはスカッとしますよ。

 

ここで注意があります。
コンソールをみて気が付いた人もいるでしょう。
右下に Errors:2 Warnings:1 と表示されています。
これは前回のエラーも含めた情報がでています。ハッキリいってニセ情報です。
本来ならば、最新の状態のみを表示するべきなのです。

もしこの情報で混乱することがあるなら、ログを消しましょう。
消す方法は左上にある x アイコンをクリックするだけです。
ログを消してプロジェクトを再起動して、最新のエラー情報のみを出力させます。

 

コンソールのログを消す

 

確認したら dddddisplay を display に戻してプロジェクトを再起動しましょう。

 

 

エラーにならないエラー

エラーが表示されないこともあります。体験してみましょう。
10 行目の backgroud.y を backgroud.b に変更します。

 

エラーにならないエラー

 

 

ファイルを保存してプロジェクトを再起動してください。
正常な状態が左で、今回の結果が右です。
エラーの表示はありません。

 

エラーにならず実行される

 

 

このようにエラー表示がなくても、望まない結果が出るときがあります。
そのときは結果からプログラム上のミス(バグ)を見つけるしかありません。

確認できたら backgroud.y に戻してください。

 

 

画像の表示について

ここで背景を表示したプログラムの内容を説明します。
基本的なことなので、これから何度も使います。
だから説明がよく分からなくても、そのうち自然と理解していることでしょう。
気楽に読んでください。

 

画像を表示するプログラム

 

8行目では背景の画像ファイルを読み込んで、指定されたサイズで表示しています。
さらに、このオブジェクトを制御するために変数 backgroud に代入しています。

9行目と 10行目では、表示座標を画面の中央にしています。
試しにコメントにしてみましょう。
コメントとは実行されない部分です。半角のマイナス を2つ以上続けて書くと
コメントになります。

 

表示座標を指定しない

 

実行してみると、背景の絵が画面の左上に隠れてしまいました。
実際にはつぎのような感じになっています。

 

絵を画面外へ隠す

 

 

このような感じで画像の表示が行われています。
変数とか代入とか専門的なことは少しずつ説明します。
がんばっていきましょう。

 

次回へ続きます。