[過去ログ]
ゲームプログラミング相談室【Part5】 (970レス)
ゲームプログラミング相談室【Part5】 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
99: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/99
100: 90 [sage] 02/12/26 19:37 ID:kDKABYvS くじけそうです。 VC++の使い方が分かりません。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/100
101: 名前は開発中のものです。 [sage] 02/12/26 21:26 ID:KKaDaCig なにがやりたくてなにがやれないのか説明しる http://echo.5ch.net/test/read.cgi/gamedev/1036410116/101
102: 名前は開発中のものです。 [] 02/12/26 21:29 ID:bqU4KP+U >98 拡張機能多いからな。インラインアセンブラ, typeof, 可変引数を使える #define と か便利。 話が変わるが、頂点ブレンディング。剛体変換を行う複数の行列 M1, M2, ... と、 頂点毎に重み w1, w2, ... を用意して M = Σwi * Mi (ただし Σwi = 1) で出した M を使うってのは分かるんだが、当然この M って剛体変換じゃない よね。 頂点変換は良いとして、法線ベクトルの計算をどうしたものかと思ってるんだが、 o 法線ベクトルの算出も M を使う。 o ただし法線と M の積を求めた後で、出てきたベクトルをノルムが 1 になるよう に正規化する。 で良いのかね。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/102
103: 100 [sage] 02/12/26 22:09 ID:kDKABYvS ソースをC++で打っていいのか分からなくて困ってます。 まずはVC++の使い方から調べます。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/103
104: 名前は開発中のものです。 [sage] 02/12/26 23:04 ID:hDb5j8vT ソースはテキストエディタで討ってくダサい http://echo.5ch.net/test/read.cgi/gamedev/1036410116/104
105: 103 [sage] 02/12/26 23:14 ID:kDKABYvS あ、ちょっと説明が悪かったです。 VC++を立ち上げて新規作成を選んでファイルのところに C++ソースファイル HTMLページ SQLスクリプトファイル とか色々あるのでどうすれば良いのか分からなくなってます。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/105
106: 名前は開発中のものです。 [sage] 02/12/26 23:31 ID:u+QTkfIN >>105 ヘルプに「チュートリアル」があるので、 まずはそれを一通りやってください。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/106
107: 名前は開発中のものです。 [] 02/12/26 23:50 ID:5pSEx7R5 本を買ってきてください。 VCの本を買えばプロジェクトの作り方から実行方法までは迷うことはないです。 その金も惜しむなら、検索エンジンで 猫でもわかるプログラミング で検索をかけてください。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/107
108: 名前は開発中のものです。 [sage] 02/12/27 03:00 ID:8wDhiAR8 >>105 君はここじゃなくてプログラム板の初心者質問スレッドで 聞いたほうがいいよ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/108
109: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/109
110: 105 [sage] 02/12/27 10:18 ID:CvRh/hw0 ありがとうございます。 がんばります。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/110
111: 名前は開発中のものです。 [sage] 02/12/27 10:19 ID:3lURIe+n RPGを作っているのですが、 「素人は数値や文章を打ち込む事をプログラムだと勘違いしている」 「数値や文章なんて、プログラムと切り離してエクセル等でササーっと打ち込めば済む事」 といった類の事を耳にしました。 テキストエディタのマクロを使う事くらいしか思いつかず、 どういやって切り離すのかまったくイメージ出来ません。教えてください。 あと、「そんな事はスクリプトを組んでスクリプトにやらせるべきで、逐一書くのなんて作業効率悪すぎ」 なんて事もどこかで読みましたが、ここで言うスクリプトって言うのは関数の事で合っていますか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/111
112: 名前は開発中のものです。 [sage] 02/12/27 10:27 ID:USn1psUA > スクリプトって言うのは関数の事で合っていますか? いいえ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/112
113: 名前は開発中のものです。 [sage] 02/12/27 12:00 ID:njWlRsrn >>64 遅レスだけど、 >if ( (mx<ex+exa)&&(mx+mxa>ex)&&(my<ey+eya)&&(my+mya>ey) ) こーやったほうが処理が稼げると思ふ。。。 if( mx > ex+exa ) goto HIT_CHECK_END; if( mx+mxa < ex ) goto HIT_CHECK_END; if( my > ey+eya ) goto HIT_CHECK_END; if( my+mya < ey ) goto HIT_CHECK_END; // 当たったヨ アボーン; HIT_CHECK_END: // 当たらなかったヨ ヤレヤレ; http://echo.5ch.net/test/read.cgi/gamedev/1036410116/113
114: 名前は開発中のものです。 [sage] 02/12/27 12:38 ID:lBLepIDx >> 113 コンパイルかけたら同じ出力になると思う。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/114
115: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/115
116: 名前は開発中のものです。 [sage] 02/12/27 14:55 ID:V5zq1+E8 >>112 即レスありがとうございます。用語辞典読んでも実感が沸かない。 スクリプト==サクラエディタで言う所のマクロだと理解していいんですか?(秀丸マクロとか) 「そんな事はスクリプトを組んでスクリプトにやらせるべきで、逐一書くのなんて作業効率悪すぎ」って言うのは、 せんし・300/150/150/50 ぶとうか・200/160/70/150 ゆうしゃ・2500/140/140/140 と打ち込んだテキストをスクリプトにかけてCの書式にする方が、 逐一ステータスをCで記述して行くよりも圧倒的に速い。って事ですか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/116
117: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/117
118: 名前は開発中のものです。 [sage] 02/12/27 19:33 ID:USn1psUA >116 そんな感じ。 ただし実際には素の C まで落とさずに、中間言語に落として、プログラム側では 中間言語を解釈するインタプリタを用意することが多い。こうすると、パラメタやら イベント処理を変えても再コンパイル不要になるからプログラマの手間・データを 変更してから実際に動かして試すまでのタイムラグが減る。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/118
119: 名前は開発中のものです。 [sage] 02/12/27 23:28 ID:1/oKDJhP あんたらが 何話してんのか さっぱりだ オレが悲しい 年末2ちゃん 当方C++歴5年、DirectX歴1年、4月から新人プログラマ がっくり。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/119
120: 名前は開発中のものです。 [sage] 02/12/28 01:08 ID:w/8XZg/Y うんうん。イベントコントロール関係はスクリプトコンパイラ(独自)で バイナリを吐いて、それを解釈しつつ実行というのが多いと思う。 UCSD PASCALみたいな感じか。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/120
121: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/121
122: 名前は開発中のものです。 [] 02/12/28 16:40 ID:XAkUMvyT 質問させていただきます。 私は最近Cをはじめた者です。一つ疑問があります。 アプリケーションなどを開発するのと ゲームを開発するのは、まったく同じものと考えてよろしいのでしょうか? 使用する言語が同じだとしましても、アプリとゲームを開発するのでは、 何か違いがあるのでしょうか?最近非常に悩んでおります。 専門学校などでも、アプリ開発の学科もあれば、「ゲームプログラム学科」 というのもありますし、何か違いがあるのかと思いまして質問させて 頂きました。よろしくお願いいたします。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/122
123: 名前は開発中のものです。 [sage] 02/12/28 16:55 ID:6+UzED5V >>122 違いは無い。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/123
124: 122 [] 02/12/28 16:58 ID:XAkUMvyT >>123さん ありがとうございます! コレで悩みが全て飛びました。 気がねなく勉強できます。ありがとうございました!! http://echo.5ch.net/test/read.cgi/gamedev/1036410116/124
125: 名無しは開発中 [] 02/12/28 17:36 ID:6v0StEIP 中間言語というのはバイナリなのですよ。つまり 0102aabb...とかいう16進数なのです プログラム中では定数をあてはめます。 #define command_1 0x01 #define command_2 0x02 ..... command_kaiseki(int no){ switch(no){ case command_1: 1の処理 break; case command_2: 2の処理 ...... } } http://echo.5ch.net/test/read.cgi/gamedev/1036410116/125
126: 名前は開発中のものです。 [] 02/12/28 17:45 ID:9/qiHtyl スクリプト言語作るにあたって、 yaccやlexを使えるようにしておくと楽でいいかもね。 あと、参考スレ http://game.2ch.net/test/read.cgi/gamedev/1005114698/ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/126
127: 名前は開発中のものです。 [] 02/12/28 21:35 ID:a5KU/+oB 野球拳を作りたいのですが何を使えばいいと思いますか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/127
128: 名前は開発中のものです。 [sage] 02/12/28 21:43 ID:LbjIcZ3v 登場人物には女の子を使えばいいと思うよ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/128
129: 名前は開発中のものです。 [sage] 02/12/28 22:26 ID:Q6tgt9eh >>128 男の子もキボーン (笑) http://echo.5ch.net/test/read.cgi/gamedev/1036410116/129
130: 名前は開発中のものです。 [sage] 02/12/28 23:56 ID:/o2fnhX+ 野球拳ってどんな拳法ですか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/130
131: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/131
132: 名前は開発中のものです。 [sage] 02/12/30 13:32 ID:KFhb8kwQ >>123 大きく人生を狂わせるような発言では? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/132
133: 名前は開発中のものです。 [sage] 02/12/30 13:48 ID:c0Wr5svx プログラムを学校で習おうとする時点で人生が狂っている http://echo.5ch.net/test/read.cgi/gamedev/1036410116/133
134: 名前は開発中のものです。 [] 02/12/30 23:20 ID:9kumBzua プログラミングの知識がある方、興味を持たれた方、 ロックマン知らなくてもどんな人でもいいので少しでも手助けを 脳内ロックマンを作るスレ http://choco.2ch.net/test/read.cgi/nanmin/1033731222 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/134
135: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/135
136: 名前は開発中のものです。 [] 03/01/04 14:14 ID:Oaz/Glfr あのさ、今シューティング作ってるんだけどさ。 敵の出現場所を定義するのがすごい面倒なんですよ。 ファイルに、敵が現れる時間、場所、種類などを書いて、それを読み込ませて るんだけど、ちょっと間に敵を追加したいと思ったら、それ以降の敵の時間を 全部ずらさなければいけなくなります。 みなさんはどんなフォーマット使っていますか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/136
137: 名前は開発中のものです。 [sage] 03/01/04 14:18 ID:RYWMO7ZD XMLみたいなmachine/human readableなフォーマットにして、 適切なツールを作るのが賢明じゃないかなあ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/137
138: 名前は開発中のものです。 [] 03/01/04 14:19 ID:Pe6gSFnI >>136 直前の敵との相対時間 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/138
139: 名前は開発中のものです。 [sage] 03/01/04 14:36 ID:Oaz/Glfr う〜ん。 相対時間ならそれはそれで、面倒になることはないかな… 一応やってみますか。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/139
140: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/140
141: 名前は開発中のものです。 [] 03/01/04 14:41 ID:Siq0Vq2w 2人で戦えるゲームを作ろうと思うのですが、二人が同時にボタンを押したら同時に処理しないといけないのでしょうか? これだとペンティアム4のハイパースレッド機能という奴を使わないといけないのでしょうか? 最近PCをX68000からWindowsXPに変えたばかりなのでよろしくお願いします。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/141
142: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/142
143: 名前は開発中のものです。 [sage] 03/01/04 14:59 ID:RYWMO7ZD >>141 mainloop() { 一人目のキー処理(); 二人目のキー処理(); 時間を進める(); 描画(); } >PCをX68000からWindowsXPに変えたばかり ナントカ山口に騙されてたクチか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/143
144: 名前は開発中のものです。 [sage] 03/01/04 15:02 ID:HHCJx2gu >>141 まぁマルチスレッドで処理するという手もあるが、見たところゲーム製作は 初心者(失礼)っぽいので、擬似タスクから勉強したほうが良いと思うよ。 参考URL http://www.hh.iij4u.or.jp/~peto/Games/games_top.html http://echo.5ch.net/test/read.cgi/gamedev/1036410116/144
145: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/145
146: 名前は開発中のものです。 [sage] 03/01/04 19:09 ID:b7FiLgbb >>144 キー入力の処理とそれとは、まったく関係ないが… http://echo.5ch.net/test/read.cgi/gamedev/1036410116/146
147: 名前は開発中のものです。 [sage] 03/01/04 19:19 ID:b7FiLgbb >>136 手を抜きたければ配列ってのもあり。 static unsigned int enemys[] = { 1, 0, 0, 0, 0, 0, 1, // 0 frame目 0, 0, 0, 1, 0, 0, 2, // 60 frame目 0, 0, 0, 0, 0, 0, 2, // 120 frame目 .. }; 1 行 60 frame 単位で処理して、出現座標の x 座標に対応したところに 敵出現情報を埋めておく。0 で敵なし, 1, 2, 3, .. が敵の種類とかさ。 少し凝った処理が必要(たとえば 30frame で出したい)とかになったら、 上位 24bit をパラメタとして敵出現関数に渡して、そっちで細かい処理 をさせる。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/147
148: 名前は開発中のものです。 [sage] 03/01/04 19:25 ID:Sa70MEqM >>146 キー入力とは関係ないが、 > これだとペンティアム4のハイパースレッド機能という奴を使わないといけないのでしょうか? こんなことを言ってる様だと、擬似タスクの勉強からはじめろって言いたくなる 気持ちもわかるだろ。 それじゃあーハイパースレッド機能のないX68000では二人用のゲームは 作れないのか?と問いたくなるけど(w >>141 はキー入力のことは一旦置いといて、ゲーム制作の基本中の基本を 解説しているサイトを検索して読み漁った方がいいかと思うけどね。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/148
149: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/149
150: 名前は開発中のものです。 [] 03/01/04 20:57 ID:iAU/RP0w そこで疑似タスクなんてチンケな物出してくる君の実力もそこまで。 ゲームのメインループとキー入力の関係を教えた方が百倍為になる。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/150
151: 名前は開発中のものです。 [] 03/01/04 21:19 ID:tSU5Xw8/ 入出力は、本気で考えると意外と深いぞ。 昔のようなハードウェアを 1 つのプログラムで占有できる環境なら ポーリングさせれば良いんだが、今時の環境についてマジに理解しよ うとすると、割り込みと OS 側の処理に関する知識が必須になる。 とりあえず「DirectInput では現在のキー入力状態を取得する API が提供されてるから、それを使えば良い」ぐらいの理解で済ませてお いて、細かい話は必要になるまで忘れといた方が幸せじゃないかね。 >>141 にちょい追加だが mainloop() { キーボード入力状態のスナップショットを取得(); // 細かいことは Win32 にお任せ 一人目のキー処理(); 二人目のキー処理(); 時間を進める(); 描画(); } http://echo.5ch.net/test/read.cgi/gamedev/1036410116/151
152: 名前は開発中のものです。 [sage] 03/01/04 21:31 ID:mQYZkk6z 俺は151みたいなのが嫌いです。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/152
153: 148 [sage] 03/01/04 21:41 ID:Sa70MEqM >>150 > ゲームのメインループとキー入力の関係を教えた方が百倍為になる。 ハァ?何それ?・・・って感じですがなにか? >>151 141のレベルを推測するとそこまで考える必要は全然ないと思われ。 そんなのは逆に知識ひけらかせてるだけにしか見えないが。 そもそも質問にマジレスするとなると、まずほとんどの二人用ゲームで 「同時に処理する必要はないし、厳密にはできない」だな。もちろんこれだけで 141がきちんと理解できるのか疑問だけど、それ以上のことは141自身が 言ってないので答えようがないな。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/153
154: 名前は開発中のものです。 [sage] 03/01/04 21:59 ID:tSU5Xw8/ > 「同時に処理する必要はないし、厳密にはできない」 そもそも「同時」ってのが何を指してるのか考えないといかんよな。 >>141 現実世界だと時間は連続して流れてるわけだが、ゲームではふつー 1/60 秒なり 何なりの適当な間隔でゲームを進行させる。だから、入力を処理するのも「押し たらすぐ」ではなくて、押したらそれを覚えておいて、次のゲーム進行のタイミ ングで処理すれば良い。 …ってのがすべての基本かね。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/154
155: 名前は開発中のものです。 [sage] 03/01/04 23:09 ID:UD5seDi4 俺みたいなヘタレ高校生がゲーム製作で食っていけるように なるにはどうしたらいいんだ!? 人生の先輩達よどうか教えておくれ・・・ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/155
156: 名前は開発中のものです。 [sage] 03/01/04 23:20 ID:9YV/5Oa6 >>155 マジレスすると、ゲーム以外のことを沢山勉強すべし。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/156
157: 名前は開発中のものです。 [sage] 03/01/05 01:16 ID:BX37WwrG プログラマになりたいなら、プログラミングはやっといた方が良いけど。 あと数学と物理と英語。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/157
158: 名前は開発中のものです。 [sage] 03/01/05 02:04 ID:Y2P5Wwxz >>155 ゲーム制作をさせてくれる会社に入りましょう http://echo.5ch.net/test/read.cgi/gamedev/1036410116/158
159: 141 [sage] 03/01/05 03:22 ID:GM2t1dvX んま!こんなに馬鹿が釣れましたわ! http://echo.5ch.net/test/read.cgi/gamedev/1036410116/159
160: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/160
161: 名前は開発中のものです。 [sage] 03/01/05 07:23 ID:cPL0Ma17 >>155 プログラマになりたいなら、大学までプログラムは放って置いて 高校までに英語をネエティブ並みに話せる、書ける、読めるようになっておきたい。 俺が。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/161
162: 名前は開発中のものです。 [sage] 03/01/05 20:39 ID:XJftI3rc >>161 俺漏れも http://echo.5ch.net/test/read.cgi/gamedev/1036410116/162
163: 名前は開発中のものです。 [sage] 03/01/05 21:51 ID:+ZilYbBV 英語はプラスアルファに過ぎんから、本業のプログラミングできんと話に ならんぞ。まぁ、英語も読むぐらいはできないと困るが。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/163
164: 名前は開発中のものです。 [sage] 03/01/17 11:54 ID:zxXu494p ∧_∧ ( ´∀`)< 糸冬 !! /, つ ( ((_(_, )) ) しし' http://echo.5ch.net/test/read.cgi/gamedev/1036410116/164
165: 名前は開発中のものです。 [age] 03/01/23 12:30 ID:B/UbhrUo age http://echo.5ch.net/test/read.cgi/gamedev/1036410116/165
166: si [] 03/01/29 11:03 ID:03M+lMkZ 簡単なゲームのプログラミングぅpしてください。 C言語で希望です。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/166
167: 名前は開発中のものです。 [sage] 03/01/29 13:57 ID:2TLqok57 ローグ・クローン2 日本語版 ソース http://www.vector.co.jp/soft/dos/game/se000996.html http://echo.5ch.net/test/read.cgi/gamedev/1036410116/167
168: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/168
169: 名前は開発中のものです。 [sage] 03/01/29 21:03 ID:SdJpN0Xo http://www.hh.iij4u.or.jp/~peto/ みながら勉強してるんですが、 ちょっと疑問に思ったので質問させてください たとえば、飛行機を表すタスクがあって、飛行機が移動しますね。 で、3Dのゲームだとカメラから描画の順番とか決めたりする処理がきて、で、そのあとに描画本体が来ますね。 とうぜん、飛行機の描画処理は飛行機タスク自体がおこなっていると思うのですが、ここで疑問が生じました。 飛行機タスクは、1フレームの中で優先順位が変わるたびにリストの中を移動しているのでしょうか? それだとリスト中の位置を特定するのにいちいちサーチをしているのでしょうか? それとも、「飛行機」を表す複数のそれぞれ優先順位の違うタスクで一つの「飛行機」を構成している? それだとデータをどのように共有しているのでしょうか? おしえてください。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/169
170: 名前は開発中のものです。 [] 03/01/29 21:18 ID:fBpSUHac >>169 >飛行機の描画処理は飛行機タスク自体がおこなっていると思うのですが ダウト http://echo.5ch.net/test/read.cgi/gamedev/1036410116/170
171: 名前は開発中のものです。 [sage] 03/01/29 21:26 ID:SdJpN0Xo はぅ。 そいでは、どうやって描画してるのでしょう? 飛行機描画関数に飛行機を渡しているのかな? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/171
172: 名前は開発中のものです。 [sage] 03/01/29 21:36 ID:SdJpN0Xo っていうか、聞きたいことずれました。 要するに、 1.タスクはリストの中を移動することがあるのですか? Yes -> 2 / No -> 3 2.リストの中をどうやって移動するのですか? 3.そしたら(描画をするのが飛行機タスクじゃないにしても)どうやってタスク間で情報を共有していますか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/172
173: 名前は開発中のものです。 [] 03/01/29 23:11 ID:KEqojg40 タスクは前タスクと後タスクのアドレス情報を持ってるから 移動するとか考える必要ないんじゃない? あと、タスク間での情報の共有って? 各タスクから共通の関数呼べば済むのでは? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/173
174: 名前は開発中のものです。 [sage] 03/01/30 00:37 ID:L8+k5MAr >>171 描画をタスク自身が行うとは考えにくい。 タスクというレベルにまで到達しているなら、 「描画専門タスクに描画を依頼する」 という方式になっていると思う。 描画されるものとしての飛行機と、 アプリ内でのオブジェクトとしての飛行機を、 区別することが肝要だと思う。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/174
175: 名前は開発中のものです。 [sage] 03/01/30 02:17 ID:BqRtFvdb >>173 2方向リスト処理ですよね。この場合、私の質問は、STLで書いちゃうと std::list<task *> tasklist; tasklist.remove(this); tasklist.insert(newpoint, this); の newpoint の位置をどうやってチェックしてるんですか?っていう意味だったのです。 listの先頭から全部なめていくのかなー・・・、それとも別の頭いいやり方があるのかな〜と。 情報の共有というのは、もし飛行機が struct 飛行機 { actor * a1, * a2; } で構成されるものだとして、a2 はどうやって a1 の中の変更した情報をチェックするのだろーとか考えてました。 いちいち new 飛行機 とかすると、(速度的な面で)疑似タスク使ってる意味がありませんよね? >>174 なるほどです。 描画されるものとしての飛行機っていうのは、単純に飛行機のスプライトとか3Dモデルとかでいいですか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/175
176: 名前は開発中のものです。 [] 03/01/30 02:20 ID:ZJQj5onM >>171 そのページの概念は処理順が安定している内部処理に絞られた物なので、 描画には向かないです。つーか勝手に用語用法決められても(汗 描画系で言ったら、 フレーム毎に「TCBアドレス+カメラ距離のセット」のリストを作成し、 距離基準にソーティングした後、リストを順になめて描画をする 様な処理が必要です。(実際にはマルチパスレンダやらなにやらで、優先度 の基準は色々追加されていく) http://echo.5ch.net/test/read.cgi/gamedev/1036410116/176
177: 名前は開発中のものです。 [sage] 03/01/30 02:26 ID:BqRtFvdb あ、情報共有のところ、修正って言うか追加です。 「飛行機作るときに、a1 に a2 へのポインタかませば良いんじゃないの?」 っていうのは、飛行機を構成する疑似タスクがたくさんになってくると、メモリ領域の中身が ポインタだけで埋まっちゃう・・・とか思ったので、使わないんじゃないかなとおもいました。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/177
178: 171 [sage] 03/01/30 03:30 ID:BqRtFvdb >>176 なるほどです。めもめも。 #これで書けたら、うれしなっとプチ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/178
179: デフォルトの名無しさん [sage] 03/01/30 03:38 ID:dIfJNfqd 私は new 飛行機 でやってる人なので、参考になるかわからんけど… newpointの位置 「ここから先は敵タスク」みたいな目印用のタスクを何個か加えて、 それのポインタをグローバルで持たせてる。 それ使って大雑把にサーチした後に細かく見てる感じでやってるけど… 他に良い方法あるのかな 情報の共有 基本的に、子が親のポインタを持つのみ。 親から子に何かさせたい時は、親が自分のフラグを変えて、子がそれを見に行く。 子同士で何かさせたい時は、子が親のフラグを変えて、他の子がそれを見に行く。 補足 タスクの移動は、タスクを管理している側で操作したほうがいいと思う。 自分で移動するとnextが変わっちゃうので、他タスクがスキップされたり2回処理されてしまう。 情報の共有は、親は自分が参照されているかどうか、調べる必要があるかも。 子が持っているポインタが開放されたタスクを指していることがないように。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/179
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 791 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.022s