DXライブラリ 総合スレッド その6
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2010/02/25(木) 23:29:14ID:hEXp+gEaGUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
http://homepage2.nifty.com/natupaji/DxLib/
【過去スレ】
DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
http://pc11.2ch.net/test/read.cgi/gamedev/1238429676/
DXライブラリ 総合スレッド その4
http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
DXライブラリ 総合スレッド その5
http://pc11.2ch.net/test/read.cgi/gamedev/1259912953/
0564名前は開発中のものです。
2010/06/07(月) 16:57:25ID:A0pl8E9h今組んでるのがそんな感じ
やっぱりそういうのが普通なのかな
0565563
2010/06/07(月) 17:14:55ID:4KPscOCj0566名前は開発中のものです。
2010/06/07(月) 17:55:05ID:EN4DZkAk0567名前は開発中のものです。
2010/06/07(月) 18:50:57ID:4KPscOCj(1)
例えば、青空の背景で真っ赤な炎を爆発させたいとき、どうしてる?
画像そのものの作り方次第で、ある程度は何とかなるとは思うんだけど、
通常描画やαブレンドだと味気ないし、加算合成だと紫色の炎になっちゃう。
(2)
レーザーとか稲妻などの光を、より眩しくなるように表現するコツってある?
凄く抽象的な表現で申し訳ない。
単に加算合成しても、眩しいっていう印象からは程遠いんだ。
DXライブラリというより、画像の作り方かもしれない。
0568名前は開発中のものです。
2010/06/07(月) 18:59:21ID:Ia/YH+my俺の場合は参考にならんだろうが、
1)普通にドット絵で描いてる。ブレンド等もせずにそのまま。
もちろん今風じゃないし、さほど上手い絵でもないけど、気にしない。
2)上と同じく、普通に白を使うだけ。
てかまぶしい画面効果なんて自分でやっててウザいだけなので、やろうとは思わない。
むしろ目に優しい配色とか考える方がよっぽどいい。
0569名前は開発中のものです。
2010/06/07(月) 22:13:31ID:DZ+Xq8Xt(2)加算合成で2回同じ画像を描画
ってのはどう?
0570名前は開発中のものです。
2010/06/07(月) 22:40:07ID:ZAQ/nx5O1. 通常描画でいいんじゃね
2. 普通に描画した後にボカして加算合成
0571567
2010/06/07(月) 22:57:26ID:4KPscOCj>>568
STGは全然分からないけど、確かにそういうの詳しそうだ。
(1)は、爆発のドット絵を上手く作れば、スーファミっぽく綺麗にはなるね。
ゲームによっては下手に加算合成せずに、そっちのほうが良いかも。
(2)は、さすがに連発はしないけど、ピンポイントで使うと印象深いかなー?くらい。
>>569
やってみたけど、グラデーション部分がカクカクするだけだった(´・ω・`)
これはこれで面白いエフェクトだけど。
>>560
(2)について、ボカすっていうのが結構良さそう。
試しに画像の時点でボカしを入れてみたんだけど、結構それっぽい。
0572名前は開発中のものです。
2010/06/07(月) 23:26:07ID:DZ+Xq8Xtここ参考になるんじゃね?
ttp://marupeke296.com/DXG_No14_BrightnessExpression.html
0573名前は開発中のものです。
2010/06/07(月) 23:38:23ID:4KPscOCj0574名前は開発中のものです。
2010/06/08(火) 03:23:41ID:XU0SY8KK0575名前は開発中のものです。
2010/06/08(火) 03:30:54ID:7IaY+r1Iでもそれが目的だからそれでいいんだよ
0576名前は開発中のものです。
2010/06/08(火) 18:03:50ID:WqzuLKVT俺未だにその辺のデザインパターンがよく分からん。
関係する部分だけでいいからソース見せて貰えないだろうか。
シングルトン自体はわかるんだが、でも実際それをどこでどう使えばいいかってわからんのよな。
数学の何らかの公式は覚えてるし解けるが、じゃあその公式をどういう部分で使えば有効なのかってのがわからないみたいな。
0577名前は開発中のものです。
2010/06/08(火) 18:27:04ID:apN5BnaMデザインパターン本には使い方なども書いてあるだろう。
0578名前は開発中のものです。
2010/06/08(火) 19:16:55ID:LVU9CPSVクラスとか必要なくね
0579名前は開発中のものです。
2010/06/08(火) 19:49:28ID:gCQeYNBi0580名前は開発中のものです。
2010/06/08(火) 20:06:39ID:apN5BnaMなしでいけるなら、使わなくて問題ないよ
小さなソフトを作る場合、便利だと思った機能だけ使うのが賢いと思う
0581名前は開発中のものです。
2010/06/08(火) 20:08:30ID:XU0SY8KK0582名前は開発中のものです。
2010/06/09(水) 03:58:21ID:COgxenTn覚えておきたい技術」に実例と解説がなかったけ。
後者については、たしかゲーム板の参考の書籍の
過去ログで著者本人が意図を解説してくれてたような。
>クラスとか必要なくね
俺はないと無理だ。
クラスないと、複数の種類の敵とかを作っても
敵全部->Move();
敵全部->Draw();
とか一括でやりにくいし、コンストラクタやデストラクタとかないと困る。
昔のSTGみたいにオブジェクトプールと関数ポインタでタスクシステム(
この言葉の定義は別として)を、作っても似たことはできるかもしれないけど。
0583名前は開発中のものです。
2010/06/09(水) 09:57:55ID:0uRXgvrI敵全部ってのはどうやって指定するの?
クラス使ってない自分の場合それぞれforループで敵情報の構造体の数分回して、
EnemyMove()とか関数に飛ばして基本行動取ったあと行動パターンIDのswitchで固有行動取らせてる
Drawもしかり
敵の作成と削除は専用の関数SetEnemy、DeleteEnemyを用意してあげて、
空いてる敵ナンバーを配列から検索→その番号の構造体に基本情報を代入など一括で行ってる
0584名前は開発中のものです。
2010/06/09(水) 10:14:18ID:VCMaahjgクラスとか、ググれば解説載ってるところはたくさんあるんだけど、
じゃあそれをゲームにどう活かすのか、となるとさっぱりなんだよね。
0585名前は開発中のものです。
2010/06/09(水) 10:23:51ID:UtwkxiERenemy.push_back(new EnemyA() );
enemy.push_back(new EnemyB() );
enemy.push_back(new EnemyC() );
for(int i=0; i < enemy.size(); i++)
{
enemy[i].Move();
enemy[i].Draw();
}
とか、そういう。(上記だとリークしやすいから自作リスト作ってるけど)
初心者ならこういう設計でまず作ってみれば?
0586名前は開発中のものです。
2010/06/09(水) 10:30:52ID:0uRXgvrIvector遅くね
自分だとその場合EnemyMove(i);とか指定するんだけどどうもメリットが見えてこないな
自分はActionScript2,3からプログラミング入ったタチなんでオブジェクト指向は使えることは使えるが、いまいちそれを便利に使いこなせるかというと謎
0587名前は開発中のものです。
2010/06/09(水) 10:36:44ID:zbUE9j/cどうやればいいの?
0588名前は開発中のものです。
2010/06/09(水) 10:47:02ID:UtwkxiERvectorが遅いとかどこの組み込み(ry
コピーのオーバーヘッド防ぐ為のポインタの動的配列なんだがぬ。まあ、あくまで擬似コードだけど。
一応解説しておくと、EnemyA,B,CはUnitクラスから派生したサブクラスで動作から何からが違う。
そういうのを一括で扱えるポリモーフィズムとかが便利なんだよ。
まあ実際、ある程度の規模作らないと実感出来ないだろうけども。
0589名前は開発中のものです。
2010/06/09(水) 11:08:26ID:0uRXgvrIつまりswitchなどしなくてもあらかじめ共有事項を継承した個別オブジェクトが作れるのでそれを実行するだけ、と
なんとなく便利な点は見えてきた ありがとう
0590名前は開発中のものです。
2010/06/09(水) 11:19:01ID:UtwkxiERhttp://www1.axfc.net/uploader/Sc/so/122025
VC++使ってるならコンパイル通るんじゃね・・・
ちなみに、固有IDで識別してswitchとかifで動作を分けるって実装はアリだけど、
可読性とバグり場所の割り出しが比較的大変になるからあんまオススメはしない。
0591名前は開発中のものです。
2010/06/09(水) 11:30:52ID:LKXhX8sr参考にしてみるよ
0592名前は開発中のものです。
2010/06/09(水) 11:52:00ID:0uRXgvrI見てみたけどなかなか良いね ソースもすっきりしてるし
enemy.push_back(new EnemyA(0,0));
ここでEnemyAってのをIDで指定はできる?
敵の種類を全部IDで管理してるのでそれをそのまま使えるととても楽
まあswitchしてもいいけど
0593名前は開発中のものです。
2010/06/09(水) 12:07:09ID:VCMaahjgちなみに俺はswitchで全部やってるけど、キャラが増えるごとにID追加したりswitchの振り分け増やしたりと結構面倒です。
つっても2,3箇所追加する程度だし、追加忘れのバグなんてすぐ解消できるから大して問題にはならないんだけど。
0594名前は開発中のものです。
2010/06/09(水) 15:16:42ID:48SBsXu90595名前は開発中のものです。
2010/06/09(水) 15:18:06ID:48SBsXu90596名前は開発中のものです。
2010/06/09(水) 15:23:47ID:HVkgofce変な書き方をして失敗してなければ、そんなことはないと思うんだが
0597名前は開発中のものです。
2010/06/09(水) 15:32:51ID:48SBsXu9その中で弾をコンテナに詰め込もうとするとイテレータの指し先がバグってうまくいかない。
一旦弾オブジェクトを保存しといてfor文が終わった後で追加しないとうまくいかない。
0598名前は開発中のものです。
2010/06/09(水) 16:16:29ID:HVkgofceそれコンパイラは何?
他のコンパイラでもそんなんか、試してみたら?
0599名前は開発中のものです。
2010/06/09(水) 16:57:18ID:a8C7ZegT0600名前は開発中のものです。
2010/06/09(水) 17:27:44ID:php2S9h0自分も横d
なんという俺得話題。
自分も教科書的には使い方を知っていても
いまひとつ便利なのが実感できなかったから勉強になる
0601名前は開発中のものです。
2010/06/09(水) 17:38:14ID:s2ZVMfG6で、結局は機能毎にクラスを作り始めるんだよな。
0602名前は開発中のものです。
2010/06/09(水) 17:46:14ID:UtwkxiER0603名前は開発中のものです。
2010/06/09(水) 17:47:59ID:odCY/DAb0604名前は開発中のものです。
2010/06/09(水) 18:05:14ID:UtwkxiERidを指定して生成したいって言うなら、ファクトリクラス作って、
そこにid入れたら該当のが帰ってくるようにすればいいんじゃね
こんなん。
http://codepad.org/jFUfjGCL
違う意味だったらすまんね。
0605名前は開発中のものです。
2010/06/09(水) 18:09:07ID:0uRXgvrIなるほど。それで行けそうだ、ありがとう
あともう一つだけスレチ全開で聞きたいんだが、オブジェクトの削除はどうするのが定石?
this.deleteとかやると消えるけど元のリストからは除外されないからアクセス違反になるし、
そもそもshared_ptr使うならdelete要らんはずだし
削除フラグたったら-1とか戻り値にしてmainのほうでリストから除外してあげるのかな
0606名前は開発中のものです。
2010/06/09(水) 18:10:48ID:Saa6zN7x0607名前は開発中のものです。
2010/06/09(水) 18:14:06ID:UtwkxiER俺は自前でユニット管理用リストクラス作ったけど。
0608名前は開発中のものです。
2010/06/09(水) 19:05:20ID:bOQzSTFfC++はライブラリが大きすぎて組み込みでは使えません(キリ
とか、ざまみろって顔して言ってやった。
でも今じゃCだけでプログラミングとか面倒で無理。
プログラミング自体が面倒になってきたけど(´・ω・`)
もう年だな。
0609名前は開発中のものです。
2010/06/09(水) 19:18:14ID:UtwkxiER暫くコード書いてなかったからリハビリのつもりで書いた程度のもんだけど、
http://www1.axfc.net/uploader/Sc/so/122080
こんな方式とか。
ループ回すのがロスだと感じるなら一本化してもいいんじゃね。
たぶんリークしてないけど、チェックはしてないからメモリリーク起こってたらすまんね。
shared_ptrの関係でTR1使ってるから、VC++2010じゃないなら追加パック入れる必要あるかもね。
リーク上等で、生ポインタに書き換えても動くとおもうよ。
0610名前は開発中のものです。
2010/06/09(水) 21:20:21ID:OHlI6Jwzみんなはこの辺どうしてる?
0611名前は開発中のものです。
2010/06/09(水) 21:43:29ID:HVkgofce1回だけ呼ばれる描画で描画順位リストを参照しつつ全部を順位通りに描画したら?
関数名をDraw以外にした方がいいと思うけど
0612名前は開発中のものです。
2010/06/09(水) 21:47:30ID:7j2XNTLjで、描画したい順でIDを分ける。
細かく分ける必要なかったし、
リストから引っ張り出したい場合も少なかったから特に問題なかった。
0613名前は開発中のものです。
2010/06/09(水) 23:26:50ID:EBh2wsCf描画順はそいつが持ってる
0614名前は開発中のものです。
2010/06/10(木) 02:54:11ID:lXxTh4Vgもう少し詳しく頼む
0615名前は開発中のものです。
2010/06/10(木) 04:55:12ID:yWC+RkcU0616名前は開発中のものです。
2010/06/10(木) 11:03:41ID:+lUQKLj0俺は自機、自弾、敵、敵弾等とざっくりわける程度なのだが
0617名前は開発中のものです。
2010/06/10(木) 12:53:52ID:mSlqKyI5色々自由に指定できるようにしておくと、楽だったよ。
とくに SetDrawBlendMode で描画ブレンドモードを変更して、半透明とかさせたりする時
「描画順○番から○番までの画像を半透明にする」とか簡単に実装できて。
0618名前は開発中のものです。
2010/06/12(土) 17:52:17ID:7AGfNu8Rマウスの移動で、角度を計算して、カメラ方向をかえていたんですが
これだと
どんな方向にカメラが向いていても
x、y、zに関係なく、たとえばWを押したら、前に進めるような感じにできるか
思いつきません。
どうすればいいでしょうか
0619名前は開発中のものです。
2010/06/12(土) 18:31:54ID:Wt0Om7RQで前に進む時は 「プレイヤーキャラの向き」×前進スピード をキャラの位置に加算するだけ
0620名前は開発中のものです。
2010/06/12(土) 19:55:23ID:HLzayOcF0621名前は開発中のものです。
2010/06/13(日) 00:20:11ID:iwG7ZkIGhttp://pc12.2ch.net/test/read.cgi/tech/1274521960/478-480n
0622名前は開発中のものです。
2010/06/13(日) 00:49:53ID:6s0+7lHl0623名前は開発中のものです。
2010/06/13(日) 12:19:12ID:8D3RSbXg0624名前は開発中のものです。
2010/06/13(日) 13:01:49ID:PKCWUybs全部お前のマルチ&自演だろ、ボケ
0626名前は開発中のものです。
2010/06/13(日) 14:03:35ID:+Sk1kXdBの言うように
target.x=x*cos(atan2(m_move.x, 350.0f))-z*sin(atan2(m_move.x, 350.0f));
target.z=x*sin(atan2(m_move.x, 350.0f))+z*cos(atan2(m_move.x, 350.0f));
SetCameraPositionAndTarget_UpVecY( CameraPos, VGet(target.x ,target.y, target.z) ) ;
とやってみたんですけど
なかなかうまくいきません
なんか間違っていないでしょうか
0627名前は開発中のものです。
2010/06/13(日) 14:22:30ID:lDfgu/cO{
double px, py, pz;
duoble tx, ty, tz;
double len;
Position ret;
px=pos1.x;
py=pos1.y;
pz=pos1.z;
tx=pos2.x;
ty=pos2.y;
tz=pos2.z;
len = sqrt( pow((px - tx),2) + pow((py - ty),2) + pow((pz - ty),2) );
ret.x = ((tx-px)/len)*val;
ret.y = ((ty-py)/len)*val;
ret.z = ((tz-pz)/len)*val;
return( ret );
}
0628名前は開発中のものです。
2010/06/13(日) 15:06:05ID:lDfgu/cOobj.pos.x += moveVal.x;
obj.pos.y += moveVal.y;
obj.pos.z += moveVal.z;
0629名前は開発中のものです。
2010/06/13(日) 15:09:29ID:lDfgu/cO×: len = sqrt( pow((px - tx),2) + pow((py - ty),2) + pow((pz - ty),2) );
○: len = sqrt( pow((px - tx),2) + pow((py - ty),2) + pow((pz - tz),2) );
~~
lllorz 連投スマソ
0630名前は開発中のものです。
2010/06/17(木) 04:58:59ID:fO9hNHBj0631名前は開発中のものです。
2010/06/18(金) 17:36:58ID:vCUhQCjKhttp://livedoor.2.blogimg.jp/agomesu/imgs/5/8/58ff257e.jpg
ばらまこうぜ!
0632名前は開発中のものです。
2010/06/18(金) 20:34:37ID:lFlygaI90633名前は開発中のものです。
2010/06/19(土) 23:09:57ID:Fjut0XWt誰か簡単なサンプル書いてくれる心優しいお方はおりますか
・sound1.wavをロードしたいと思った時にLoadSound1()を呼ぶ
・LoadSound1は勝手に新しいスレッドを作ってsound1.wavをグローバル変数sndにロード
・メインスレッドからはLoadSound1の作業が終わったかどうか好きな時に確認できる
こんな感じのがあればとても便利なんどす
0634名前は開発中のものです。
2010/06/20(日) 00:29:59ID:v3W4K7Myソースは俺
0635名前は開発中のものです。
2010/06/20(日) 00:50:04ID:+g7bu3Jz0636名前は開発中のものです。
2010/06/20(日) 01:04:13ID:U+gpNNlp0637名前は開発中のものです。
2010/06/20(日) 02:31:37ID:KdLne53eこんな感じでどう?
ttp://codepad.org/KmP9TZnS
0638名前は開発中のものです。
2010/06/20(日) 23:02:00ID:U+gpNNlpありがとう!!試してみる
0639名前は開発中のものです。
2010/06/23(水) 01:49:39ID:nyhvNRS50640名前は開発中のものです。
2010/06/27(日) 19:11:38ID:86T1F/V0ちょっと描画速度が遅いようなので早くしたいんですがどうしたらいいですか?
今はこうやってます。
for(全ライン描画が終わるまでループ){
for(全列描画が終わるまでループ){
int temp_graph = DerivationGraph() (マップチップ画像から1チップ分の画像を抜き出す)
DrawExtendGraph() (ウィンドウサイズはx1, x2, x3に対応している)
DeleteGraph(temp_graph)
}
}
flip()
よろしくお願いします。
0641名前は開発中のものです。
2010/06/27(日) 19:29:12ID:6/J6CRtLマップチップというくらいだから使い回しができそうだけど
0642名前は開発中のものです。
2010/06/27(日) 19:56:21ID:86T1F/V0あとDirectXのSpriteを使うのとどっちが早いんですかね。
0643名前は開発中のものです。
2010/06/27(日) 20:08:25ID:8d2Wmv3D0644名前は開発中のものです。
2010/06/28(月) 09:31:33ID:3UyQDwhj読み込むのは普通ゲームループ回す前じゃね?
0645名前は開発中のものです。
2010/06/28(月) 09:53:07ID:Uc3NlpeP0646名前は開発中のものです。
2010/06/28(月) 10:43:58ID:Uc3NlpeP0647名前は開発中のものです。
2010/06/28(月) 11:55:52ID:dDVUF1oqというかいちいち都度バラす理由なんてない。
0648名前は開発中のものです。
2010/06/28(月) 17:07:05ID:L8W0Z2C3つ DrawRectExtendGraph()。
便利な関数ほどリファレンスには載ってない気がする。
LoadDivGraph()で分割して読み込んだ時も
画像ハンドルの扱い自体はだいたい同じ。
自分は画像用のクラス作って、描画時に画像の
任意の部分(4コマ目とか)や描画位置や拡大縮小値を
引数で指定してるけど。
0649名前は開発中のものです。
2010/06/28(月) 17:11:19ID:L8W0Z2C3ゲーム製作本とか、抜き出した市販ゲームのデータを
見ると纏めてるものが多いような気はする。
あと主観だけどちっこい画像をいっぱい読むより、大きい
画像1枚にまとめた方がメモリ仕様効率が良いイメージはあるけど
テストして比較してないので実際にはわかんない。
個人での製作だとメモリ気にするほど枚数描けないので
どっちの方法でも、自分の好きなように作るのが
一番いいと思うけど。
0650名前は開発中のものです。
2010/06/28(月) 17:51:45ID:km9K+gF5使う前にあらかじめ下ごしらえを済ましておけということ。
0651名前は開発中のものです。
2010/06/29(火) 02:11:01ID:+dkWBY5Gウィンドウサイズにあわせて適切な大きさで描画するっていうことだと思うけど
Drawされるすべての画像にいちいち同じ拡大指定するくらいなら
int SetWindowSizeExtendRate( double ExRate ) ;
を使ったほうが手っ取り早いよ
0652名前は開発中のものです。
2010/06/29(火) 08:52:50ID:sT+cJrhlhttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1816
>画像の大きさより、分割数の方が重要です
>もし分割してできるグラフィックハンドルの数が 10000 や 20000 になるのでしたら DrawRectGraph の方がよいです
>( 一度に保持できるグラフィックハンドルの数は 32768 個が限界なので )
>もし分割される数が 1000 くらいでしたら、LoadDivGraph の方が良いです
>( DrawRectGraph より LoadDivGraph で分割されたグラフィックハンドルを使用して描画するほうが高速なので )
0653名前は開発中のものです。
2010/07/05(月) 03:50:47ID:J/q6czOv龍神録サンプルをメイクしたのは速いのに自作のプログラムが遅い・・・
原因はこれでした。
SetCreateSoundDataType( DX_SOUNDDATATYPE_MEMPRESS ) ;
これが無いと三メガバイト程度の楽曲読み込みのために五秒ほど
ゲームが止まる。
0654名前は開発中のものです。
2010/07/05(月) 09:49:57ID:FWYBWtBP0655名前は開発中のものです。
2010/07/05(月) 10:04:52ID:vTW2jlgt0656名前は開発中のものです。
2010/07/06(火) 03:32:09ID:sY6QHNlh0657名前は開発中のものです。
2010/07/06(火) 04:22:46ID:QuyeFLti0658名前は開発中のものです。
2010/07/06(火) 10:31:04ID:sY6QHNlh純正ドライバーで動かなかったらどうしようかなって思ってました^^
0659名前は開発中のものです。
2010/07/06(火) 17:11:30ID:N9jDhzAQゲームの動画を撮ろうと思ったら、なんだか上手くキャプチャ出来なかったんだ。
DxLibの3.00eは問題なく撮れてたのに、
ソースをそのまま最新版(3.02e)に差し替えると不具合が起こるんだよなあ。
同じような症状の人は居るだろうか。
どこに原因があるかまでは分からないけど、
3.00ー>3.02でそんなに大きく変わったんだろうか…。
開発&録画環境:WindowsXP SP3 (32bit)
キャプチャソフト:アマレココライト ttp://amamaman.hp.infoseek.co.jp/
0660名無しさん@そうだ選挙に行こう
2010/07/10(土) 15:03:18ID:pn5TIPf90661名前は開発中のものです。
2010/07/14(水) 03:59:23ID:S2nxZt+T何もしなくてもPCで使えるよ
振動がないけど、その分軽いのがいい
0662名前は開発中のものです。
2010/07/14(水) 04:52:38ID:uUkNpoIc0663名前は開発中のものです。
2010/07/14(水) 17:28:45ID:T3KW4TY8Xbox360コントローラはドライバをインストールすれば普通に使える筈なんだけど
DirectInputという古いAPI使っていたら正常に認識できない、XInputでないと駄目なんだっけ
DXライブラリは技術的に遅れているから古いの使ってるのだろうなぁ
■ このスレッドは過去ログ倉庫に格納されています