« スマホ用ゲーム制作・SE&BGM再生 | トップページ | スマホゲーム公開!「想くんホッパー」・未契約のスマホで遊ぶ方法 »

2014年6月18日 (水)

スマホ用ゲーム制作・ファイル操作・座標系・apk著名

ゲーム完成しましたー! 準備ができ次第、公開します^^

 

Android Studioのインストールから始めて4日くらいですね。

予想よりスムーズに作れた気がします。

これで、「(スマホゲームを)作れるけど、作らないんだよ!」って言えるようになりましたw

※スタジオギウは、あくまでPCゲームがメインです。(趣味的に、簡単なゲームなら作っていくかもですけど)

 

Windowsゲームと比べると、基礎部分の(呪文的な)コーディングが1/10くらいかも。

大変だったのは開発環境を整えること。(それぞれのバージョンが違って動かないとか)

開発言語はJAVAなんですが、Cを知ってる人なら覚えやすいと思います。

 

===============

<今回の追加処理>

・BGM再生系。↓な感じ。

        mediaPlayer = MediaPlayer.create(context, R.raw.bgm);
        mediaPlayer.start();
        // ループ再生処理
        mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mediaPlayer) {
                mediaPlayer.start();
            }
        });

 

・ファイル操作系↓(ハイスコア保存)

        try {
            final FileOutputStream fos = MyActivity.context.openFileOutput(GAME_FILENAME, Context.MODE_PRIVATE);
            final DataOutputStream dos = new DataOutputStream(fos);
            dos.writeInt(hi_score[0]);
            dos.writeInt(hi_score[1]);
            dos.writeInt(hi_score[2]);
            dos.flush();
            fos.close();
        } catch (IOException e) {
        }

 

・apk関連(リリースビルドしてアップする方法)でオススメサイト↓

 http://kazukii777.blogspot.jp/2013/05/android-studioapk.html

 

・あと、JAVAには構造体が無いので、CLASSで代用することになります。

例)

// 定義方法

class ChrData {
    float   x,y;   // キャラ座標
    float   pow;   // 昇る力(マイナス=下方向へ)
    float   hou;   // 進んでいる方向&強さ(マイナス=左、プラス=右)
    char    sts=0;   // 状態: 0=無し、1=存在する
}

// 枠を生成

private ChrData[] chr = new ChrData[CHR_MAX];   // キャラデータ

// 個別生成(上記だけだと、ポインタがあるだけなので)

        for (int i = 0; i < CHR_MAX; i++) {
            chr[i] = new ChrData();
        }

あとは普通に、chr[0].x という感じで使えます。

 

・ゲーム座標と画面座標

スマホによって画面サイズが異なるので、そこを調整する必要があります。

まず、内部的なゲーム画面のサイズを決めておき、実際の画面へ表示する際に、座標や絵のサイズを調整るつ感じです。

surfaceChangedで使用する画面サイズを得られるので、それを踏まえて計算すると良いと思います。

        disp_ps = (float) width / (float) GAME_DISP_MX; // 予め計算しておく

        float x = c.x * disp_ps;        // キャラのゲーム座標を画面座標へ変換

===============

以上です。

補足(があれば)は、コメントに書いていきます。

« スマホ用ゲーム制作・SE&BGM再生 | トップページ | スマホゲーム公開!「想くんホッパー」・未契約のスマホで遊ぶ方法 »

学問・資格」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: スマホ用ゲーム制作・ファイル操作・座標系・apk著名:

« スマホ用ゲーム制作・SE&BGM再生 | トップページ | スマホゲーム公開!「想くんホッパー」・未契約のスマホで遊ぶ方法 »