忍者ブログ
メンバー向けブログです。
[1] [2]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

具体的な目標を立てる

■InputManagerクラスの実装
シングルトンでGameAppからInit、Releaseされる。
initメソッドでInputクラスの初期化、コンフィグ読み込み、コンフィグメニューから呼び出すことも考えて独自メソッドにする。
Inputクラスをvectorで保持する。具体的にはPlayer1のパッドや、Player2のパッドに対応。多人数にも対応するかも
updateメソッドでInputクラスのupdateメソッドを呼び出して入力データを一挙更新する。
コンフィグデータと照会して方向キー+4ボタンの入力を抽出。
*余裕があれば、押し、離し、溜めたフレーム数なども格納できるようにしたい。あと押し込み深度とか?いらんけど
*さらに余裕があれば入力の履歴を取って格納しておくクラスも作りたい。コマンド入力判定、リプレイに使用する。

//キャラクタなどの制御でどう使われるか
InputState input01 = Input().P1().getInput();
if( input01 & BUTTON_A)
    //ボタンAを押された時の処理
else if(input01 & BUTTON_B)
    //ボタンBを押された時の処理

定数はマクロで宣言。Input.hに記述。

■AnimationManagerの実装
CharactorObjのinitメソッドでm_pAnimationManager = new AnimationManager; とする
抽象クラスで宣言するか?→AnimationしないObjもあるかもしれない、保留
initメソッドで初期化、AnimDataに外部ファイルからデータ読み込み。画像ファイルロード。
CharactorObjのRunメソッド(毎フレーム呼ばれるメソッド)で、キャラの更新が終わった後にm_pAnimeManager.update();を呼び出す?Drawの直前のがいいか
updateメソッドではキャラの状態、フレーム数と、動作の全体フレーム数、キーフレームの位置から描くべき画像の位置を算出して格納する。返すだけでいいかな
CharactorObjはそれを受け取って、Drawメソッドで描画する。

■描画の仕組みなど

PR
www21.atwiki.jp/ntgrock/pages/5.html
wiki更新しました。

てなわけでコミケに受かってました。12月29日月曜日、2日目。
マスター作ってインストーラー作って、CDに焼いて飾り作って、説明書みたいなのでっち上げる期間考えたら7週間くらいしかない
最低限盛り込む要素を考えてみる。
www21.atwiki.jp/ntgrock/pages/75.html

一番ネックになりそうなのはストーリーモード。ノベルパートのスクリプトとCPUの動きを作るのがヤバそう。いざとなったらストーリーモードごとぶった切るしかない。

シーン間でのデータの渡し方について
特にCharaSelectSceneで選んだキャラとステージをBattleSceneに受け渡す場合なんだけど
・CharaSelectScene内でSceneDataクラスをnewして、SceneManagerに引っ掛ける。BattleSceneに遷移したらコンストラクタでSceneDataクラスを漁る。漁った後はdeleteする?
こんなのでいいのかしらん。シーンからマネージャの中身を漁るのはオブジェクト指向的にスマートじゃない気がするんだけど、CharaSelectSceneが存在する限りBattleSceneは存在できない設計だからデータはどこかに明示的においとかなきゃ行けないわけで、だからといってGameAppに引っ掛けるのもなんだかなーと。
やっぱこのシーン遷移の方法がマズい気がするんだぜ。だけど引き返せないこの現実。

キャラクターの制御について
void CharactorObj::updateFrame()が毎回呼ばれてキャラクターの動作を制御する。
先ず自己の状態(enum CharaState)により呼び出す制御関数を決定する。ex. void onWalkFoward();
そしてその状態になって何フレーム目かによって制御を変更する。そこでInputコマンドを取って状態を変更したり、加減速をつけたりする。
最後にその状態になって何フレーム目かをインクリメント

状態を変更するにはchangeState(CharaState cs)を呼び出す。
状態変数を変更、状態フレーム数を初期化。0にするか1にするかはインクリメントする場所を通るかどうかによる。

上の制御とは別に、全状態共通の制御処理も行う。ex. 重力加速度の追加、摩擦からの減速を追加。
加速度による速度の適用、速度による位置の更新。


全オブジェクトの更新が完了した後に相対的なイベントの取得を行う。あたり判定とかそういうの。
衝突判定、振り向き、着地や、壁際の位置補正もこれに分類する。
こいつの実装を考えてはいるんだけど、あんまパッとしないんだよな
■9arrows.com
http://9arrows.com/index.html
オンラインの工程管理ツール。
紹介記事
http://www.moongift.jp/2008/09/9arrows/

日本語対応しててもっと使い勝手のいいのがあるかどうか探索中。つーかどう使うかもよくわかりませんが。

◇用語メモ
_WBS(Work Breakdown Structure)
プロジェクト計画手法の一つ。プロジェクトの成果物を細かく設定し、それに必要な作業を考えて人員を配置していく、らしい。
ゲームだったらハード寄りのシステム管理(描画、サウンド、入力)や、シーン管理、スクリプト管理
、スクリプト作成、素材管理、素材作成、などに分かれる?

_Gantt chart(ガントチャート)
工程管理に用いられる帯状グラフ

_成果物
プロジェクト計画策定時に作成、開発、製造が計画された上で作られるもの。顧客への納品する品物だけじゃなく、プロジェクトに関わる書類などもこう呼ぶらしい。

_マイルストーン管理
中間目標地点のようなもの?工程遅延の許されない大きな節目のこと。マイルストーンへの進捗を監視し、適宜工程の修正を行って新たな計画を立て、再び実施する形でプロジェクトを進行する。


「人と共同でプログラムを組み上げる」

この取り組みは始めてだ。しかも複雑なゲームプログラミング。
こいつぁ厄介だぜ…

不安はあるけど面白そう。やるからにはええもん作り上げるぜー!

9月の目標
・中旬までに基幹プログラムの概念を理解、後シングルトンパターンもね。
・10月までにはサークルロゴ→タイトル画面の流れを組み上げる。


仕事が定時で終われる今のうちに出来ることはやっとかなあかんな…

テスト投稿。
現在の作業進捗、サークルについてやってることを報告するブログです。

※例
■やってること
- DirectAudio周りの制御クラス構築中。
- オブジェクト指向についての本、170Pまで読了。440あるわこれ・・・

■やりたいこと
- キャラクター動作の仕様を最終決定したい
- キャラクターアニメーションに関する設計を済ませたい。ツールも含めて

まぁ伝わるように好き勝手に書けばいいよ。
さぁみんなで、やってるのをアピールだ!!


忍者ブログ [PR]
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
最新コメント
[07/02 ooi]
[06/13 iの字]
最新トラックバック
プロフィール
HN:
ho-senka
性別:
非公開
バーコード
ブログ内検索