トップページ⇒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/
0652デフォルトの名無しさん2005/06/28(火) 21:45:54
CreateTexture
Lock
0653デフォルトの名無しさん2005/06/29(水) 04:47:23
テクスチャフォーマットを無視してtexture::lockで書き込み、意図した結果が得られない悪寒。
とりあえずD3DFMT_A8R8G8B8 にしてLockしたら A<<24|R<<16|G<<8|B で書き込んどけ。
0654デフォルトの名無しさん2005/06/29(水) 04:55:14
とりあえず↓みたいにすれば、好きなARGBビット割り当てでのカラーコードが得られるぞ。
int argb(int a, int r, int g, int b, int abit, int rbit, int gbit, int bbit ) {
return (a>>(8-abit))<<(abit+rbit+gbit) | (r>>(8-rbit))<<(rbit+bbit) | (g>>(8-gbit))<<bbit | (b>>(8-bbit)) ;
}
D3DFMT_R5G6B5の場合は argb(a,r,g,b,0,5,6,5) にしとく。
0655デフォルトの名無しさん2005/06/29(水) 19:04:05
DirectMusicで一時停止の仕方を教えて下さい。
wavファイルを使って途中再生しようと思ったのですが、必ず最初から再生されます。

セグメントは GetObject() で取得しています。
Segment->SetStartPoint(time);
PlaySegmentEx(...,&pss,...);
pss->QueryInterface(IID_IDirectMusicSegmentState8, (LPVOID*) &pss8);
を呼び出した後、値を調べてみると
Segment->GetStartPoint() == time
pss8->GetStartPoint() == 0
となっていたので、PlaySegmentEx() 関数を調べてみたものの
よく分かりませんでした。

SDKヘルプの「セグメントの一時停止」を参考にしたのですが、
特にこれといった注意書きも見当たりませんでした。
0656デフォルトの名無しさん2005/06/29(水) 23:20:56
60fspの親ウィドウの上にTEXTの子ウィンドウを作って文字入力し描画したら
激しくちらつくんですがどうやったら親ウィンドウが毎描画するごとに
子ウィンドウを前面に描画することができるんでしょうか?
0657デフォルトの名無しさん2005/06/29(水) 23:41:54
文字入力そのものを自分で描画すればいい。
0658デフォルトの名無しさん2005/06/30(木) 01:52:56
Xファイルについてなんですけど
フリーのゲームとかみてたらXファイルがフォルダの中にはいっていないのは
他の何かに埋め込んでるからなんですか?
どのように隠しているのかヒントください
0659デフォルトの名無しさん2005/06/30(木) 01:55:27
>>658
拡張子の変更、暗号化、別ファイルに埋め込み、そもそも別のファイル形式
0660デフォルトの名無しさん2005/06/30(木) 04:41:20
逆行列の作り方は、左からベクトルを掛けるタイプと
右からベクトルを掛けるタイプとどちらのタイプの行列でも
同じ作り方でよいですか?
0661デフォルトの名無しさん2005/06/30(木) 11:19:00
Visual C++でMFCを使ってのDirectXプログラミングの解説って少ないですね。
MFC使わないでWin32API使った方がやっぱり楽なんですかね…。
0662デフォルトの名無しさん2005/06/30(木) 11:26:22
初期化の部分がちょっと面倒になるだけだから、解説するほどのことでもない。
0663デフォルトの名無しさん2005/06/30(木) 11:33:28
そうですか。MFCでdirectinput試してるけどなんか上手く行かないんですよね。
まあ、もう少し色々試してみます。
0664デフォルトの名無しさん2005/06/30(木) 21:50:45
すいません、質問よろしいでしょうか?
3D空間にオブジェクト配置してそれをマウスでクリックして反応とれるようにしたいんですが、
D3DXVec3Unprojectが上手く動いてくれません。
http://www.tsg.ne.jp/sept/prg/memo/polypick.asp
↑見るとワールド行列が初期化されてそのまま入っているのでこれを参考にしたのですが、これで動くものなんでしょうか?
あと、よろしければ皆さんがどのようにZ軸の値を決めているのかも聞かせていただければ幸いです
0665デフォルトの名無しさん2005/06/30(木) 22:48:19
レイを伸ばすだけ。
それ以上でもそれ以下でもない。
0666デフォルトの名無しさん2005/06/30(木) 23:12:35
>>664
D3DXVec3Unprojectの第3〜6引数は描画に使ってるのと同じのを渡すだけ。
おまえがワールド行列に単位行列を使ってるなら単位行列を渡せばいい。
06676552005/07/01(金) 00:42:51
>>655で、DirectMusicのwav再生の事で質問した者です。

