トップページ⇒tech
1001コメント306KB

【C++】 DirectX初心者質問スレ Part4【C++】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2005/05/08(日) 01:53:41
※回答する人も、質問する人も必ず読んでください

これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ

【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。

【 質問する香具師 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。

前スレ
【C++】 DirectX初心者質問スレ Part3【C++】
http://pc8.2ch.net/test/read.cgi/tech/1108987183/
0092デフォルトの名無しさん2005/05/17(火) 05:18:15
なんじゃそら。もったいぶる意味がわからない。
0093デフォルトの名無しさん2005/05/17(火) 05:24:24
はよ出せやタコ
なんのための質問スレだ
0094デフォルトの名無しさん2005/05/17(火) 05:24:35
すっげえ悪質なイタズラ思いついたwwww
http://ex10.2ch.net/test/read.cgi/news4vip/1116266649/

はい、お疲れさまね
0095902005/05/17(火) 05:24:58
>>91
早く答えろよ、いい加減にしないと怒るぞ
0096デフォルトの名無しさん2005/05/17(火) 05:25:36
>>90
グロ画像
PC有害
閲覧注意
0097デフォルトの名無しさん2005/05/17(火) 05:26:43
>>94
なるほど納得
VIPPERも平日の朝からご苦労だなw
0098デフォルトの名無しさん2005/05/17(火) 05:26:56
>>94
グロ 踏んだらPCから神山満月ちゃんが出てくる
0099デフォルトの名無しさん2005/05/17(火) 05:26:59
またVIPPERかよ
0100デフォルトの名無しさん2005/05/17(火) 05:28:48
>>96
アンカーミスすんなwwwww
0101デフォルトの名無しさん2005/05/17(火) 05:30:34
wの使い方でVIPって分かる
0102デフォルトの名無しさん2005/05/17(火) 05:30:49
>>90
フォントだけ表示するとこ抜き出して
その不具合を再現してるテストコード書いてうpしてみ。
そしたら見てくれる人がいるかもしれない。
逆に、その作業の途中で自分で原因見つける事も多いよ。
そのくらいの努力はしたまえよ。
0103デフォルトの名無しさん2005/05/17(火) 05:31:20
http://etc3.2ch.net/test/read.cgi/entrance/1116269436/

