ちょっと関数の実装のアドバイスなどご享受ください

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Suikaba
記事: 194
登録日時: 9年前

ちょっと関数の実装のアドバイスなどご享受ください

#1

投稿記事 by Suikaba » 9年前

ゲームプログラミングの館のコードを、自分流にクラス分けしてたんですが、
画像の表示のところで詰まってしまいました・・・
DirectX9のSpriteでやってますが、ずっと考えていても思いつかなくて・・・
一応、ウィンドウの表示とフルスクリーンとかのChengeWindowやらは実装してみました。
画像の表示がうまくいくだけで結構進むと思います。

できればアドバイス、クラス構築のヒントなど教えていただけると幸いです。
よろしくおねがいします。

Suikaba
記事: 194
登録日時: 9年前

Re: ちょっと関数の実装のアドバイスなどご享受ください

#2

投稿記事 by Suikaba » 9年前

ちょっと説明不足ですね。すいません

DXLibの内容をイメージしてつくってました。DirectX9をつかってやってます。
Libの中でやってることを自分でクラスわけして再現しようとしていました。

アバター
Ciel
記事: 252
登録日時: 9年前

Re: ちょっと関数の実装のアドバイスなどご享受ください

#3

投稿記事 by Ciel » 9年前

画像の表示で詰まったというのは具体的にどういうことですか?

画像の表示で詰まった。

これだけ聞いても的確なアドバイスが出来るとは思えません。
oui C'est la Vie♪

Suikaba
記事: 194
登録日時: 9年前

Re: ちょっと関数の実装のアドバイスなどご享受ください

#4

投稿記事 by Suikaba » 9年前

そうですねすいませんw

画像表示までの一連の流れはわかります。
それを、うまく関数にして何回も使えるような感じにしたいです。
というか説明下手ですいませんw これでも説明不足ですねたぶん。

アバター
lriki
記事: 88
登録日時: 9年前

Re: ちょっと関数の実装のアドバイスなどご享受ください

#5

投稿記事 by lriki » 9年前

画像表示までの流れはわかる…ってことは、
DXライブラリをクラス使って作ろうとした時に
それをどう定義したらいいかわからないってことですよね。

自作ライブラリ作りたいけど設計がいまいちピンと来ないってところでしょうか。

例えばこんな↓感じにしてみたいとかでしょうか?

コード:

int main()
{
	// 描画と画面更新を行うクラス
	Graphcis* graphics = new Graphcis();
	// テクスチャのクラス
	Texture* texture = new Texture("画像ファイル");
	
	while (/*メッセージ処理関数とか*/)
	{
		// テクスチャと描画先座標を渡してスプライトを描画する
		graphics->drawSprite(texture, 100, 200);
		graphics->drawSprite(texture, 150, 300);
		// 描画終了・画面反映
		graphics->flip();
	}
	
	delete texture;
	delete graphics;
	return 0;
}
変な方向に解釈してたらゴメン><

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: ちょっと関数の実装のアドバイスなどご享受ください

#6

投稿記事 by softya(ソフト屋) » 9年前

とりあえず、クラス化は後回しで良いのでDirectXでC言語ライクで良いので素直に書いてみてはどうでしょうか?
それを元に、どうクラス化するかを考えてみたほうが良いと思います。
出来たらソースコードを貼ってくださいね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Suikaba
記事: 194
登録日時: 9年前

Re: ちょっと関数の実装のアドバイスなどご享受ください

#7

投稿記事 by Suikaba » 9年前

>>softyaさん
了解です。

>> 梨樹さん
ネイティブのDirectXです。すいません。返答ありがとうございます。

Suikaba
記事: 194
登録日時: 9年前

Re: ちょっと関数の実装のアドバイスなどご享受ください

#8

投稿記事 by Suikaba » 9年前

素朴な疑問ですが、ここってファイル添付できますかね?zipファイルとか

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: ちょっと関数の実装のアドバイスなどご享受ください

#9

投稿記事 by softya(ソフト屋) » 9年前

>素朴な疑問ですが、ここってファイル添付できますかね?zipファイルとか
ログインしているなら出来るはずですが。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Suikaba
記事: 194
登録日時: 9年前

Re: ちょっと関数の実装のアドバイスなどご享受ください

#10

投稿記事 by Suikaba » 9年前

zipファイルの添付の仕方がよくわからないんです。すいません。
いちおう、画像表示クラスわけしてできました。透過表示もできるとおもいます。
そのコードを貼り付けたいのですが、1行目のとおりです。できれば教えてくれませんか?調べてみましたがわからなくて・・・

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: ちょっと関数の実装のアドバイスなどご享受ください

#11

投稿記事 by softya(ソフト屋) » 9年前

返信(クィックはNG)の時に下にオプションが見えると思いますが、その横にファイル添付タブがあるのが分かりますか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Suikaba
記事: 194
登録日時: 9年前

Re: ちょっと関数の実装のアドバイスなどご享受ください

#12

投稿記事 by Suikaba » 9年前

できました。ありがとうございます。
クラス化ですが、あまり考えずにやりました。もっとこうしたほうがいい、などのアドバイスをいただけるとありがたいです。
添付ファイル
ryuuzinroku.zip
(5.31 KiB) ダウンロード数: 16 回

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: ちょっと関数の実装のアドバイスなどご享受ください

#13

投稿記事 by softya(ソフト屋) » 9年前

とりあえず、ざっと見た私の感想はクラスの役割りが曖昧だと思います。
えーと、仕事で多人数でオブジェクト指向(C++)を使った事がないので用語等で分かりづらかったごめんなさい。

CWindowと言うクラスならウィンドウの役割りだけを持って欲しいです。
あとメッセージループで呼び出すものを内包してしまっているのも頂けません。
別のインスタンスをCWindow内からクラスポインタなどで呼び出したほうが良いんじゃないでしょうか?
なので、CWindow内から呼び出される動きや表示を制御するクラスが別に必要です。

CDirectCreateもDirectX処理クラスに徹して、スプライトのファイル名とかは外部からもらって動的に管理したほうが良いと思います。

まとめるとクラスの役割りの明確化と今後のことを考えてインターフェイスを整理してください。
今後、機能追加や拡張していく部分は外に出す。ライブラリ的な部分はインターフェイスを整備するです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Suikaba
記事: 194
登録日時: 9年前

Re: ちょっと関数の実装のアドバイスなどご享受ください

#14

投稿記事 by Suikaba » 9年前

ありがとうございます。参考にさせていただきます。

みなさん本当にありがとうございました

閉鎖

“C言語何でも質問掲示板” へ戻る