BBXという掲示板を拝見した所、DirectMusicについての返答は、
ほとんど期待できない様な事が書かれていました。
これは、ここでの返答も期待出来ないと思った方がいいのでしょうか?

というか、期待出来ないと言う事は不可能な処理なのでしょうかね?
一時停止に成功された方がいましたら、返信して頂けないでしょうか?
0668デフォルトの名無しさん2005/07/01(金) 00:46:39
DirectSoundで自分で好きなように加工して再生すればいいだけ。
ソフトシンセを使う以外でDirectMusicを使う必要性がさっぱり分からない。
0669デフォルトの名無しさん2005/07/01(金) 01:43:37
一時停止に成功・・・そんなに難しいことなのか?
0670デフォルトの名無しさん2005/07/01(金) 06:29:42
DirectMusic誰も使ってないもんな。
0671デフォルトの名無しさん2005/07/01(金) 06:56:02
>>667
>注 サンプル関数の mtLength パラメータは、
>通常、WAV ファイルからロードされたセグメントに対しては 1 である。
>この場合は、SetStartPoint を呼び出す前に、IDirectMusicSegment8::SetLength を使って、
>セグメントの長さを現在のオフセットより少なくとも 1 チックだけ大きい値に設定する必要がある。
>詳細については、IDirectMusicSegment8::SetStartPoint を参照すること。
このへんにやられてるってこともない?
06726552005/07/02(土) 02:46:30
皆さん、返信ありがとうございます。

試しに DirectSound で実装してみたら……なんか、簡単に実装出来ちゃいました。
確かに DirectMusic 使うんなら、こっちでよさそうですね。

あ、でも一時停止が出来なかった原因は知りたいな、とも思います。
というわけで、>>671さん。
はい、SetLength はちゃんと設定してあります。
GetLenght で設定した値が返ってきましたので、ここは問題ないと思います。
0673デフォルトの名無しさん2005/07/02(土) 15:30:41
DrawIndexedPrimitiveでLINESTRIPを表示すると、白い線しか表示できません。
具体的にどこで色を指定すればいいんでしょうか?
MaterialのDiffuseとAmbientとEmissiveとSpecularは試してみましたが駄目でした。
環境はXP DirectX9.0C GeForce6800です。
0674デフォルトの名無しさん2005/07/02(土) 15:39:06
ラインでも色の付き方、指定の仕方はは通常ポリゴンと変わらない。
よってラインだから発生する色の疑問点などどこにもない。
0675デフォルトの名無しさん2005/07/02(土) 15:56:02
単純にD3DRS_LIGHTINGがTRUEになってないだけだったりして
06766732005/07/02(土) 16:09:54
>>675
頂点色を付けて、
D3DDevice->SetRenderState(D3DRS_LIGHTING, TRUE);
の1行を追加したら見事色付きで表示されました!
ありがとうございました。
Materialの設定は特に必要ないみたいでした。
06776732005/07/02(土) 16:14:19
と思ったら、
D3DDevice->SetRenderState(D3DRS_LIGHTING, TRUE);
も必要なくて、頂点色だけでOKだったようです。
最初に頂点色で試したときに何かミスってたようです・・・。
ありがとうございました。
06786732005/07/02(土) 16:20:35
最初にうまくいかなかった原因は、色つき頂点のFVFがD3DFVF_XYZRHW | D3DFVF_TEX1になっていたというくだらない理由でした・・・。
お騒がせしました。
0679デフォルトの名無しさん2005/07/02(土) 22:27:46
昔自分で書いたDx7のラッパーをヘルプを見ながらDx8用に書き換えてます。

