10日間でAndroidゲームネイティブ制作に挑戦(エラー編)
皆さんこんにちは。星野耀司です。
前回の時、次回はゲーム画面を制作していきたいといったのですが、エラーが出てうまくいっていません。
そのため今回は起こった問題についていくつか説明してみようと思います。
一つ目はエミュレーターがフリーズする問題です。ある時からエミュレーターを起動したらフリーズし、何も操作を受け付けなくなりました。
アプリのテストで使うので、アプリが問題だと思われました。
原因は、アクティブ系のjavaクラスファイルが、本来あるべき位置とは別の場所に移動していることが原因でした。ファイル整理をしているときに移動させてしまったか、アプリ側の機能で移動してしまたことが原因かもしれません。
幸い、テスト用のアクティブファイルを作るとあるべき位置に作られたため、場所を特定することができました。
元に戻したところ、きちんと起動するようになりました。
二つ目はよく見るUnexpected tokenというエラーです。括弧が足りないという理由でよく出るものですが、明らかに括弧が足りているのに出る時があります。セミコロンもつけていたので原因が不明なのですが、括弧やセミコロン以外にも足りないものがあるのかもしれませんね。
さて、エラーの話以外にも現在の状況をまとめてみました。
そもそも貝を集めるアクションゲームを作ろうとしていたのですが、まずその貝はどうやって出現させるのかわかりませんでした。
衝突判定などは後でやりますが、まず画像の出し方すらわからないのではどうにもなりません。そのため思いついた方法を調べてみました。
まず一つ目、アイテムをプログラムでランダムな位置にスポーンさせる。しかしこの方法は、調べ方が悪いのかどこを探してもありませんでした。
二つ目、最初から特定の場所に置いておいてそれを回収する。ただ、この方法だと、広いマップを使うわけではないので、敵がいてもすぐに回収できてしまうし、変化がないためすぐ飽きてしまうでしょう。
三つ目、画面外に置いておいて、それをランダムな位置に移動させる。これは現在実験中ですが、様々なエラーに直面し、まだできていません。
ゲームプレイ画面のアクティブファイルにxmlファイルにある画像の情報を読み取らせることは、変数を作り、findViewByIdを使い情報を変数に入れることにより成功しました。xmlファイルの中に入っている一つ一つのアイテムには必ずIdがつけられているため、それを参照することによって、情報が得られたのですね。
しかし、それを活用する段階でうまくいかないため、まだまだ時間がかかりそうです。
次回は進捗があればその成果を、なければその間に出た問題について話そうと思います。
ではまた次回
興味を持たれた方はお気軽にお問い合わせください。
インターンシップへの申し込み・お問い合わせ先