バーロー、真実はいつも一つなんだ。
全てはVIPを妬んだラウンジの仕業だったよ。
0104デフォルトの名無しさん2005/05/17(火) 05:31:32
>>100
正直スマンカッタ(藁
0105デフォルトの名無しさん2005/05/17(火) 05:32:04
ラウンジいいからでてけ
0106デフォルトの名無しさん2005/05/17(火) 05:33:39
以上ラウンジのイケメンのしわざでした
    m n _∩                   ∩_ n m
  ⊂二⌒ __)    /\___/ヽ       ( _⌒二⊃
     \ \   /''''''   '''''':::::::\     / /
       \ \  |(●),   、(●)、.:|  / /
        \ \|   ,,ノ(、_, )ヽ、,, .::::|/  /
          \ .|   ´トェェェイ` .:::::::|  /    それが、ラウンジ精神
           \\  |,r-r-| .::::://     http://ex7.2ch.net/entrance/
             \`ー`ニニ´‐―´/
             / ・    ・ /
0107デフォルトの名無しさん2005/05/17(火) 05:34:47
160 名前:訴える名無しさん。[sage ラウンジ] 投稿日:2005/05/17(火) 03:46:38 ID:???
以上ラウンジの馬鹿のしわざでした
    m n _∩                   ∩_ n m
  ⊂二⌒ __)    /\___/ヽ       ( _⌒二⊃
     \ \   /''''''   '''''':::::::\     / /
       \ \  |(●),   、(●)、.:|  / /
        \ \|   ,,ノ(、_, )ヽ、,, .::::|/  /
          \ .|   ´トェェェイ` .:::::::|  /    それが、ラウンジ精神
           \\  |,r-r-| .::::://     http://ex7.2ch.net/entrance/
             \`ー`ニニ´‐―´/
             / ・    ・ /


161 名前:訴える名無しさん。[sage] 投稿日:2005/05/17(火) 03:50:34 ID:???
これはラウンコの連中ですね・・・

162 名前:訴える名無しさん。[sage] 投稿日:2005/05/17(火) 03:51:38 ID:???
ラウンジの奴らはほんとにたち悪いな・・・

163 名前:訴える名無しさん。[sage] 投稿日:2005/05/17(火) 03:51:43 ID:???
えぇ、もうラウンコの人にはうんざりですよね

164 名前:465[] 投稿日:2005/05/17(火) 03:56:51 ID:e6MkygGj
ほんとにラウンジには呆れ果てますね

165 名前:訴える名無しさん。[sage] 投稿日:2005/05/17(火) 03:57:25 ID:???
もうラウンジに失望されっぱなしですよ

これ見ろよ
VIPPERってこんなことするんだぜ
0108デフォルトの名無しさん2005/05/17(火) 05:38:19
     ザッ            ヘ__Λ ヘ__Λ ヘ__Λ ヘ__Λ
                __,/ヽ_ /ヽ__,.ヘ /ヽ__,.ヘ _,.ヘ ,.ヘ    ザッ
    /\___/ヽ   /\___ /\___/ヽ _/ヽ  /\___/ヽ
   /''''''   '''''':::::::\/''''''   '''/''''''   '''''':::::::\   /''''''   '''''':::::::\
  . |(●),   、(●)、.:|(●),    |(●),   、(●)、.:|、( |(●),   、(●)、.:|
  |   ,,ノ(、_, )ヽ、,, .::::|   ,,ノ(、_, )|   ,,ノ(、_, )ヽ、,, .::::|_, )|   ,,ノ(、_, )ヽ、,, .::::|
.   |   `-=ニ=- ' .:::::::|   `-=ニ= |   `-=ニ=- ' .:::::::|ニ=|   `-=ニ=- ' .:::::::|
   \  `ニニ´  .:::::/\  `ニニ \  `ニニ´  .:::::/ニ´ \  `ニニ´  .:::::/
   /`ー‐--‐‐―´\ /`ー‐-  /`ー‐--‐‐―´\-‐‐ /`ー‐--‐‐―´\
「vipから来ますた」「vipから来ますた」「vipから来ますた」「vipから来ますた」


                                    それが、ラウンジ精神
                                    http://ex7.2ch.net/entrance/
0109デフォルトの名無しさん2005/05/17(火) 05:39:05

     ザッ            ヘ__Λ ヘ__Λ ヘ__Λ ヘ__Λ
                __,/ヽ_ /ヽ__,.ヘ /ヽ__,.ヘ _,.ヘ ,.ヘ    ザッ
    /\___/ヽ   /\___ /\___/ヽ _/ヽ  /\___/ヽ
   /''''''   '''''':::::::\/''''''   '''/''''''   '''''':::::::\   /''''''   '''''':::::::\
  . |(●),   、(●)、.:|(●),    |(●),   、(●)、.:|、( |(●),   、(●)、.:|
  |   ,,ノ(、_, )ヽ、,, .::::|   ,,ノ(、_, )|   ,,ノ(、_, )ヽ、,, .::::|_, )|   ,,ノ(、_, )ヽ、,, .::::|
.   |   `-=ニ=- ' .:::::::|   `-=ニ= |   `-=ニ=- ' .:::::::|ニ=|   `-=ニ=- ' .:::::::|
   \  `ニニ´  .:::::/\  `ニニ \  `ニニ´  .:::::/ニ´ \  `ニニ´  .:::::/
   /`ー‐--‐‐―´\ /`ー‐-  /`ー‐--‐‐―´\-‐‐ /`ー‐--‐‐―´\
「vipから来ますた」「vipから来ますた」「vipから来ますた」「vipから来ますた」


                                    それが、ラウンジ精神
                                    http://ex7.2ch.net/entrance/
0110912005/05/17(火) 05:40:20
…………。

暇だから煽り房と遊ぼうと思ったのに……orz
もういいッ! フテ寝するッ!
0111デフォルトの名無しさん2005/05/17(火) 06:51:11
>>91
どのような言葉でぐぐればよいのでしょうか?
0112デフォルトの名無しさん2005/05/17(火) 09:41:08
それもググれ
0113デフォルトの名無しさん2005/05/17(火) 09:47:01
>>112
どうやって?
0114デフォルトの名無しさん2005/05/17(火) 11:21:11
いいからバカ相手にしてないで再現コードうpしろよ
0115デフォルトの名無しさん2005/05/18(水) 11:36:19
ウィンドウモードと、フル画面モードを実行中に切り替えるには、
どうやればいいんでしょう?
DirectXやウィンドウを作り直す必要がある?
01161152005/05/18(水) 11:44:25
すみません、解決しました。
0117デフォルトの名無しさん2005/05/18(水) 12:21:55
116は私ではありません
0118デフォルトの名無しさん2005/05/18(水) 12:25:55
117は私ではありません
0119デフォルトの名無しさん 2005/05/18(水) 12:28:47
自己解決した時は
どこがおかしくてどうやったら解決したか
を書け。
0120デフォルトの名無しさん2005/05/18(水) 13:56:46
>>119
>>103
0121デフォルトの名無しさん2005/05/18(水) 16:20:35
>>115
せめてDirectXのバージョンくらい書こうぜ。
8以降ならResetするときにD3DPRESENT_PARAMETERSを変更するだけでOK。
0122デフォルトの名無しさん2005/05/18(水) 18:22:21
私って誰
0123デフォルトの名無しさん2005/05/18(水) 18:54:01
画面の解像度も変えるんならロスト対策とか色々めんどいよ
うまくいかなかったらデバイスもリソースも全部作り直したほうが楽かもね
0124デフォルトの名無しさん2005/05/18(水) 19:57:06
123も私ではありません
0125デフォルトの名無しさん2005/05/18(水) 22:31:44
ボールのXファイルに質量とか弾性とか持たせたいんですが
やっぱクラスにまとめるんですか?
Xファイルにパラメータみたいなものも書き込めるんでしょうか?
0126デフォルトの名無しさん2005/05/19(木) 00:03:58
クラスとかにまとめるというのが意味不明だが、
自分でテンプレートを定義すればいくらでも入る。
XFileはただのコンテナに過ぎない。
01271152005/05/19(木) 00:44:46
すみません凍結しました。
0128デフォルトの名無しさん2005/05/19(木) 02:37:04
>>125
xファイルにユーザーデータな話でぐぐれ
0129デフォルトの名無しさん2005/05/20(金) 15:54:33
m
0130デフォルトの名無しさん2005/05/20(金) 17:59:02
(-m-)
0131デフォルトの名無しさん2005/05/20(金) 18:06:04
mか、、、rnかと思った
0132デフォルトの名無しさん2005/05/20(金) 21:08:39
(-rn-)
0133デフォルトの名無しさん2005/05/20(金) 23:24:13
VC++.NET2003でDirectX9.0cAprilでDirectPlay8を利用した
クライアントサーバ型チャットプログラムを作っています
通信相手が接続したらDPN_MSGID_メッセージを
別ソースへ記述してあるメッセージハンドラが受け取って
.NETWindowsフォームアプリケーションのForm1の
リッチテキストボックスコントロールのrichtxtに
"接続しました”系のメッセージを表示するには
どうすればよいでしょうか?
switch(dwMessageType)
{
case DPN_MSGID_CREATE_PLAYER
ここをお願いします
 return DPN_OK;
}
0134デフォルトの名無しさん2005/05/21(土) 05:07:41
それはAPIの質問じゃないの。
DirectPlayがどうとか前半の話は全然関係ないやん。
0135デフォルトの名無しさん2005/05/22(日) 01:43:12
起伏のある地面の上を歩くプログラムを作りたいのですが普通は地面と自キャラの当たり判定をどのように取るのでしょうか?
0136デフォルトの名無しさん2005/05/22(日) 01:47:48
素人はまずランドスケープでも勉強しろ。
01371352005/05/22(日) 02:13:28
>>136
ランドスケープでぐぐると造園等のまったく関係の無い情報ばかりでてきますのでもう少し絞り込むためのキーワードみたいなものを教えていただけないでしょうか?
0138デフォルトの名無しさん2005/05/22(日) 02:34:42
ハイトマップとかハイトフィールドとか。
一つ先のフレームでの自キャラの位置を想定して、
「自キャラの膝あたりから地面方向に飛ばしたレイ」と「自キャラの真下の地面のポリゴン」
との当たり判定(直線と面との当たり判定は、intersectなんちゃらとかいう関数がDXにあったと思う)をして、
レイと地面の交差位置が自キャラの膝下の長さより長ければ浮いてるって事だからその分だけ下降させ、
短ければ潜ってるってことだからその分上昇させる事で「接地」させられる。

というふうに自分はやってみた。
0139デフォルトの名無しさん2005/05/22(日) 07:10:06
画面上でマウスカーソルの位置をセットする方法を教えてください
0140デフォルトの名無しさん2005/05/22(日) 07:42:07
もうすこし意味が伝わるように一生懸命に質問しろよ。礼儀知らずが。
0141デフォルトの名無しさん2005/05/22(日) 12:55:01
ワールド空間での長さ1を現実世界でのどのくらいの
長さにするか迷ってるのですが、よく使われる設定
とかってあるんですか?
0142デフォルトの名無しさん 2005/05/22(日) 13:31:11
わけわかめ。どういう答えを期待してるのだろう。
0143デフォルトの名無しさん2005/05/22(日) 14:26:02
DirectX9.0c を使っています。
デバイスをリセットする際、その直前にいくつかのメモリを明示的に解放しないと
いけないと本に書いてありましたが、CreateVertexBuffer メソッドで取得した
LPDIRECT3DVERTEX9 も解放する必要があるのでしょうか。
もし解放するなら、どのように解放するのでしょう。
LPDIRECT3DVERTEX9 には Release メソッドが無いし、
FreePrivateData メソッドもなにか違う気がするのですが…

実は CreateVertexBuffer で D3DPOOL_MANAGED を指定しておけば
何も問題は無かったりしますか?
0144デフォルトの名無しさん2005/05/22(日) 15:36:34
来年からIT企業にPGとして就職するんだけど、
文学部出身だから、プログラムが全然分からない。
早くSEになりたいので、まずプログラムをマスターしたいんですけど、
まず何を勉強したらいいですか?
0145デフォルトの名無しさん2005/05/22(日) 15:42:11
>>144
SEになりたいならプログラムの知識はいらない。
0146デフォルトの名無しさん2005/05/22(日) 15:43:27
ここは笑う所ですか
0147デフォルトの名無しさん2005/05/22(日) 20:19:56
PGとして就職するのにプログラムの知識がいらないとはこれイカに
0148デフォルトの名無しさん2005/05/22(日) 20:26:13
SEとPGを混同している馬鹿がいるな。
0149デフォルトの名無しさん2005/05/22(日) 21:20:46
>>143
IUnknownから継承してるので、Releaseメソッドはある。
MANAGEDリソースはReset時に復活できるようメモリに
コピーされている。マニュアル嫁。
0150デフォルトの名無しさん2005/05/23(月) 02:37:17
>文学部出身だから、プログラムが全然分からない。

こーゆー人知り合いにもいるけど苦労するよ。
人生失敗したと後悔すると思うから考え直したほうがいい。
しかし何でDirectXのスレに書いてるんだ?
0151デフォルトの名無しさん2005/05/23(月) 04:07:41
バカだから。
0152デフォルトの名無しさん2005/05/23(月) 09:04:19
つーか、文学部かどうかとプログラミングの能力には直接の関連性はないね。
尤も、スレタイも読めないようじゃ、人間としての素養を疑わざるを得ないけど。
0153デフォルトの名無しさん2005/05/23(月) 09:15:52
どうせマルチじゃないの?
0154デフォルトの名無しさん2005/05/23(月) 10:01:33
VCまで理解しました。そんな人のためのDirectXの良書を教えてくだされ。
0155デフォルトの名無しさん2005/05/23(月) 10:08:22
次は VC++ を理解してください。
0156デフォルトの名無しさん2005/05/23(月) 10:20:54
その間の VC+ もよろしく
01571432005/05/23(月) 11:20:25
>>149
ああ、Release って IUnknown にくっついていたのね。。。。。
解決しました。どうもありがとう
てことは、本とかでよく使われるマクロ
#define RELEASE (x) {if(x)(x)->Release();(x)=NULL;}
も、
inline void RELEASE(IUnknown* x) {
 if( *x) {
  (*x)->Release();
  (*x) = NULL;
 }
}
というふうに型チェックつきにできるのかな?
0158デフォルトの名無しさん2005/05/23(月) 11:32:25
できる。
01598572005/05/23(月) 11:35:47
DirectX9c をインストールしようとするとエラーがでます
どなたか助力をお願いいたします。

環境:Win XP pro SP1 dirextX9b SDKをインストールしています

http://v.isp.2ch.net/up/acc437db5dfb.jpg
0160デフォルトの名無しさん2005/05/23(月) 12:12:29
漏れは
template <class T>
inline void safe_release(T*& p)
{
    if (p) {
        p->Release();
        p = 0;
    }
}
ってやってた
0161デフォルトの名無しさん2005/05/23(月) 13:52:21
>>159
HDDの空きがない、ファイルが壊れている
0162デフォルトの名無しさん2005/05/23(月) 16:06:39
161さん。返信ありがとうございます。
容量は6G空いております、ファイルは
ttp://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=9226a611-62fe-4f61-aba1-914185249413
の物を使っています。MD5等が載っていないので
正常だと断定できませんが、ファイルサイズも同じですし正常だと思います。
0163デフォルトの名無しさん2005/05/23(月) 16:22:41
>>162
「エラーが出ます」だけじゃ若ラン。
「どんな」エラーが出ているのかを述べよ。
01641592005/05/23(月) 16:27:22
すいません。159です
http://v.isp.2ch.net/up/acc437db5dfb.jpg
01651592005/05/23(月) 16:31:20
159,162,164はすべて僕です。
DirectX9c をインストールすると下のようなエラーがでます。
ttp://v.isp.2ch.net/up/acc437db5dfb.jpg
環境はxp pro sp1 DirectX sdk9bをインストしています
0166デフォルトの名無しさん2005/05/23(月) 16:32:58
そもそもCとは何
0167デフォルトの名無しさん2005/05/23(月) 18:00:46
>>165
WindowsUpdateからDirectXランタイムを入れてみたら?
0168デフォルトの名無しさん2005/05/24(火) 21:55:05
DirectX9の環境で、DirectX7のプログラミングって可能ですか?

ビルドは通るんですが、実行時にIDirectDraw7のインターフェースが取得できなくて終わってしまいます。
0169デフォルトの名無しさん2005/05/24(火) 21:56:47
可能。
0170デフォルトの名無しさん2005/05/24(火) 22:33:48
Direct3DCreate9 関数に失敗した場合に表示するエラーメッセージって、

「Direct3Dの取得に失敗しました。以下の方法で解決できる場合があります。
・DirectX がインストールされていない場合はDirectXをインストールしてから実行してください。
・ほかにソフトが起動している場合は、それらを全て終了させてください。
・Windowsを再起動してから実行してみてください。
・サポートWEBに、このエラーについての情報がないかどうか確認してみてください」

ってしておけばPC初心者にも優しいかな?
01711682005/05/24(火) 22:49:27
ということは、ソースが悪いのですか。初期化できないス。。。
0172デフォルトの名無しさん2005/05/24(火) 22:55:05
>>171
Direct7 がインストールされてなかったりして。
0173デフォルトの名無しさん2005/05/24(火) 23:21:04
>>171
実はDirector7 だったりして。
01741682005/05/24(火) 23:28:23
なんとか解決しました。DirectDrawCreateExの第二引数にLPDIRECTDRAW7のポインタを指定、という所を
解決前:
LPDIRECTDRAW7   pDD;
DirectDrawCreateEx( , pDD.....);
解決後:
DirectDrawCreateEx( , &pDD....);

でした。しかし、なぜ&が必要かが未熟者でイマイチ理解してない。
LPDIRECTDRAW7型自体ポインタですよね?それとも構造体なのかな?
0175デフォルトの名無しさん2005/05/24(火) 23:43:04
アホすぎ
0176デフォルトの名無しさん2005/05/24(火) 23:51:06
>>174

void f0( int* a )
{
a = new int;
}

void f1( int** a )
{
*a = new int;
}

int main()
{
int* a0 = NULL;
f0( a0 );

int* a1 = NULL;
f1( &a1 );
}
01771682005/05/25(水) 00:15:19
>>176
アドレス変数のポインタを指定しろって仕様だったんですね。勘違いしましたTHX。
0178デフォルトの名無しさん2005/05/25(水) 21:16:54
D3DXCreateTextureFromFileExでTexture作成時にD3DPOOL_MANAGEDを指定しても
Resetに失敗する……なんでだろ?
01791782005/05/25(水) 22:11:22
自己解決……スマソorz
0180デフォルトの名無しさん2005/05/25(水) 22:30:01
DirectInputの機能だけでマウスの現在のクライアント座標を調べる方法はありますでしょうか?
0181デフォルトの名無しさん2005/05/26(木) 09:39:35
>>180
DirectInputのサンプルにマウスの項目がある。
0182デフォルトの名無しさん2005/05/26(木) 10:18:16
Win32APIを使えば一瞬ですむものを、なぜわざわざDirectInputを使おうとするのかさっぱり理解できない。
0183デフォルトの名無しさん2005/05/26(木) 14:33:51
>>181
サンプルのMouseは移動量を調べることができるだけですよね?
クライアントウィンドウ内の座標を調べたいのですが

>>182
今回のプロジェクトのルールでWin32APIを使っちゃいけないんです
0184デフォルトの名無しさん2005/05/26(木) 16:10:46
    _, ._
  ( ゚ Д゚)   ガシャ
  ( つ O. __
  と_)_) (__()、;.o:。
          ゚*・:.。
0185デフォルトの名無しさん2005/05/26(木) 16:30:11
XBOX関連、とか
0186デフォルトの名無しさん2005/05/26(木) 17:09:39
それだとマウス無い
0187デフォルトの名無しさん2005/05/26(木) 18:40:18
> 今回のプロジェクトのルールでWin32APIを使っちゃいけないんです
ウインドウの表示すらしないとは、凄まじいプロジェクトですね。
0188デフォルトの名無しさん2005/05/26(木) 18:49:13
クライアント座標って書いてるからにはウィンドウは表示させるんだろう
何で使っちゃいけないことになったのかは知らんがすさまじいプロジェクトだな
0189デフォルトの名無しさん2005/05/26(木) 20:26:34
気分で決めてんじゃねーよw
0190デフォルトの名無しさん2005/05/26(木) 21:54:54
立方体をたくさん書いてみたんですが、奥の立方体が手前の立方体の上に表示されてしまいます。
一応奥の立方体が小さくは表示されているんですが。
Zバッファも設定してるんですが、それだけじゃダメなんでしょうか?
01911902005/05/26(木) 22:46:35
出来ました。
Nearクリップ値を0にしていたのがまずかったようです。
■ このスレッドは過去ログ倉庫に格納されています