Dx7のDirectSoundにはチュートリアルに大きなwavファイルをストリーミングして再生する方法が
載っていたのですが、DX8のチュートリアルにはありません。
もしかして自動的にやってくれるのでしょうか?
0680デフォルトの名無しさん2005/07/02(土) 22:52:28
>>679
なんでDx9にしなかったの?
バカジャネwクルシメw

誰も助けてくれないのは承知の上だよね?w
0681デフォルトの名無しさん2005/07/02(土) 22:55:54
>>680
DirectSoundはDX8もDX9も同じじゃない?
0682デフォルトの名無しさん2005/07/02(土) 23:03:14
>>681
じゃあ、こいつ>>679なんのヘルプみてんの?
0683デフォルトの名無しさん2005/07/02(土) 23:05:21
CStreamingSound Sample Class
0684デフォルトの名無しさん2005/07/02(土) 23:08:58
>>682
シラネ
0685デフォルトの名無しさん2005/07/02(土) 23:09:46
DirectX9対応じゃないビデオカードでも、DirectX9のゲームは動くんだから、
DirectX9使えばいいのに。
0686デフォルトの名無しさん2005/07/02(土) 23:21:49
>>680がバカ丸出しな件について

多分自分でコード書いたこと無い阿呆かと
06876792005/07/02(土) 23:24:55
>>680
もしかしてそれはギャグで言っているのか?(AA略
0688デフォルトの名無しさん2005/07/02(土) 23:25:43
>>686
いや、DirectSoundなんてとっくの昔にラッパー組み上げて放置状態だけど?
複数同時のストリーミング再生まで出来てる。
お前もできてからグチグチいってみろ。
できてるならよし。
0689デフォルトの名無しさん2005/07/02(土) 23:26:41
それとCStreamingSound Sample Classはみたんだよね?
0690デフォルトの名無しさん2005/07/02(土) 23:28:06
いつからDirectSound9が出来たのか教えてくれwww
0691デフォルトの名無しさん2005/07/02(土) 23:28:39
>>690
追加された項目があるだろ?
0692デフォルトの名無しさん2005/07/02(土) 23:30:22
ここはネタまみれのインターネッツですね
トンチンカンな噛み付き方した>>680の負け
0693デフォルトの名無しさん2005/07/02(土) 23:31:16
>>680がなんで熱くなってるのかわからない
0694デフォルトの名無しさん2005/07/02(土) 23:33:14
>>692
いや、>>679が求めてる内容がまさにDirectX9で追加された
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/htm/cstreamingsoundsampleclass.asp
だからね。
救いようが無いね。
0695デフォルトの名無しさん2005/07/02(土) 23:33:55
>>693
自分の間違いを認められず誤魔化したくて必死なんだよ
そっとしておいてやるのも優しさだぞ?
06966792005/07/02(土) 23:52:28
質問の意図が勘違いされてるようで
聞きたかったのはストリーミングの仕方ではなくてDx8のヘルプに載ってない
理由だったんだけどな
載ってないならDx8Audioインターフェースなら自動的にやってくれるのか?、と
なおストリーミングなら自前のDx7Soundラッパーで実装済み
取り敢えず簡単に7->8と書き換えれば済むって事が判ったのでいいけどね

Dx9Soundには笑ったけど
0697デフォルトの名無しさん2005/07/03(日) 01:03:30
>>696
>聞きたかったのはストリーミングの仕方ではなくてDx8のヘルプに載ってない理由だったんだけどな
ハイハイ。理由まで書いてあるヘルプなんてみたことないけどね。
0698デフォルトの名無しさん2005/07/03(日) 01:07:00
恐ろしい読解力だ
0699デフォルトの名無しさん2005/07/03(日) 01:08:23
>>697
楽しそうですね。
0700デフォルトの名無しさん2005/07/03(日) 01:12:43
結局、>>694のリンク先を使うんだろ?
0701デフォルトの名無しさん2005/07/03(日) 01:34:16
プログラマーって悲しい生き物ぢゃ
0702デフォルトの名無しさん2005/07/03(日) 01:51:45
>>696
DirectX8にはカスタムロードがあるから。
MSの中の人はDSoundからストリーミングする方法は書かなくても良いと
思ったんじゃないだろうか。

http://www.microsoft.com/japan/msdn/directx/techart/dmloading.asp
0703デフォルトの名無しさん2005/07/03(日) 07:49:11
Xファイルを読み込んで表示させてみたのですが、
前後関係がおかしく表示されてしまいます。
SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE)
してるんですけどダメです。
心当たりのある方、教えてください。
0704デフォルトの名無しさん2005/07/03(日) 08:59:22
データの座標系と描画に使っている座標系が何になっているかをまず答えてくれ。
話はそれからだ。
07056792005/07/03(日) 09:22:38
>>700
使わない、機能的には俺が書いたラッパーと変わらん
つか自分が書いたラッパーに依存しきったプロジェクトが既にあるんで
今からI/FをMS謹製に合わせたくないのが正直な所

