[過去ログ]
ゲームプログラミング相談室【Part5】 (970レス)
ゲームプログラミング相談室【Part5】 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
14: 8 [sage] 02/11/08 21:31 ID:??? STL の件だけど、要するに __malloc_alloc_oom_handler などの static 変数 が .sdata セクションに配置されるのが問題なんだね。 教えてもらった -G0 を使って「全部 .data セクションに置く」方法に加えて、 問題になってる変数に個別に __attribute__((section(".data"))) 指定する 方法でも動きました。 しかし、何で __malloc_alloc_oom_handler などのクラステンプレート中で 定義された static 変数に限って .sdata に配置できないのかは謎です。 .sdata や.sbss 使い切るほど static 変数定義してないんだけど。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/14
15: 名前は開発中のものです。 [sage] 02/11/08 21:41 ID:??? >>12 オブジェクトのローカル座標に、ローカル・ワールド変換行列、ワールド・ビュー 変換行列、ビュー・スクリーン変換行列(a.k.a 射影行列) と順にかけて、出てき た座標を w で割れば良い。 行列だけど、DirectX 使ってるなら SetTransform() に D3DTS_WORLD D3DTS_VIEW D3DTS_PROJECTION という第一引数を指定して渡してるヤツ。 >>13 まぁ、サンプルコードを深く理解せずに copy & paste してるんでしょう。趣味 でプログラミングしてるなら、そういう態度もアリだとは思うよ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/15
16: 名前は開発中のものです。 [sage] 02/11/09 00:02 ID:??? >>14 gccって、vtblを.dataに吐いてたりしない? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/16
17: 名前は開発中のものです。 [] 02/11/09 01:09 ID:0QThSDoj >>15 そーゆー奴ってさワールドからローカルへの変換ができねぇってことだろ? 動いてる物体にのれないのはもちろんのこと スキニングも理解してできてねぇだろ? 逆行列はしっかり理解してから次のステップへいってもらいたいね。 俺も会社入るまえそうだっただけに応援したいね。 ローカルに直せるってだけでかなりできることが増えるね。 なにいってるかわかんなくなったね。 じゃあね http://echo.5ch.net/test/read.cgi/gamedev/1036410116/17
18: 8 [sage] 02/11/09 01:16 ID:??? >>16 vtbl が配置されるセクションと、クラステンプレートの static 変数が配置される セクションが違うと、何か問題がある? あと、今回の件に関しては STL のコン テナが利用する allocator の話なんで、仮想関数は出てこないはず。 そもそも .sdata, .sbss に関しては、こういうことだと理解してるんだが、勘違い があったら指摘して下さいな。 1. EE-core (っつーか MIPS) は 32bit 固定長命令を採用しており、アドレス 空間も 32bit ある。 2. したがって 1 命令で 32bit の任意のアドレスにアクセスすることはできない。 どうしてもアクセスしたければ a) まず 16bit をレジスタの上位アドレスに読み込み b) 次にオフセット付きメモリ参照命令を使って、メモリにアクセス と 2 命令使う。 3. それだと効率が悪いので、汎用レジスタの一つ ($gp) をグローバルポインタ として固定した値を入れて利用。static なデータは $gp から 16bit 相対で アクセスできる範囲に入れておく。(これが .sdata と .sbss) 当然 16bit 相対でアクセスできる範囲は限られるから、そこから溢れたデータ は効率悪くても 2 の方法でアクセスする必要がある。gcc は標準では 8byte 以下のデータは .sdata, .sbss セクションに、それ以上のデータは .data, .bss セクションに格納する。この閾値は、必要に応じて -G オプションで変更できる。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/18
19: 8 [sage] 02/11/09 01:19 ID:??? >>18 の続き そういうわけで gp がらみで問題になるのは 1. .sdata, .sbss が溢れるほど大量に static データを定義した場合 2. 翻訳単位によって、閾値が異なる場合。たとえば同一のグローバル変数を 参照するプログラムの片方を -G0 でコンパイル、他方を -G8 でコンパイル とか。 3. $gp を書き換える場合。特に位置独立なコードを使うシェアードライブラリの 関数を呼ぶ場合。(ふつー Global Offset Table 用意して、$gp 書き換えた上 で関数を呼ぶスタブを作る) といった場合。クラステンプレートの static 変数が関わるとは思えんのよ。 PS2 Linux だとなんの問題もなく動いたような気がするし。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/19
20: 12 [] 02/11/09 01:55 ID:s6gdDMqC >>15 ビュー行列 と 射影行列を掛けたものと、 3D座標を 掛けたの ですが、でた xyzwで x/w y/w z/w をやってみたのですよ。 しかし、 値が1.0を超えているにもかかわらずスクリーンの端 にまで、 ラインが(この時二つの座標を線で結んでいました。) 届いてませんでした。 なので、 やり方が違うのかなとおもいまして・・・・ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/20
21: 名前は開発中のものです。 [sage] 02/11/09 01:58 ID:??? >>20 なんか微妙に日本語が変な気が。ありがちなのは行列をかける順番を 間違えてるとかだが。 > しかし、 値が1.0を超えているにもかかわらずスクリーンの端 > にまで、 ラインが(この時二つの座標を線で結んでいました。) 意味が良く分からん。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/21
22: 12 [] 02/11/09 02:14 ID:s6gdDMqC >>21 すばやいレスありがとうございます。 2点をラインで描画しました。 ビュー行列 matView 射影行列 matProj 調べたい座標 Vec 計算後の値 v4 mat = matView * matProj D3DXVec3Transform(&v4,Vec,mat); Vecとmatを計算して求められた 値をwで割る v4.x/v4.w v4.y/v4.w v4.z/v4.w ここで スクリーン座標が求められるはずです。 スクリーン座標の値は xyに関しては -1〜1 zは 0〜1に なるはず だけれど、 その値を超えたにもかかわらず そのラインは 画面の端まで届きませんでした。 mat = matProj* matView でやってみても 値は変わりますが、 ラインが端まで届きません。 なので、計算の仕方が間違ってるのか、それか根本が間違っている かどちらかだとおもうのです。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/22
23: 名前は開発中のものです。 [] 02/11/09 03:22 ID:gww9xFnI ビューポートは考慮したーのーかーなーあーあーあーあ? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/23
24: 12 [] 02/11/09 03:44 ID:s6gdDMqC >>23 すみません。 たしかに、 640,480のウインドウを値(1.0,1.0)に する必要がありますが、 このビューポートを実際どのように 使えばいいのか。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/24
25: 12 [] 02/11/09 05:27 ID:s6gdDMqC >>23 もとめられた値に windowのサイズの半分を掛けて あげればよいのでしょうか? 640,480のウインドウなら320,240をそれぞれ掛けてあげる x = x*320; y = y*240; それですと 一応それらしき値はでます。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/25
26: 名前は開発中のものです。 [] 02/11/09 09:43 ID:iuRz/9+A ちゅーしんをあーわーせーろー。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/26
27: 名前は開発中のものです。 [] 02/11/09 14:55 ID:9m0Zluol 意外にみんな親切なのな。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/27
28: 名前は開発中のものです。 [sage] 02/11/09 14:59 ID:??? 誠意が見られるなら付き合うよ。 質問の仕方とか…ね。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/28
29: 名前は開発中のものです。 [] 02/11/09 15:20 ID:m4HooRjJ http://alink3.uic.to/user/ranran2.html http://echo.5ch.net/test/read.cgi/gamedev/1036410116/29
30: 12 [] 02/11/09 17:41 ID:s6gdDMqC >>26 >>ちゅーしんをあーわーせーろー。 中心ですか どうやってあわせるのだろう・・・・・ 視点と注視点から 角度を求めて それを 頂点に掛けて あげるのでしょうか・・・ うーんでも、ビュー行列を掛けたときにすでに入っているような気も しないでもないですね。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/30
31: 名前は開発中のものです。 [sage] 02/11/09 21:43 ID:??? そういうのは3Dグラフィックの基礎知識だから、そっち方面の 参考書でも読んで勉強したほうがいいと思うぞ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/31
32: 名前は開発中のものです。 [sage] 02/11/09 22:11 ID:??? そだね。DirectX がどうこうの前に、基礎的な知識を習得したほうが近道だよ 試しに自力でライブラリ無しでポリゴン出してみなよ ワイヤーフレームでいいからさ。いろいろ分かると思うよ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/32
33: 名前は開発中のものです。 [] 02/11/10 00:18 ID:laxcwGaC おーれーはーそーのーすーたーんーすーがきらーいだー。 目的地をみさーだーめーていっちーょくせんでりろーんはそーれーかーら かーんーがえーるーのがーすーきーだ。 ちーなーみーにーちゅうーしーんをもとーめるーとゆーんは、 たーすーだーけーだーよ?あ? で、あーとーはーじぶーんでなーんとかしれー http://echo.5ch.net/test/read.cgi/gamedev/1036410116/33
34: 名前は開発中のものです。 [age] 02/11/10 00:32 ID:??? >>8 誰なのかわかりますた ヽ(´ー` )ノ 初期化してないstatic class memberが .bssに入らないで.dataセクションに 入っちゃうみたいだけど、それじゃない? それが正しいのか間違ってるのかしらないけど。 http://chapuni.com/topics/psx/ でも、やっぱ -G0 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/34
35: 12 [] 02/11/10 03:52 ID:CLex+uUH >>33 私も とりあえず、足せば良いのかなと思いやってみたのですが うまくいきませんでした。 >あーとーはーじぶーんでなーんとかしれー いろいろご指導ありがとうございました。 いろいろ試して見たいと思います。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/35
36: 名前は開発中のものです。 [sage] 02/11/10 07:26 ID:??? オブジェクトのワールド座標ににプロジェクション行列の逆行列をかけて 求まったxとyを使えば良いんじゃねーの? その時、原点は画面中央、640×480の場合、xが0なら 画面中央320って事じゃないの? …漏れの環境だとね。 zはカリングで使うじゃない?マイナスだとカメラの後ろに来てるって事。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/36
37: 名前は開発中のものです。 [sage] 02/11/10 11:38 ID:??? >>34 static class menber でも、問題が出るものと出ないものがあります。 普通のクラスの static member object -> 問題なし テンプレートクラスの static member object -> relocation truncated ... でリンク時エラー 普通のクラスとテンプレートクラスで異なる点は、nm で見た限りだとシンボルが weak か否かという点。テンプレートクラスの static member は複数の翻訳単位 でインスタンス化される可能性があるけど、リンク後には実体を 1 つにせにゃな らんので weak object になってる。 それで weak object + .sdata セクションという組み合わせが悪いのかと思ったの だけど、違うのかなぁ。(これ以上は binutils のソース読まんと解決しないような 気がしてきた) > でも、やっぱ -G0 らじゃ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/37
38: 名前は開発中のものです。 [] 02/11/10 17:12 ID:X0lDMmpo >>36 >オブジェクトのワールド座標ににプロジェクション行列の逆行列をかけて >求まったxとyを使えば良いんじゃねーの? これですと 値が変動するときは プロジェクション行列が変わった時だけ なのでうまくいかないと思います。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/38
39: 36 [sage] 02/11/10 19:10 ID:??? ああ、すまんね。 こっちの環境だと、独自クラスのカメラてのがあって 毎フレーム、視錐台の変更って感じでやっているから出切るんだわ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/39
40: 前編 [] 02/11/10 20:19 ID:JSg4/5lD はいではやりかたを整理しましょう。 まず変換したいワールド座標にカメラの逆行列をかけます。 これはDIRECTXではGetTransなんとかでとれるあたいそのままです。 つぎにプロジェクションマトリクスをかけます。 これは大抵の環境で同じです。 それからビューポートの変換です。 これは640X480の場合は http://echo.5ch.net/test/read.cgi/gamedev/1036410116/40
41: 後編 [] 02/11/10 20:29 ID:JSg4/5lD X=(X/W)*320+320 Y=(Y/W)*-240+240 で終了です。 これはDIRECTXのヘルプにものっています。 ヘルプでビューポートで検索をかけるとみつかります。 これでできなかったら少し実際にものをだして動かしてみてはどうでしょうか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/41
42: 37 [sage] 02/11/11 20:55 ID:??? 解決しました。結論としては linker に読ませてるスクリプト指定が腐ってる、 .gnu.linkonce.s セクションのデータを $gp 相対でアクセスできそうなところに 配置しろ、ってことで。 (結局 gcc のソースを読む羽目になったよ……) http://echo.5ch.net/test/read.cgi/gamedev/1036410116/42
43: 名前は開発中のものです。 [sage] 02/11/12 00:59 ID:??? >>42 そんなんでgccのソース読む羽目になったの? マップファイル見たらすぐわかりそうなのに。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/43
44: 名前は開発中のものです。 [sage] 02/11/12 01:18 ID:??? >>43 それは「.gnu.linkonce.s セクションって何、どういう条件で作られるの?」っつー のが、分からなかったから。推測はついたけど、裏をとらないと困るっしょ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/44
45: 名前は開発中のものです。 [sage] 02/11/12 01:35 ID:??? >>44 そこまで見たあんたに尋ねるが、ソノ環境で、vtblは何処に出てる? .gnu.linkonce.d.vt とか、そんなんだと思う。 なんか、gccのデフォルトで、.dataの一部として吐かれるみたいなんだけど、 書き込み可能なセクションに吐く理由がわからなくて気になってるんだ・・・。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/45
46: 名前は開発中のものです。 [sage] 02/11/12 21:24 ID:??? >>45 確かに .gnu.linkonce.d.__vt_なんちゃら セクションに書かれてる。 gcc/cp/class.c を読むと #ifndef WRITABLE_VTABLE TREE_READONLY (decl) = 1; #endif みたいな記述があるから .gnu.linkcode.r に配置されそうなもんだが。謎。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/46
47: 名前は開発中のものです。 [sage] 02/11/13 00:43 ID:??? >>46 おお、そのマクロでしらべてみたら、なんかでてきたよ。 ありがとん。 で、デフォルトでそんなマクロは定義されないらしいのだが・・・。やはり謎。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/47
48: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/48
49: 名前は開発中のものです。 [sage] 02/11/16 22:06 ID:??? | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| | ここでおしまい | |________| ∧∧ || ( ゚д゚) || / づΦ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/49
50: 名前は開発中のものです。 [] 02/11/16 23:26 ID:VL8Oafej >>49 はやまるなー http://echo.5ch.net/test/read.cgi/gamedev/1036410116/50
51: 名前は開発中のものです。 [sage] 02/11/21 03:03 ID:277H+gCD 終了厨がおおいですなぁ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/51
52: 名前は開発中のものです。 [sage] 02/12/06 07:52 ID:c2Ro9O0h ここでも、保守。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/52
53: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/53
54: 名前は開発中のものです。 [] 02/12/09 22:53 ID:gy0Rwv2m やる気のないゲームプログラマです。 丁度プロジェクトのハザマで暇なので ツール作成でもしてみなさい、と上司に言われました。 イチから作成する根性もやる気もないのでとりあえず VRAMを眺めるツールでも改造してみようかと思うんですが どう改造したら勉強になるのか見当がつきません。 どうせ改造するならためになるほうがいいんだけど・・ ハードはGBAです、どなたかお知恵を。。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/54
55: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/55
56: 名前は開発中のものです。 [sage] 02/12/10 09:19 ID:JzMo+9Nz >>54 アイタタ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/56
57: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/57
58: 名前は開発中のものです。 [] 02/12/23 20:03 ID:CHDaAJj8 誰も相談したい人いないのか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/58
59: 名前は開発中のものです。 [] 02/12/23 22:42 ID:frBmN/bA ゲームのあたり判定ってどうやってるの? 精妙なあたり判定を作りたいときは大小の四角を何個か組み合わせればいいのかな? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/59
60: 名前は開発中のものです。 [sage] 02/12/23 22:45 ID:mYrEUkS2 当たり判定用のデータを他に持つと簡単。 具体的なビットマップだったり、矩形だったりするが それはゲーム依存。 当たりを判定して、何に使うかというのもポイントだったりするので そのへんもデザインしよう。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/60
61: 名前は開発中のものです。 [] 02/12/23 22:57 ID:frBmN/bA なーるほど、サンクス! http://echo.5ch.net/test/read.cgi/gamedev/1036410116/61
62: 名前は開発中のものです。 [sage] 02/12/23 23:53 ID:OrL+tItn 12月、1月は一時閉鎖します。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/62
63: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/63
64: 名前は開発中のものです。 [] 02/12/25 01:36 ID:06ow8SQ/ mx・・・自機X座標、my・・・自機Y座標、mxa・・・自機X幅、mya・・・自機Y幅 ex・・・敵機X座標、ey・・・敵機Y座標、exa・・・敵機幅、eya・・・敵機Y幅 if ( (mx<ex+exa)&&(mx+mxa>ex)&&(my<ey+eya)&&(my+mya>ey) ) ... シューティングのオーソドックス?な当たり判定はこんな感じのやり方しか 知らないんだけど他にはどんな方法がありますか? ゲームやハードに依存しててもいいからいろんな判定の仕方が知りたいYO! http://echo.5ch.net/test/read.cgi/gamedev/1036410116/64
65: 名前は開発中のものです。 [] 02/12/25 02:21 ID:fYJY+WkT 説明めんどいのでこれで理解して。最近流行の弾幕系専用当り判定。 cEnemy…敵管理クラス。 cEnemy* hitRect[40][30]; cEnemy* pHitList = hitRect[mx/16][my/16]; while(pHitList != NULL){ if( pHitList->IsHit(mx,my) ) printf("どっかーん"); pHitList = pHitList->GetNext(); } http://echo.5ch.net/test/read.cgi/gamedev/1036410116/65
66: 名前は開発中のものです。 [sage] 02/12/25 02:33 ID:BLeCLBHq リスト内の各enemyに対して判定するってのは分かるけど、16って何? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/66
67: 名前は開発中のものです。 [sage] 02/12/25 02:44 ID:e+neG+8z 16ドットって意味かな? どちらにしろ定数にしておくべきだと思うが…。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/67
68: 名前は開発中のものです。 [sage] 02/12/25 03:27 ID:BLeCLBHq あぁ、640x480の画面を16x16に区切って、自機の近くのやつだけ判定したいってことか http://echo.5ch.net/test/read.cgi/gamedev/1036410116/68
69: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/69
70: 名前は開発中のものです。 [sage] 02/12/25 07:56 ID:dIcCINXP >>65 マジックナンバー使わんでくらはい(´д`;) 大きな判定の場合はどうするの? 複数のエリアに登録する? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/70
71: 名前は開発中のものです。 [sage] 02/12/25 10:40 ID:vBfJXHZb >>65 高速弾だとすり抜けが多発しそうだが、その辺は考慮に入れてあるのか?これ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/71
72: 名前は開発中のものです。 [] 02/12/25 10:48 ID:Bqxu+V45 ていうか、8ビットや16ビット時代ならともかく、最近のPCなら たとえ弾幕系でも2Dシューティング程度の判定量で んな小細工する必要皆無だと思うけど。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/72
73: 名前は開発中のものです。 [sage] 02/12/25 11:18 ID:ufF3sG4T 一つの弾の判定に30クロックかかったとして(もっと少ないと思うけど) 1000個の弾との判定にかかるのは3万クロックだな。 60fpsで判定すると180万クロック。 1GHzのCPUなら0.2%で、2ミリ秒/秒だな。 安直にできそうなところはさっさとスルーしたほうがいいと思った。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/73
74: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/74
75: 64 [sage] 02/12/25 14:47 ID:aHas5saF >>65 ゴメン、C++はまだ勉強してないからわからない スプライトを使った当たり判定をやりたいのだけれど・・・ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/75
76: 名前は開発中のものです。 [sage] 02/12/25 16:58 ID:dIcCINXP Gems2の再帰的次元クラスタリング(Recursive Demiensinal Clustering: RDC)はどうよ? 計算量を、O(n^2)からO(nlog2n)までもっていけるらしい。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/76
77: 名前は開発中のものです。 [sage] 02/12/25 19:40 ID:RXUO2PKH C言語で時代に逆行した2Dアクションゲームを作ろうと思います。 まず何から作り始めると良いでしょうか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/77
78: 名前は開発中のものです。 [] 02/12/25 19:40 ID:/cDNIeOU SRPGの移動に関するサンプルみたいなのありませんか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/78
79: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/79
80: 名前は開発中のものです。 [] 02/12/25 21:16 ID:ocB35uV6 >>77 まずあなたがどこまでできてるのかがわからないことには・・・。 >>78 http://www.campus.ne.jp/~ishigami/CREATION/ ここの下のほうに解説ページがあるよ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/80
81: 77 [sage] 02/12/25 21:26 ID:RXUO2PKH >>80 うむ、確かにな。 プログラミングは教科書に載ってるようなやつなら簡単に理解できるくらい。 ゲーム系はまるっきりってとこでつ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/81
82: 名前は開発中のものです。 [] 02/12/25 21:37 ID:Kq2zu9Np >>77 まずマップチップ(背景データの素材)を用意して それを配置したマップデータを用意して マップデータから1画面分のデータを読み込んでマップチップを貼り付けて それをスクロールさせる(読み込み位置を変化)ところから。 グラフィック関係はBitblt関数でやってもいいしDirectX使ってもいいし。 素材が無いと気合入らない事もあるし・・・ 2Dアクションって・・・シューティング以外の格闘系だったりする?・・・ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/82
83: 名前は開発中のものです。 [] 02/12/25 21:43 ID:ocB35uV6 とりあえず>>82をやったあとは、 マップ上にキャラクターの絵を置いて、キーボード操作によって キャラの位置を動かすのをやってみるといいかも。 習作としてはシューティングが最適だったりするんだよね。 重力の概念とか考えなくていいし。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/83
84: 名前は開発中のものです。 [sage] 02/12/25 21:45 ID:C+V8gp8b >>81 どんな教科書だ? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/84
85: 81 [sage] 02/12/25 21:59 ID:RXUO2PKH なるほど、シューティングか。 サラマンダみたいなやつの背景をうごかせるようになればいいのか。 CとDirectX、どっちが関数使いやすいですかねぇ。 >>84 C言語の本で確か「初めてのC」って名前でした。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/85
86: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/86
87: 名前は開発中のものです。 [] 02/12/25 22:06 ID:Kq2zu9Np >85 CでDirectXを操作するのだよ。DirectXは言語じゃない。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/87
88: 名前は開発中のものです。 [sage] 02/12/25 22:09 ID:qyObx7qF >87 うむ。 っつか素の ANSI C だとグラフィック関係を制御するライブラリ関数ないし。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/88
89: 名前は開発中のものです。 [] 02/12/25 22:13 ID:Kq2zu9Np 言葉足らずだった。DirectXは慣れないと画面がパー、要再起動だから C言語の関数でやってみてからDirectXに移行した方がいい。 グラフィックを扱う部分は大した量じゃないから後ですぐ移行出来る。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/89
90: 85 [sage] 02/12/25 22:15 ID:RXUO2PKH なるほふぉ。 勘違いしてました。 今手元にあるヴィジュアルCはグラフィック関係を制御できますか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/90
91: 名前は開発中のものです。 [] 02/12/25 22:26 ID:Kq2zu9Np http://www.sun-inet.or.jp/%7Eyaneurao/ VC持ってるんならここのスクリプトを使えばいい。 ここの講座もためになる。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/91
92: 名前は開発中のものです。 [sage] 02/12/25 22:40 ID:qyObx7qF >>89 > C言語の関数でやってみてからDirectXに移行した方がいい。 要らぬ誤解を招かぬように「まずは Win32 API (GDI)」とでも言っておいた方が 良いと思われ。 標準 C ライブラリ関数には GUI 関係は全く既定ないから。(それどころか CUI のスクリーン制御さえ既定ないわけだが) > 今手元にあるヴィジュアルCはグラフィック関係を制御できますか? もちろん。 Win32 API でプログラム組みたいなら、「プログラミング Windows」って本がバイ ブル。分厚い本だが、懇切丁寧に書いてあるから読むのは難しくない。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/92
93: 名前は開発中のものです。 [] 02/12/26 03:31 ID:sowo2pdC >>92 APIについて Windows95 APIバイブル1も一冊あるとかなり便利。 ただ、ヘルプを読んでれば十分という話も。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/93
94: あぼーん [あぼーん] あぼーん あぼーん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/94
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 876 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.011s