C#でDirectX9 初心者の館
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGGDIと違ってドキュメントも難解で何をすれば描画できるのかさっぱりさっぱりなライブラリです。
その上知っている人はレベルが高すぎて聞いても宇宙語でしす(泣
そんなDirectX9を将来に備えて勉強してみようというスレです。
Microsoftの掲示板
http://www.gdncom.jp/general/bbs/ShowForum.aspx?ForumID=29
SDKをダウンロードできるところ
http://www.microsoft.com/japan/msdn/directx/downloads.asp#CDasp#CD
0017デフォルトの名無しさん
NGNGこれで放置スレと認定
001813
NGNGまとりあえず色々やってみま(ノ∀`)
0019デフォルトの名無しさん
NGNG現在ヘルプ読み読み中の1 です、プログラムをみても現状なんだかさっぱりですが頑張ってください
僕も頑張ってますよろしくお願いします。
0020デフォルトの名無しさん
NGNGXファイルアニメーションのサンプル。
あれのの単独ソースが欲しいデス。
Xファイルのサンプルいじってるんだけれど、元々のBlank以外のコードがわけわかめ。。。。
ヴぁーちゃる使いまくってる部分ですらコメント殆ど無いし。
わかんねーと思ってかたっぱしからぐぐってるけど、ヒットするページが1・2件しかないのもざらにある・・・。
Xファイルのアニメーションまで書いてる書籍ってなんかありますかね。
0021デフォルトの名無しさん
NGNGX-BOXででも動かすのか?
0022デフォルトの名無しさん
NGNGといっても自前のコードに殆どこぴぺで持ってきただけですが。
デフォで出力されてるコードの説明が切実に欲しいと願う今日の半日・。
こっちの説明する方が先だろうと思うのは俺だけでしょうか。
いくらぐぐっても解説全然でてこねえし。英語覚えろって事ですかね・・・・。
>>21
なんでX-Boxが引き合いに出るのかよく分かりませんが・・・・
まぁフォームのコントロールの追加とかが楽なんでこっちでやっとります。
コード自体かなり減ってるし、個人で遊ぶならこっちのがええかなと。
0023デフォルトの名無しさん
NGNGでもさ、DX8の頃から思ってたけどXfile扱うのって処理する関数や型を覚える事じゃ無いのになって。
(提供されるライブラリ処理のみで良いって方は、それにあらず)
最初は3Dの基本を覚える。
で、Xfileのフォーマットを覚える。
それで、fileから必要な情報を受ける。
それを基に頂点描画。
アニメーション情報が入ってるなら、スキニングなり親子構造なりでモデルを動かす。
これってさ、D3DX系のライブラリ使うのを覚えるのとは別次元の物。
関数をどう使うか調べるだけじゃなく、関数の処理を理解出来てないと
つかえねーだの、不親切だのって言い出す始末になるかと。
ある程度の人間は自前でXfile読み込み、自前のモデル型に情報いれて
自前でアニメーションなんてあたり前だよ。
つまり、言語を覚えて、プログラム覚えて、
数学出来て、3D処理出来てって感じの基礎力が必要なんだよ?
DirectXの関数覚える事 != 3Dの勉強
これを踏まえて、Xfile系を覚えたいって人間は基礎力があるか自分を振り返ってみれば。
…マジモードでした。
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG1の場合はGDIよりもう少し派手な事がしたいのと、ちょっとムチャな描画をしても耐えられそうなのと
きたる Longhorn の布石です。
バリバリ3Dをしようとは思っていません。
0026デフォルトの名無しさん
NGNGそうは言っても、できるようになったら・・・するかも知れません
0027デフォルトの名無しさん
NGNGすごく楽なことがわかんないのかな。
0028デフォルトの名無しさん
NGNGC#がDirectXに向いてるんだ
0029デフォルトの名無しさん
NGNGX-BOXの中の人はC#が多かったりするのだよ。
0030デフォルトの名無しさん
NGNGttp://www.microsoft.com/japan/msdn/theshow/episode037/default.asp
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNGこれから勉強する人のために、今のところ参考にしているサイトを挙げてみます。
FrontPage -PukiWiki-
ttp://web.sfc.keio.ac.jp/~yanagawa/recipe_wiki/pukiwiki.php?FrontPage
先ずはここに行っておけ的サイトその1。
工学社「DirectX9 3DゲームプログラミングVol.1C#によるアルゴリズムの基礎」
著者:大川善邦
と合わせて見ないとまるで意味が無いが、その価値は十二分にあり。
しつこい程に基礎力をつけさせられるが、実際それぐらい無いと開発出来なさそうなのが泣ける。
あと上の書はvol.2まで出ているが、どちらも必要不可欠級良書なんで、きっと買うの必須。
Managed C# DirectX 9によるシミュレーション
ttp://dxsimulation.at.infoseek.co.jp/index.htm
先ずはここに行っておけ的サイトその2。
いきなりXファイルを多用しているので、上のFrontPageと合わせて見ると良いかも。
上で基礎力つけて、こっちで遊ぶみたいな。
ここのソースを.NETから吐き出されるサンプルソースに使えるように書き換えたりすると
かなり自己満足。
Cutting Edge DX 9
ttp://www.microsoft.com/japan/msdn/directx/japan/dx9/
現在進行形で進んでいるっぽいやつ。
Xファイルでアニメーションするところは、Xファイルに頼りすぎで全く使えないが
ちょっぴり痒いところに手が届く感じ。
あとはひたすら
Microsoft.comの検索
ttp://search.microsoft.com/search/search.aspx?view=ja-jp
で分らないことを検索したりしてます。
もっと効率の良い学び方が有ったら、誰か教えてプリーズ。
0035デフォルトの名無しさん
NGNG↑
サイトのタイトルではないと思うんだが。
0036■■■■■■■安室奈美恵「style」絶賛発売中
NGNG0037デフォルトの名無しさん
NGNGMSサイトから落としたのに見つからないです。
0038デフォルトの名無しさん
NGNGVertexっていうのがあるんだけど、ポリゴンは
表示されるんだけど、視点を設定してもずっと同じ位置に表示
されたまんまなんだよね。
試しに別のサンプルのポリゴンを同じ画面に表示したら
ちゃんと視点の設定が反映された。
同じような現象になった方いませんか?
というかどこかに視点の設定を反映させるパラメータが
あるんだろうか?
0039デフォルトの名無しさん
NGNGトランスフォーム済み頂点だからじゃんとかいってみる
0040デフォルトの名無しさん
NGNG微妙にスレ違いで申し訳ないんですが、PocketPCで音を重ねたりするようなアプリを作る方法を探しています。どなたか情報ご存知でしたら教えていただけないでしょうか。
0042超初心者
NGNGあの、VisualStudio.NET 2003のテンプレートにDirectX 9.0が表示されないのは
つまり、そういう事なんですか?
初心者ですいません。
0043デフォルトの名無しさん
NGNGどれをダウンロードしていいのかわかりません><。
0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNGやっと1週間半かけてDirectInputを使ったプログラムが出来た。
先は長い・・・・
0046デフォルトの名無しさん
NGNGなんで?
004745
NGNG資料が少ないのと、comとusing Microsoft.DirectXとどっちを使ったら
いいのか分からないから
0048デフォルトの名無しさん
NGNGC++とかでやったらもっと死ぬぞ。
0049デフォルトの名無しさん
NGNGC++は資料やHPがたくさんあるからマシ。
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNG見つけました!
0052デフォルトの名無しさん
NGNGVSの参照設定はWINDOWS\Microsoft .NET\v9.00.1126の中の物を使用しています。
DirectInputのJoystickサンプルをそのままビルドしてみたのですが、実行すると
foreach (DeviceInstance instance in Manager.GetDevices(DeviceClass.GameControl, EnumDevicesFlags.AttachedOnly))
{
joystick = new Device(instance.InstanceGuid);
break;
}
の部分のManager.GetDevicesでNullReferenceExceptionが投げられてしまいます。
サンプルは正常に動作したのですが、問題点や上手い解決方法をご存知の方が
いらっしゃいましたらどうかよろしくお願い致します。
0053デフォルトの名無しさん
NGNGjoystick.Acquire();
joystick.Poll();
してから
joystick.CurrentJoystickState
で簡単にジョイスティックの情報が取れますよ
僕は
joystick = new Device(instance.InstanceGuid);
break;
のコードにjoystick.Acquire();を追加しました
C++より列挙がらくでびっくりしました。
0054デフォルトの名無しさん
NGNGC++で作った時はPeekMessageとかでメッセージループを書いたもんですが
>51 をみるかぎりやっていないようです。
C#はまさかタイマーでやるとか? 違うよなぁ。
どなたかサンプルコードを提示していただけませんか。
form の main にループを書くのかしら。。。
0055デフォルトの名無しさん
NGNGちゃうちゃう、この場合すでにFormクラスにループが仕込んであってイベントがあったら
それに対応したメソッドを呼ぶんよ。
例えば、
http://popup.tok2.com/home/ryza/csharp/prog007.html
ここのソースの場合、OnPaintってのがそのメソッド。
#PeekMessageが出るちゅう事は、前はMFC使わずWin32APIでゴリゴリ書いてたんかな?(w
0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNGprivate void InitializeTimer() {
// タイマーを作成
timer = new Timer();
// インターバルを30[ms]に設定
timer.Interval = 30;
// イベントハンドラを指定
timer.Tick += new EventHandler( this.Render );
// タイマーを起動
timer.Start();
}
スレッドづくりは難しいのでイベントハンドらをつかってみるといいと思います
後は自作のRender()の中に描画処理を書けばいいです
0058デフォルトの名無しさん
NGNGprivate const int FPS = 16;
public void GameLoop() {
int t =0;
if( Environment.TickCount < preCount) preCount = Environment.TickCount;
double t = Math.Abs(Environment.TickCount - preCount);
if( t >= FPS ) {
do {
t -= FPS;
preCount += FPS;
}while( t >= FPS );
// 描画開始
Render();
}
}
Timer使わないとするとEnvironment.TickCountを使ってこの関数を作って
この関数をwhile(true){}内で呼べばいいです。
005954
NGNG>55
はい、WIN32APIで書いてました。
Formクラスに既にメッセージループがある、ということですね?
メッセージハンドラなどはMFCを触ったのでそれは解りますが、
一定の間隔でプログラムを実行したい場合、どうすれば良いかが分かりません。
タイマーだと簡単ですが、それ以外の方法ではないと
DirectXのゲームとしては遅くありませんか?
>58
ありがとうございます。
ところで while(true){} はどこに書くのが理想なのですか?
この状態でもメッセージハンドリングは生きているのですか?
終了処理は無くても良いのですか?
いろいろとすみません。
0060デフォルトの名無しさん
NGNGFormを継承したクラス内のゲームの初期化をすべて終えた後にいれます。
ぼくはRun()の中に書いた、ぶちゃけどこでもいいよ。
while (this.Created) {
// 1フレームの長さをfpsにそろえます
if (device != null) {
if( Environment.TickCount < preCount) preCount = Environment.TickCount;
int t = Math.Abs(Environment.TickCount - preCount);
// fpsだけ経過していたときレンダリングをします
if( t >= fps ) {
do {
t -= fps;
preCount += fps;
}while( t >= fps );
// レンダリングの前処理を行います。
// デフォルトではクリア処理が行われます
PreRender();
SetupMatrices();
// レンダリングを行います。
device.BeginScene();
Render();
device.EndScene();
// 表画面に表示します。
device.Present();
}
}
// Windowsメッセージを処理します。
Application.DoEvents();
}
0061デフォルトの名無しさん
NGNGこんな感じかな、コメント入り
http://www.realdigital.co.jp/densi2/program/d3d/dx3d-002.htm
しくみはここを見てください。
ここのサイトのコードをC#のコードにかきかえただけだけどね
ちなみにD3DApp.cs(GraphicsSampleクラスが記述されている)
のソースをサンプルから探すといいよ英語だけど解読する価値はあるよ
んじゃ
0062デフォルトの名無しさん
NGNGDirectXのC++のDirectShowのサンプルのCaptureTexのようなもの(USB or IEEEカメラでリアルタイムにDirect3D画面に出す)をC#で作りたいと考えています。
C#ではDirectShowがサポートされていないと聞きましたがDirectShowをラッパー?したものを使えば大丈夫とも聞きました。
C#でこのようなプログラムを作成するにはどうすればいいでしょうか?サンプルや参考になるページなどがありましたらお教えください。よろしくお願いします。
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNG具体的にどうすればいいでしょうか?
0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG誰か作って・・。簡単なの?
0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNG次にMC++で.NET対応のコンポーネント化する。
.NET対応作業はさして難しくはない。
0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNGこんなところで分からないなどと書き込んでいる暇があったら、
その時間に学習すればいいだけの話。
0071デフォルトの名無しさん
NGNGビットイメージを連続的にTV出力したいだけの漏れなんだが、いったい
どっから手を付けていけばいいのか?
どっかにサンプルない?
0072デフォルトの名無しさん
NGNGManaged C#で作成したプロジェクトがありまして
そこにImageListを追加してImagesに画像を追加しました。
実行すると
【'GraphicsTemplate.ourRenderTarget'は'フィールド'を意味しますが、'クラス'でなければなりません。】
とエラーが出てきました。単なるWindowsアプリケーションではこのようなエラーはでなかったのですが、どうしてでしょうか?簡単な説明と解決法をお願いします。
0073デフォルトの名無しさん
NGNGListを使っているみたいだから、foreach構文を使って追加した画像にアクセスしてみたらどう。
それとArrayクラスやリストについて勉強するといいかも。
以上へたな回答でした
0074デフォルトの名無しさん
NGNGVertexBufferを動的に扱う方法をお教えください。
VertexBufferの要素の数と値を動的に変化させたいと思っています。
具体的にはマウスをクリックする度にVertexBufferに追加していきたいと思っています。
マウスでクリックした座標をどんどん結んでいく感じです。
試しに作ってみたのですが、クリックを繰り返すと
「Exception An exception has occurred. This sample must exit.
System.OutOfMemoryException:プログラムの実行を続行するための十分なメモリがありませんでした。」
と出てきてしまいます。何か方法などありますか?
0075デフォルトの名無しさん
NGNGDirectXに手を出す前に、言語の基礎をやり直すべき。
0076デフォルトの名無しさん
NGNGRender()の中で新規でVertexBufferを作成してその中にListに格納した値を入れています。
Render()中でVertexBufferを作るというのは、問題なのでしょうか?
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNGいまいち、Render()、Frame()、InitializeDeviceObjects()などの関係が
よく分かりません。この場合どうするのが一般的なんでしょうか?
0079デフォルトの名無しさん
NGNGDirectX初心者の私でもできるような記事かなと思って買ったのですが
うまく実行できません。VC#使いだけど、記事ではBorland使っているし。
しかたがないから 1から自分で勉強したいので、
C#ユーザー向けの DirectXの初歩から学べる ページを紹介してください
0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNGDirectX SDKなどをダウンロードしてインストールしたはずなんですが、
サンプルプログラムをダウンロードして実行しようとすると
「初期化できない」というエラーになります。
どうしてなんでしょうか?
解決法を教えてください。このままじゃDirectXのDの字も出ないうちに
諦めなければなりません
0082デフォルトの名無しさん
NGNGText3D、LightingVSあたりを実行してみ?
しょぼいグラフィックボードじゃSDKのかなりのサンプルは起動しない
0083デフォルトの名無しさん
NGNG考えることが出来ないのであれば、
>今日からDirectXに挑戦しようと思って、
これはまだ早すぎる。
>このままじゃDirectXのDの字も出ないうちに諦めなければなりません
妥当な判断。
0084デフォルトの名無しさん
NGNG> S3 Graphics ProSavage + utilities
とのことです。
2002年のPCだし仕方ないのかもしれん。
ネットに転がっているゲームなどは、DirectXの初期化ができない。
DirectX診断ツールでは、
> ディスプレイ ドライバがサポートしていないため、
> ハードウェア アクセラレータを使った Direct3D 9+ は利用できません。
> ハードウェアの製造元から新しいドライバを入手できるかもしれません。
というので更新しようと思った。
で、検索したが、ない。メーカーに聞いたがないとのこと。もうだめぽ。
DirectDraw アクセラレータ、Direct3Dアクセラレータ、AGP テクスチャアクセラレータは
すべて 使用可能 と 成っているので まだ少しの希望は残っているのですが・・・
Text3D は起動した。 いろいろプログラム動かしているから遅いのかもしれないが、
それでも 400x300で 4fps(w
Lighting は 3fps。
http://dxsimulation.at.infoseek.co.jp/supplement/test.htm
ここの「オブジェクトの表示」は動かなかった。
長々とすみませんね。
でも諦めきれないので、なんとかDirectXを弄れるように頑張ります。
最近のPCなら動くと思うので試しますが、手元にあるのは今年に買ったノートPCだけ・・・。
ノートPCだけど最近の機種だから動いてほしい、マジで。
0085デフォルトの名無しさん
NGNGこれでまともに3Dをやるのは無理。
0086デフォルトの名無しさん
NGNGこれでまともに3Dをやるのは無理。
0087デフォルトの名無しさん
NGNGこれでまともに3Dをやるのは無理。
0088デフォルトの名無しさん
NGNG最新だから動くかっていうと、それは間違い。
とりあえず、DirectXの前に適切なPC購入の勉強からしてみてはどう?
0089デフォルトの名無しさん
NGNG昔、K6のDynabookでSavage(Proじゃない)が乗っていて、それで組んでいたことがある。
DirectX8のD3DXで、(確か)100ポリぐらいのQVGAで60fps動いた。
Spriteクラスを使って数個のオブジェクトが動く程度のものなら問題ないだろう。
・・・たぶん。(;´Д`)
なにせ何年も前の話だから記憶も曖昧なのは勘弁。
0090デフォルトの名無しさん
NGNGそういうのはメーカーや型番さらさないと有益な情報が集まらないと思われ
ドライバの情報収集は自作板が強いよ
PCの能力自体を疑うなら3DMarkなどベンチをとってみれば?
とりあえずドライバはここな
http://www.savagenews.com/?action=articles&article=list&dir=7
0091デフォルトの名無しさん
NGNGサンクスコ。 とりあえず自作板とか初心者板、くだ質巡って 情報収集してきます。
早く喪前らと同じくらいの実力をつけたいですよ・・・。第一歩すら踏めてない。
もともとゲーム(=DirectX)使うつもり無くてPC買ったからなぁ。
少しグラフィック関係には弱いのかもしれない。
デスクトップにテレビ機能なんていらんから、3Dを強化したの選べばよかった。
デスクトップ(2002年購入)は英語分からんからメーカーの日立に聞いたら
「無い」って断言してたので諦め。
ノート(2004年購入)はメーカーのNECのウェブサイトにドライバアップデートの時に見たら
ATI社の RADEON だった。期待できるかもしれないな。
0092デフォルトの名無しさん
NGNG// マルチレンダリングターゲット
device.DrawUserPrimitives(PrimitiveType.TriangleFan, 2, verts);
をつかいましょう僕も動的に扱うのにC#の資料がなくて苦労しました。。。
vertsにフレキシブルな頂点データの参照を書きます(わかるよね?)
あとはサンプル、ヘルプやC++の資料を柔軟に解釈すればできるはずです。
では健闘を祈ります
0093デフォルトの名無しさん
NGNGC#からDirectXを始める場合資料がないので結局C++からC#に直して考えるかMSのページで我慢するかです
3Dグラフィクスを始めたい場合おすすめ書籍は
「DirectXゲームグラフィックスプログラミング(N2Factrory)」
をみるとけたたましくわかりやすいです。すべてのDirectXの初期化コードの意味がわかるようになります。
いかんせんC++なのですがC#に似ているコマンドを探せば何とか対処できるはずです。
C++より断然かんたんなC#ですからがんばってください。
0094デフォルトの名無しさん
NGNGそのパソコンでも勉強はできます。
3Dゲームプログラムは2Dゲームの応用なので
まずDirectDrawをつかった2Dゲームを作る練習からすると良いと思います。
またDirectDrawは初期化も簡単だし、スプライトさえ表示できれば簡単にゲームが作れます。
ぜんぜん悲観することはないですよ。
0095デフォルトの名無しさん
NGNG>をみるとけたたましくわかりやすいです
斬新な表現だ。
0096デフォルトの名無しさん
NGNGけたたましく苦労する事ないのにな。
0097デフォルトの名無しさん
NGNG自作板で厨房な質問したのに、親切に教えてもらえた―(゚∀゚)――!!!
おかげで無事にドライバアップデート完了。
Direct3Dが使えるようになりますた。
これで日経ソフトウェアについてたサンプルが実行できますよ。
その後は2DからDirectXの勉強していきたいです
0098デフォルトの名無しさん
NGNG0099デフォルトの名無しさん
NGNGきょうからC#とDirectX9勉強する
初心者にもわかるHPつくってまとめるから
わからないことあったらおしえろ
と書いてみるてすと
0100デフォルトの名無しさん
NGNGC#.netでDirectXってこと自体が破綻してるってことか?
だがチュートリアルを攻略するまでは諦めんからな
誰でもいいから教えろまじで
0101ぐっすり八兵衛
NGNG0102デフォルトの名無しさん
NGNG>// マルチレンダリングターゲット
>device.DrawUserPrimitives(PrimitiveType.TriangleFan, 2, verts);
ありがとうございます。がんばって調べてやってみます。
C++からDirectXやっている方は、C#でプログラムしてもなんとかなるかと
思いますが、C#からDirectXをはじめたものとしては、参考書とか少なくて
大変です。これからもがんばってみます。
0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNGそのへんは結構がんばったのでまた分からないことがあれば質問してください。
ま、僕が答えられたらの話だけど。。。
010599
NGNGCっぽくてなんとなくわかりやすかった
土日でDirect3Dのチュートリアルをやりまつ
とイチイチ予告してみるてすと。
0106デフォルトの名無しさん
NGNG独り言を言いたいならゲ製作技板にそういうスレあるよ
0107デフォルトの名無しさん
NGNGパラメータ設定んところで SwapEffectの項目は
D3DSWAPEFFECT_DISCARDが選択されてますが
D3DSWAPEFFECT_FLIP
D3DSWAPEFFECT_COPY
との違いが説明読んでもよくわからないので
解説お願いシマス
0108デフォルトの名無しさん
NGNG交換と上書きコピー
0109デフォルトの名無しさん
NGNGD3DSWAPEFFECT_FLIP = バッファ交換
D3DSWAPEFFECT_COPY = 上書き
D3DSWAPEFFECT_DISCARD = これは何?
0110デフォルトの名無しさん
NGNGドライバに任せる
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNGSwapEffect.Discardのとき250のfpsが
なぜかSwapEffect.CopyにするとFpsが200になる??
読んでもあんまわかんなかったけど予想はつく、
Discardだとバックバッファの情報はPresent()した瞬間に消えて再利用ができない。
Copyの場合バックバッファを二つ作ってPresent()した後コピーするからバックバッファを利用できる。
しかしメモリ効率が悪い。
たぶんCopyはマルチパスレンダリングや2分割画面を使うのに有効だと思う。。。
0113デフォルトの名無しさん
NGNG>ちゃうちゃう、この場合すでにFormクラスにループが仕込んであってイベントがあったら
>それに対応したメソッドを呼ぶんよ。
その仕込んであるループってどういう形なんだろうか?
その部分がメソッド化しててオーバーライド可能であればWin32APIのような
メッセージループができるわけだが・・・
0114デフォルトの名無しさん
NGNG0115113
NGNGなるほど!ありがとうございました。そのまんまWndProc()だったんですか!
C#で何も操作していなくても画面が進行していく処理が知りたかったのですが
これならタイマやスレッドを使うより高速で安定してますね。
近いうちにC#とDirectXで何か作ろうと思ってた所でとても助かりました。
■ このスレッドは過去ログ倉庫に格納されています