>>702
サンクス、すぐには使えませんがちょっと調べてみます。
自前ラッパーもそろそろ寿命かな…
07067032005/07/03(日) 10:04:18
>>704
座標系って右手とか左手とか?
SDK のサンプルだから左手だと想うんだけど……
視点も左手。

http://nijibox.ohflip.com/futabafiles/001/src/sa25173.png
↑こんな感じに描画される。
フタと注ぎ口が見えてるけど、底の方が手前。
小さく見えてる方が Z値大きい。
0707デフォルトの名無しさん2005/07/03(日) 11:35:24
射影行列のZnはいくつにしてる?
0708デフォルトの名無しさん2005/07/03(日) 11:39:19
>>703
EnableAutoDepthStencilをTRUEにしてる?
0709デフォルトの名無しさん2005/07/03(日) 11:52:51
>>707
ゼロでした。 1 にしてみたらちゃんと表示できているようです。
まさかこんなところとは……

みなさん(?)ありがとうございました。
0710質問2005/07/03(日) 15:44:54
DirectX9 HLSLでできることというのは、DirectX8までのアセンブラシェーダで同じものを書くことはできないのですか。
それとも単に高級言語で書けるようになっただけ、なのでしょうか。
0711デフォルトの名無しさん2005/07/03(日) 16:00:32
>>710
基本的には後者の認識で正しい。
DX9にはコマンドラインのシェーダコンパイラが付属しているから、
HLSLをコンパイルしてアセンブリコードを吐いてみると面白いよ。
0712デフォルトの名無しさん2005/07/03(日) 16:03:21
今DirectXつかってゲーム製作中なんですけど
やたら動作が遅く感じたので、FPS表示させてみたら30〜40位しかでてないんですけど
タスクマネージャでCPU使用率見たら0〜3くらいしか使ってません(あとはアイドル
CPU使用率ってどういう状況で高くなるんですか??
0713デフォルトの名無しさん2005/07/03(日) 16:06:12
Direct3D9: (INFO) :MemFini!
Direct3D9: (ERROR) :Memory still allocated! Alloc count = 220
Direct3D9: (ERROR) :Current Process (pid) = 00000e10
Direct3D9: (ERROR) :Memory Address: 0037732c lAllocID=1 dwSize=000047f8, ReturnAddr=011534c8 (pid=00000e10)
Direct3D9: (ERROR) :Memory Address: 0037da34 lAllocID=11 dwSize=000013d4, ReturnAddr=0114c2cb (pid=00000e10)

というのはどういうことなんでしょう?・・メモリーリークなのは解りますがMemFini!ってどういうことですか?
0714デフォルトの名無しさん2005/07/03(日) 16:08:56
>>712
GPU側の描画処理がボトルネックになってるんじゃない?
0715デフォルトの名無しさん2005/07/03(日) 16:09:24
>>713
(INFO) だから気にするな
07167132005/07/03(日) 16:31:46
>>715 �d
0717デフォルトの名無しさん2005/07/03(日) 16:47:07
>>711
くぁりがとうございました
0718デフォルトの名無しさん2005/07/03(日) 18:39:33
WGF2あたりからはHLSLだけになるんだっけ?
0719デフォルトの名無しさん2005/07/03(日) 19:39:09
意味ね-----------------------------------------------------------------

また最適化はコンパイラまかせのアホが出る
0720デフォルトの名無しさん2005/07/04(月) 01:11:41
rayの使い方について少しお聞きしたいのですが、
D3DXIntersectを使って3Dオブジェクトを選択しようとしているのですがどうも上手くいきません。
第一引数に対象のメッシュを、第二引数にメッシュのローカル座標?に変換したマウスの座標を、
第三引数には方向ベクトルということで(0,0,1)を入れました(視点はXY平面に平行です)が、
どこをクリックしても第四引数がTRUEになってしまいます。
恐らくこの文だけでも多くの突っ込みどころがあるかとは思いますが、どうかご教授願えないでしょうか?
0721デフォルトの名無しさん2005/07/04(月) 11:37:51
とりあえずレイは「視点の座標」と「マウスのスクリーン座標をワールド座標系に変換した座標」を結ぶ直線
ではないだろうか。
0722デフォルトの名無しさん2005/07/04(月) 11:57:14
平行投影だから視点が無限遠になっちゃうんでしょ
0723デフォルトの名無しさん2005/07/04(月) 12:01:56
どこから並行投影という言葉が出てきたのか。
0724デフォルトの名無しさん2005/07/04(月) 12:03:13
↑×並行○平行
0725デフォルトの名無しさん2005/07/04(月) 12:03:55
>>723
>>720の「視点はXY平面に平行」って平行投影のことじゃないのかな
0726デフォルトの名無しさん2005/07/04(月) 12:13:20
DirectXは知らんのだが、
>視点はXY平面に平行です
って、まさか画面に平行じゃないだろうなぁ。
#いや、念のためだ。
0727デフォルトの名無しさん2005/07/04(月) 12:16:15
雰囲気で察っしたまえよ。
とりあえず簡単にど真ん中向いてやろうとしてるだけじゃねーの。
だから、レイの方向を適当に0,0,1と入れてみた。
その補足として「〜は平行です」と書いた。
でも言いたかったのは正しくは「視線がxy平面に垂直」であると。
そもそも点と面で平行とか垂直って言うのかいな。バカの巣窟だな。
0728デフォルトの名無しさん2005/07/04(月) 12:20:14
XrayNはDQNだよ
0729デフォルトの名無しさん2005/07/04(月) 12:27:37
>>727
巣窟も何も、>722=725が馬鹿なだけだろ?
0730デフォルトの名無しさん2005/07/04(月) 12:36:31
DirectX は知らないんだけど Ray は始点を含まない有向半直線だったりしないのかね?
0731デフォルトの名無しさん2005/07/04(月) 12:46:57
知らないなら黙ってろよウゼェ。>>721でFA出てんだよ。
0732デフォルトの名無しさん2005/07/04(月) 13:32:44
>>730
要は"レイの向き"には、射影後の空間での奥方向(+Z方向)のベクトルを、
モデル空間に逆変換したものを指定すればいいんだけど、
"向き"を透視変換入りの行列で逆変換してもうまくいかないから、
代わりにレイの始点( px, py, 0 )とレイの注視点( px, py, 1 )を逆変換して、
2つの差分を求めればいいわ。
px = (mouseX / screenWidth - 0.5f) * 2.0f;
py = -(mouseY / screenHeight - 0.5f) * 2.0f;
これで透視射影でも正射影でもおkよ。
0733デフォルトの名無しさん2005/07/04(月) 13:33:34
×>>730 ○>>720
07347202005/07/04(月) 14:50:33
皆さん回答ありがとうございます。レイの方向が変だってことですかね?
それ以前に日本語で変なところがあったようですが。。
奥行きがZ軸の正方向なので単純に{0,0,1}でいいのかと思ってました。
0735デフォルトの名無しさん2005/07/04(月) 15:48:23
>>734
厳密には>>732のやり方は、レイの開始点がニア平面の部分に来るから、
視点からニア平面までの見えないポリゴンは判定できないのよ。
視点に合わせようと思ったら、一旦2点をビュー空間に逆変換して、2点の線分の
z=0平面との交点を新しいレイ始点にして、それからモデル空間に
逆変換って感じになるかしら。(ちょっと面倒くさいわね。)
透視射影で決め打ちだったら、ビュー空間の(0,0,0)を逆変換するだけだから
そっちの方が幸せになれるかもね。
0736デフォルトの名無しさん2005/07/05(火) 16:02:52
最近シェーダーに興味を持って、これから勉強していきたいと思っています。
まだプログラムをせずサンプルプログラムを見ている段階なのですが、
t-potのマルチサンプリングソフトシャドウ等が動きません。
ttp://tpot.jpn.ph/t-pot/program/116_SoftShadoeMulti/index.html

ボタン見たいなのがある(#include "dxstdafx.h"がある?)プログラムのみエラーが出ます。。
(t-pot以外の同じようなボタンのあるプログラムも動きませんでした。)

エラー:Could not find required media. Ensure that the DirectX SDK is correctly installed.
環境:DirectX 9.0 SDK (June 2005) : NVIDIA SDK 9.1 : Visual studio

もし原因が分かる方がいましたら、申し訳ありませんが助力をお願い致します。
0737デフォルトの名無しさん2005/07/05(火) 16:33:09
>>736
DirectXSDKの \Samples\Media\UI フォルダを、*.exeと同じフォルダに
コピーすれば一応動くわよ。
(DXUTは、同じバージョン(この場合2004Summer)のSDKのフォルダしか
探してくれないみたいね。)
0738デフォルトの名無しさん2005/07/06(水) 14:24:03
本日試したところ、無事動作いたしました。
737さんありがとうございます。
0739デフォルトの名無しさん2005/07/06(水) 16:18:03
2Dゲーム作るなら8と9どっちがいいんでしょうか
0740デフォルトの名無しさん2005/07/06(水) 16:34:01
DirectXがいいと思う
0741デフォルトの名無しさん2005/07/06(水) 16:34:34
>>739
8と9ならあんま変わってないから9
0742デフォルトの名無しさん2005/07/06(水) 16:39:11
>>740,741
ありがとうございます
07437402005/07/06(水) 17:30:00
わざわざ俺なんかにもお礼して頂いて恐縮です
0744デフォルトの名無しさん2005/07/06(水) 21:01:53
Zソートを実装したいと思ったのですが、どのように面をソートして良いのか分かりません。
1フレームごとに、インデックスバッファのデータをソートしなおすとすごく遅くなりそうです。
オブジェクト単位でソートすると、オブジェクトの中の面はソートされませんよね・・・。
皆さんはどのようにして実装されておられますか?
0745デフォルトの名無しさん2005/07/06(水) 21:17:46
普通は割り切って、オブジェクト単位で我慢する。
0746デフォルトの名無しさん2005/07/06(水) 21:25:25
俺は半透明なんか使わないぜ!
0747デフォルトの名無しさん2005/07/06(水) 21:37:37
そろそろGPU側でうまいことやってくれないかな…?
0748デフォルトの名無しさん2005/07/06(水) 21:56:02
レスありがとございました。
では割り切ってオブジェクト単位でがんがります。
07497202005/07/06(水) 22:40:23
>>732
何度もすみません、( px, py, 1 )をD3DXVec3Unprojectを使って逆変換したのですが
値をみるとめちゃくちゃになっちゃいます、、
( px, py, 0 )だとそれっぽい値がでるのですが。。。
0750デフォルトの名無しさん2005/07/06(水) 22:45:02
>>749
D3DXVec3Unprojectはビューポートの変換もしてくれるから
px,pyじゃなくてmouseX,mouseY(マウスのクライアント座標)を
そのまま渡せばいいわ、多分。
0751デフォルトの名無しさん2005/07/07(木) 00:44:39
>>750
何度も何度もありがとうございます。。
早速学校でやってみたいと思います!
■ このスレッドは過去ログ倉庫に格納されています