[過去ログ] ■自主製作ゲーム:開発状況報告スレ■ (1001レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
786(3): 名前は開発中のものです。 [age] 02/06/01 21:40 ID:??? AAS
>>784784(2): 754 [] 02/06/01 17:27 ID:c4n5yaeA(1) AAS
>>782
ソースの抜粋。
このままだとDirectInput使用不可。
m_pTiny1の部分を違う場所に移動してやると
なぜか大丈夫なんですよ。
DirectXラッパーは全部COMモジュールなんで
自分のコードミスでクラッシュする余地なんてないんですよ。
m_pTiny0 = new CTiny;
m_pTiny0->Initialize();
m_pTiny1 = new CTiny;
m_pTiny1->Initialize();
hr = ::CoCreateInstance( CLSID_DInputTPS, NULL, CLSCTX_INPROC_SERVER, IID_IDInputTPS, (void**)&m_pDInput);
ATLASSERT(SUCCEEDED(hr));
hr = m_pDInput->Initialize( m_hWnd);
ATLASSERT(SUCCEEDED(hr));
>>783
Directionは、クオータニオン1個です。
Positionは、ベクトル1個、
Scaleもベクトル1個。
これを最終的に合成してトランスフォーム行列を作成する訳です。
でもまあScaleは確かにデータを保持する必要はないですね。
クラスに統一性を持たせたかったんですね。
>Directionは、クオータニオン1個です。
>Positionは、ベクトル1個、
>Scaleもベクトル1個。
>これを最終的に合成してトランスフォーム行列を作成する訳です。
なんかビミョウに違うような…
必要なのはQuaternionクラスとVectorクラス。
QuaternionとVectorは相互変換できるように関数を用意すればよい。
あとはMatrixクラスに行列を保持し、ModelクラスにMatrixを持たせて
そこにpitch、yaw、scaleなどのモデル表示用パラメーターを保持させる。
ってのが王道じゃないかと。
787(1): 754 [] 02/06/01 23:06 ID:2xpAPKLU(1/4) AAS
今日はバウンディングボックスクラスを作った。
これは以前作っておいた試作品があったので
現在のプロジェクトにコンバートするだけですんだ。
画像として箱を出力すると、タイニーたんがロボットのようになるので
なかなか面白い。
衝突判定のテストはこれから。
>>786
ちょっとわかりづらかったですかね。
>pitch、yaw、scaleなどのモデル表示用パラメーター
これを単に向きや位置など動作ごとにクラス分けしただけです。
実際には、DirectionとPositionとScaleから多重継承した
Modelクラスを使っています。
あとQuaternionとVectorは相互変換は出来ませんよ。
Vector1つのみでは、データが足りずQuaternionを作ることは出来ません。
789: 名前は開発中のものです。 [sage] 02/06/01 23:09 ID:??? AAS
>>787
vectorもQuarternionも1次元のデータだから、
簡単に相互変換出来るが。たぶん、>>786が言ってるのは、
回転行列との相互変換と言いたかったんだと思うが。
803(1): 名前は開発中のものです。 [sage] 02/06/03 00:19 ID:??? AAS
>>802802(1): 名前は開発中のものです。 [sage] 02/06/02 22:19 ID:??? AAS
>>801
まぁまぁ、そう怒らないで。他の人達の突っ込みはただ煽ってるのではなく
的を得た事を言っていますし。貴方は多分クラス設計の経験が少ないんだろうと
思われるので、ここは経験者の意見を素直に受けた方が得策ですよ。
>実際には、DirectionとPositionとScaleから多重継承した
>Modelクラスを使っています。
これは継承の使い方を間違っています。
Modelクラスというのを、ゲーム中のオブジェクトやキャラクターを表す
クラスだとすると、このModelクラスにDirectionクラスやPositionクラスを
メンバー変数として持たせるのが自然です。(Scaleはfloat値一つでいいです。)
そして敵キャラやアイテムをこのクラスから派生させましょう。
あと、このクラスはObjectクラスと呼んだ方がいいかもしれません。
Modelクラスという名前はメッシュ(ポリゴンの集合体)を想像させて
しまうので。メッシュのクラスは複数のObjectが共用できるように
しましょう。(同じ敵が10匹いても、メッシュは一つでよい)
>>実際には、DirectionとPositionとScaleから多重継承した
>>Modelクラスを使っています。
>これは継承の使い方を間違っています。
はぁ、それでDirectionクラスやPositionクラスを内包する
そのObjectクラスとは、どうやって向きを変えたり移動したりするんですか?
そういったことをする為には、それ用のメソッドを新たに作らにゃならんでしょう。
で、そのメソッドで改めてDirectionクラスやPositionクラスを呼ばなきゃいけない。
俺はそれをするのがイヤだから、こういった形にしてるんですよ。
つーかclassの扱い方としてはこっちの方が普通では?
そしてDirectionクラスやPositionクラスは単なる動作を定義しているだけであって
当然それを総括するクラスは作りますよ。当たり前です。
俺はThingクラスとしてます。ただこれでは命名的にわかりづらいかと思ったんで
>>786の言葉を引用してModelクラスと言ったんです。まあ余計だった訳ですけど。
つーか俺は何から何まで説明しなければならない義務もなければつもりもない。
だからアンタ達の講釈が見当違いになるのも当然。
俺のライブラリの実情なんて、わかりっこないんだから。
でもそれは聞いてないのにくだらないツッコミをする君らゆえにだ。
あとね、Scaleは1個じゃ駄目でしょ。少なくとも俺は駄目です。
なぜなら貴方と俺は同じじゃないからです。
そういうこと。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.042s