第6回目 Cocoaでシューティングゲーム

キー入力とテクスチャの表示ができれば簡単なゲームぐらいは作ることができます。
今は無きマイコンBASICマガジン2000年7月号に掲載されたMiniS.T.G.を移植してみました。

お知らせ

  • 2009/06/04
    • ファイルのアーカイブが失敗していたためプログラムが実行できなくなっていたので修正しました。

動作環境

MacOSX10.4以降で動作するつもりです。
IntelのCPUでは動作確認しましたがPowerPCでは動くかどうか分かりません。
一応ユニバーサルバイナリの設定にしたので両対応のはず。Rossetaでは動きました。
またOpenGLを使用しているため3Dアクセラレーターが効かない環境では動かないか動いても遅いです。

開発環境

Intel 白MacBook(Core2Duo 2.2GHz) + MacOSX10.5 + XCode3.0

ゲームの説明

タイトル画面でZキーかスペースキーを押すとゲームが始まります。
赤い自機をカーソルキーで上下左右に移動できます。
Zキーかスペースキーで敵を撃てます。
敵、敵の弾に当たると1機減ります。残機がなくなるとゲームオーバー。
ステージの最後にはボスが出てきます。

画面

MiniSTG01.png
MiniSTG02.png
MiniSTG03.png

ファイル構成

  • main.m
    一番初めに呼ばれる関数。
  • view.m/view.h
    NSOpenGLViewの派生クラス。
    タイマとキーボードメッセージの処理をしている。
  • image.mm/image.hpp
    テクスチャ用画像読み込みクラス。CocoaのNSImageとNSBitmapImageRepを使用。
    手抜き実装のため32ビットアルファ付きフルカラーのみ読み込み可。
  • library.cpp/library.hpp
    良く使う関数をまとめた物。
  • mainloop.cpp/mainloop.hpp
    ObjectiveCとC++の架け橋。
    Mainloop_Initializeは初めに一回だけ、Mainloop_Releaseは最後に一回だけ呼ばれる。
    Mainloop_Updateは定期的に一定間隔(約1/60s)で呼ばれる。
  • ministg.cpp/ministg.hpp
    ゲームプログラム本体
    mainloopから呼ばれる

ダウンロード

実行ファイル

前に戻る


添付ファイル: fileMiniSTG03.png 187件 [詳細] fileMiniSTG02.png 180件 [詳細] fileMiniSTG01.png 189件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-12-16 (日) 15:25:52 (2044d)