*第6回目 Cocoaでシューティングゲーム [#bf12259f]
 キー入力とテクスチャの表示ができれば簡単なゲームぐらいは作ることができます。
 今は無きマイコンBASICマガジン2000年7月号に掲載されたMiniS.T.G.を移植してみました。
**お知らせ [#qb985fee]
-2009/06/04
--ファイルのアーカイブが失敗していたためプログラムが実行できなくなっていたので修正しました。
**動作環境 [#naf824dd]
 MaxOSX10.4以降で動作するつもりです。
 IntelのCPUでは動作確認しましたがPowerPCでは動くかどうか分かりません。
 一応ユニバーサルバイナリの設定にしたので両対応のはず。Rossetaでは動きました。
 またOpenGLを使用しているため3Dアクセラレーターが効かない環境では動かないか動いても遅いです。
 
 G4とG5、MacOSX10.4.11で動作しないとの報告がありました。
 ただいま調査中です。

**開発環境 [#mc506d20]
 Intel 白MacBook(Core2Duo 2.2GHz) + MacOSX10.5 + XCode3.0
**ゲームの説明 [#td870b6e]
 タイトル画面でZキーかスペースキーを押すとゲームが始まります。
 赤い自機をカーソルキーで上下左右に移動できます。
 Zキーかスペースキーで敵を撃てます。
 敵、敵の弾に当たると1機減ります。残機がなくなるとゲームオーバー。
 ステージの最後にはボスが出てきます。
**画面 [#r7c19cc6]
#ref(MiniSTG01.png)~
#ref(MiniSTG02.png)~
#ref(MiniSTG03.png)~
**ファイル構成 [#z90259a6]
-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から呼ばれる
**ダウンロード [#j6482f3b]
***実行ファイル [#y573b119]
#ref(http://www.ripple.gr.jp/~kuran_kuran/bin/download/MiniSTG_20090602.zip)~
***ソースファイル [#q19ba938]
#ref(http://www.ripple.gr.jp/~kuran_kuran/bin/download/MiniSTGSource_20090602.zip)~
-2009/06/04
--プログラム
#ref(http://www.ripple.gr.jp/~kuran_kuran/bin/download/MiniSTG_20090604.zip)~
--ソース
#ref(http://www.ripple.gr.jp/~kuran_kuran/bin/download/MiniSTGSource_20090604.zip)~
-2009/06/02
--プログラム~
MiniSTG_20090602.zip~
--ソース~
MiniSTGSource_20090602.zip

[[前に戻る>Mac]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS