トップページgamedev
1001コメント353KB

C/C++ゲーム製作総合スレッド Part4

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2013/08/12(月) NY:AN:NY.ANID:RPqvnGkC
ゲーム製作におけるC/C++全般に関するスレです。

元スレ
DXライブラリ 総合スレッド その12
http://toro.2ch.net/test/read.cgi/gamedev/1330000532/

前スレ
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
C/C++ゲーム製作総合スレッド Part2
http://toro.2ch.net/test/read.cgi/gamedev/1351015269/
C/C++ゲーム製作総合スレッド Part3
http://toro.2ch.net/test/read.cgi/gamedev/1357899040/
0788名前は開発中のものです。2013/12/02(月) 13:52:33.76ID:EmIrbEhh
yes
0789名前は開発中のものです。2013/12/02(月) 14:26:37.50ID:gdGFdJWe
>>787
1.Bulletの衝突検出は物理部分抜きの単体で使えるからそれを使う
2.ODEの衝突検出が、OPCODEっつー単体のライブラリとして使えるからそれを使う。
3.DirectXMathにプリミティブの衝突判定がいくつかあるからそれを使う。
4.「ゲームプログラミングのためのリアルタイム衝突判定」って本があるからそれを読んで自分で作る。

好きな道を選ぶといい。やりたいことにもよるけど、大抵下に行くほど茨の道。
0790名前は開発中のものです。2013/12/02(月) 17:07:26.41ID:KYoWWiEK
>>787
その true or false で結果を得られる判定の為に、物理と代数幾何が必要って事。
0791名前は開発中のものです。2013/12/02(月) 17:24:57.04ID:5lIjXhCp
すり抜けの対処入れるとキッツイわ
0792名前は開発中のものです。2013/12/02(月) 17:44:53.07ID:G29AI0ve
すり抜けなんてねぇ
前フレームと現フレームを線でつないで適度な太さのカプセルと判定させる
ゲーム判定なんてそんなもん
0793名前は開発中のものです。2013/12/02(月) 23:05:32.90ID:FEVutad4
空気抵抗を入れてすり抜け出来ない速度までしか加速出来ないようにしても良いな
0794名前は開発中のものです。2013/12/03(火) 00:21:44.15ID:d6qZR4af
そもそも3Dの当たり判定ぶち抜くほどの速さってソニックでも作る気か
0795名前は開発中のものです。2013/12/03(火) 00:33:14.34ID:NkdNt8Ub
三角形ポリゴンと移動ベクトルですり抜ける事はないだろ。
0796名前は開発中のものです。2013/12/03(火) 00:39:28.72ID:z2GiRDVw
精度の関係でコリジョンの角とかにキャラを
ぐりぐりするとすり抜けちゃう市販ゲームがちらほらと
0797名前は開発中のものです。2013/12/03(火) 08:26:06.61ID:GB89ajey
>>793-795
お前ら普段どんな処理書いてるの?
移動と、接触の、処理のイメージがちゃんとプログラムのレベルで見えてるか?
0798名前は開発中のものです。2013/12/03(火) 11:15:20.32ID:0MeippoD
そこまでいうなら説明してあげたまえ。
0799名前は開発中のものです。2013/12/03(火) 11:16:26.65ID:eOARjFDi
せやな。
0800名前は開発中のものです。2013/12/03(火) 14:48:12.77ID:vxT989Z6
>処理のイメージがちゃんとプログラムのレベルで見えてる
この辺が抽象的過ぎて何を言いたいのかさっぱり掴めん
0801名前は開発中のものです。2013/12/03(火) 14:54:10.31ID:eOARjFDi
知ったかぶりして優越感欲しいだけだよ言わせんな恥ずかしい
0802名前は開発中のものです。2013/12/03(火) 15:35:06.24ID:0mzyFwsy
知りたいことがあったら技術板で知ったかぶりすると誰かがすごい勢いで教えてくれるって聞いたことあるけど
今じゃ放置が基本なのかな
0803名前は開発中のものです。2013/12/03(火) 15:57:16.14ID:xraxN8FU
人に教える暇があったら自分のコードがりがりします
0804名前は開発中のものです。2013/12/03(火) 17:15:19.68ID:GB89ajey
>>800
自分で実装してたら、それが抽象的に見えたりさっぱりわからないなんて事無いと思うけど。

単純に方向決めて座標の数値加算だけして、移動前と移動後の線分と対象の面との交差判定するにしろ、
計算量との兼ね合いで荒い凸包との交差計算する事になった時に、その隙間にあたってすり抜ける事だってあるがな

>>801
違ぇよ。自分で書け。ここで説明とかいらないから。
0805名前は開発中のものです。2013/12/03(火) 17:20:58.72ID:GB89ajey
あるいは移動前移動後の線分と面との交差って言うアプローチでなく、
2Dでよくあるような論理マップ上のマスとの移動先との接触計算を応用したような場合、
そのマスに決めた単位を越えるような加算をしたら当然突き抜けちゃう訳で、
「必ず突き抜けない」って事も無いし、「必ず突き抜ける」って事も無いだろ。

だから普段、どう実装してたら空気抵抗だの、スピードで変わるような言い様だの出てくるんだと思った訳だ。
わかれ。
0806名前は開発中のものです。2013/12/03(火) 18:34:04.90ID:ibyagH3n
>>800
俺は>>797ではないが
さすがに言ってることの意味は分かるよ

移動処理のコードを思い浮かべると
キー入力でキャラが移動
具体的には移動に割り当てた変数が加算したり減算したり
その変数をカメラ位置座標と中視点座標にも割り当てれば
カメラも同時に付いていく

次に接触処理のコードを思い浮かべると
接触範囲に割り当てた座標の変数も同時に加算もしくは減算

主人公と敵の周囲当たり当たり判定の座標が接触したら
戦闘画面に突入
戦闘BGMスタート!
と同時に2Dコマンド欄がピキン!と表示
0807名前は開発中のものです。2013/12/03(火) 18:39:47.05ID:U1o1gERC
>>805
どっかで手を抜かないとなかなかゲームは完成しないぞ?
で、手を抜いた結果として突き抜けバグが発生したりする
0808名前は開発中のものです。2013/12/03(火) 18:48:33.82ID:GB89ajey
>>807
ん、安価ミス?俺自身はずいぶん前にリリースしてる。BPなんで自社製品じゃないけど、多分世にも出てる。
趣味でも書くけど。
0809名前は開発中のものです。2013/12/03(火) 18:51:51.68ID:U1o1gERC
ああ、エスパーの結果を書いてたのか。ちと誤解してた。
0810名前は開発中のものです。2013/12/03(火) 19:08:08.70ID:vxT989Z6
空気抵抗は、最高速に制限をかけることに対する比喩表現だと思ったんだが

ってかすでに804と806の言っている事がすでに食い違っているように見えるが
それも俺の無学のせいなのか
0811名前は開発中のものです。2013/12/03(火) 19:08:25.10ID:w8hO6toj
ピキン!
0812名前は開発中のものです。2013/12/03(火) 19:12:25.94ID:vxT989Z6
「すでに」が一文に2個出てきてる辺り俺の無学度合いはお察しだな
すまんしばらくROMるわ
0813名前は開発中のものです。2013/12/03(火) 20:28:04.75ID:N8etVaFN
空気抵抗は速くうごくほど強くなるから加速度が一定なら最高速度は決まってくる
というか、加速度と空気抵抗が釣り合う速度が最高速度になる
0814名前は開発中のものです。2013/12/03(火) 21:11:08.82ID:0MeippoD
だからその空気抵抗ってのが「マスに決めた単位を越えるような加算をしたら当然突き抜けちゃう」
をなくすための方便だって話だろ?

「なんで自由落下してこれ以上加速しないの?」
A1「マスを突き抜けないための措置です」
A2「空気抵抗のためです」
0815名前は開発中のものです。2013/12/03(火) 21:25:56.29ID:CdE0TPl5
リミット超えたら判定を複数回やればいいだけの話なのになあ。
0816名前は開発中のものです。2013/12/03(火) 22:22:19.41ID:OSLaknzQ
何をどう複数回すればボックスを越えた判定をできるのだろうか
0817名前は開発中のものです。2013/12/03(火) 22:33:24.53ID:CdE0TPl5
隙間ができない単位まで分解して判定するだけだよ。
単純な話なのに、なんでそんなに頭が固いの?
08188162013/12/03(火) 22:50:50.54ID:Wgs9ad3o
ごめん、>>817がどう判定してるのか聞きたい
俺の実装してる判定方法(>>814よりの方法?)だと何をいってるのかわからん
08198162013/12/03(火) 23:05:43.07ID:TlKrHF27
失礼、完全に>>804>>805の吟味不足でした
ベクトルと面でやるときに加速度制限する人いないのか…
0820名前は開発中のものです。2013/12/04(水) 20:33:44.80ID:uXnUTzSu
三角関数でのジャンプの作り方を知りたいです
pow += gravity;
Y = gravity * sinf(pow * PI / 180.0f);

jump=初速度
gravity=重力
Y=Y座標

こんな感じですが全くうまくいきません
0821名前は開発中のものです。2013/12/04(水) 20:41:03.13ID:uXnUTzSu
jump=初速度じゃないpow=初速度だった
0822名前は開発中のものです。2013/12/04(水) 21:48:17.05ID:zhmk3I91
>>821
そこに書かれてる処理って、
・角度(degree)に重力値を加算
・重力*sin(角度(ラジアン))がY位置

重力値に9.87とか放り込んで計算したら、
びよんびよんと高速で上下にワープ移動するような結果にならね?
試してないけど、書かれてる内容的に。
0823名前は開発中のものです。2013/12/04(水) 22:22:02.95ID:uXnUTzSu
>>822
確かに・・・
player.Y += player.jumppow;
player.jumppow -= func.Gravity;

これでもジャンプ力50.0fの重力1.0fなら良い動きをするんですが
少し数字が変わると慣性が無くなったような動きになってしまいます
初速度と重力だけで作るのは無謀でしょうか?
0824名前は開発中のものです。2013/12/04(水) 23:28:51.48ID:VBAqiQA3
むしろ初速度と重力があるならsinいらない気ガス
0825名前は開発中のものです。2013/12/05(木) 00:32:12.50ID:Q4Rc5btO
>>823
その計算ならだいたいどんな値でも放物線えがくと思うけど
慣性の無くなったような動きってどうなんの?
0826名前は開発中のものです。2013/12/05(木) 00:41:26.05ID:3lI4/blg
3Dゲームってだいたい頂天に近づくほど加速が遅くなるから
アクション的には>>823だとけっこうジャンプ攻撃とかで不都合が
0827名前は開発中のものです。2013/12/05(木) 01:30:24.26ID:rLfi/fFd
jumppowに最初にジャンプ力を設定するんだよな
問題なくね?
0828名前は開発中のものです。2013/12/07(土) 18:26:51.50ID:MMdokQyY
ちょっと聞きたいんだけど
プレステ型のゲームパッドのボタン番号と、実際のプレステコントローラの
一番一般的な番号対応とかあるのかな?

俺の手持ちは2つでどちらもエレコムだけど、それだけで既に相違がある。
1つめはエレコムのUSBパッドで、ボタンに印字されてる番号は1から振られてるけどプログラム的には0から始まってる
0 □
1 △
2 ×
3 ○
4 L1
5 R1
6 L2
7 R2
8 セレクト
9 スタート
10 L3
11 R3
0829名前は開発中のものです。2013/12/07(土) 18:35:12.79ID:OB9AL6AG
ないからコンフィグで対応するしかない
製品ごとの対応データベースでもどこかにあれば良いんだけどね
0830名前は開発中のものです。2013/12/07(土) 18:37:01.46ID:MMdokQyY
もう1つは本物のプレステコントローラをUSB接続可能にするコンバーターで
LRの1と2が逆だったり、スタートとセレクトが逆だったりする

もちろんキーコンフィグはアリにするんだけど
デフォルトでさっくり操作できた方が気持ちいと思うんだよね
0831名前は開発中のものです。2013/12/07(土) 18:39:27.15ID:MMdokQyY
>>829
更新してなかった、ありがとう。
このへん標準みたいなのがあるとすごくありがたいんだけどねー

あとは、ちょっとこれとは話は違うけど、パッド操作をキーボードに割り当てる場合の
標準とかも欲しいよね。まぁそこはツクールに合わせればいいのかな?
0832名前は開発中のものです。2013/12/08(日) 10:16:23.14ID:3chX2MBA
ホリパッドでもPS2コンと微妙に違ったりするから困る・・・

ところでキャラクターのstate処理を作りたいんだけど、
キー受付やジャンプ処理みたいなループ処理の部分の最初にstate=0(棒立ち)を書いてて
当たり前だけどキー操作してないとき(ジャンプ中や攻撃中)は強制的に棒立ちになっちゃうんだけどどう書いたらいいんだろう
最初に問答無用でstate0にしてるのがダメなのかな
0833名前は開発中のものです。2013/12/08(日) 10:34:07.34ID:1DUlwM7E
そもそもなんで最初に強制的に棒立ちにしてるのだ。前の状態を維持しないでいいのか。
0834名前は開発中のものです。2013/12/08(日) 10:52:48.31ID:3chX2MBA
>>833
前のstateにしておくと止まってるのに移動モーションになったり
キー押し続けて移動してる状態から元に戻ったときの判定ができてないだけなんだけどどう組んだらいいのか・・・
0835名前は開発中のものです。2013/12/08(日) 11:33:46.30ID:1DUlwM7E
「移動中」に止まれば「棒立ち」にすればいいし
「棒立ち中」にキーが押されれば「移動中」にする、じゃだめなのかよ。

処理の最初に状態を棒立ちに強制リセットしたら、いま移動中なのか棒立ち中なのかジャンプ中なのかわからんじゃないか。
0836名前は開発中のものです。2013/12/08(日) 23:44:46.06ID:+CLlR05t
何も押されていなかったら棒立ちにする
初期値を棒立ちにする

同じように見えて違う
0837名前は開発中のものです。2013/12/09(月) 00:01:22.24ID:29rPv9PP
>>835
ごめんググったりしても分からなかった
>>836
その何も押されていないって判定難しいんだよね
というか他の行動中も棒立ちになっちゃダメだし
0838名前は開発中のものです。2013/12/09(月) 01:40:57.14ID:qdYgEstI
>>837
こちらこそごめん。君が何を悩んでるのか解らない。

例えば、stateが「棒立ち」「ジャンプ」「移動中」の3種類があったとして

switch ( state ) {
case 棒立ち :
ジャンプボタン押されてたらstateをジャンプへ
移動キー押されてたら stateを移動中へ
case ジャンプ
   地面に着地したらstateを棒立ちへ
case 移動中
ジャンプボタン押されてたらstateをジャンプへ
   キー入力がなければ棒立ちへ
}
(breakは略)

ってやりゃ済む問題じゃないの?
0839名前は開発中のものです。2013/12/09(月) 03:05:19.23ID:rlztm+ll
今日は引数つきコンストラクタを持つクラスの配列が必要になってしまって
一部根本から設計変えるはめになった
new Class[n](a)とかやらせてくれよ
0840名前は開発中のものです。2013/12/09(月) 08:02:12.07ID:29rPv9PP
>>838
ごめん馬鹿過ぎました
なんでstateでswitch使うのを考えられなかったんだ・・・わざわざありがとう
0841名前は開発中のものです。2013/12/09(月) 08:49:45.29ID:wjGeHw45
あとはstateの最初にモーション変更しこんどけば完璧じゃねぇの!?
0842名前は開発中のものです。2013/12/09(月) 10:54:59.37ID:a6QlYFtU
待て待て頭だと止まってるのに跳んでるモーションのフレームが1ループ分できるぞ
0843名前は開発中のものです。2013/12/09(月) 11:17:06.67ID:wjGeHw45
各stateの最初って意味よ
立ちstateの最初に立ちモーション、ジャンプstateの最初にジャンプモーション
前フレームのoldstateでも作っておけば多分大丈夫
しかしstate関連は抽象的だからググっても出でこないしゲームプログラム本買うしかないか
0844名前は開発中のものです。2013/12/09(月) 12:14:22.21ID:ujMWB8vs
state内容で描画内容変えるのは簡単だけどstateの中身変えるのに状態やキー入力や優先順位とか考えて書いてたらif文が気持ち悪いことになってた
アクションゲーム作るのに重要だと思うのに解説してるサイトってほんと少ない
0845名前は開発中のものです。2013/12/11(水) 05:58:07.78ID:EB08S8JC
Intelのコンパイラってどうよ?使ってる人居る?
0846名前は開発中のものです。2013/12/13(金) 16:12:45.26ID:1zN0lg6G
初心者が使うべきVisual Studio Expressは2008 2010 2012 2013のどれ?
素直に2013でいいの?
それとも使用されてる期間や人数が少ない最新版は避けて1つ手前の2012?
あるいは入門書とかにくっついてる2008や2010を本を見ながらやるのがいい?
0847名前は開発中のものです。2013/12/13(金) 16:53:01.16ID:yPXDpUWi
>>846
基本的に最新版の方が良いが、特定の関数とか定数が削除されたりすることもあるのでその場合考えると入門書とかにくっ付いてるやつが何も考えなくていいと思う
ただ、個人的お勧めは2010だけどな
2012だとDirectX使ってデバッグしててどっかで止まるとOSハングしてると思うんだけどそれがクソ長くてな・・・
まぁ2010でも有るけど本当に少しの間だけだしそんなに問題ないと思う
0848名前は開発中のものです。2013/12/13(金) 16:55:16.40ID:yPXDpUWi
>>845
学校の先生の話だがコンパイル時の最適化はたぶん一番良いが、それ以外が駄目過ぎて嫌だし、業界ではあまり使われて無いから学校では教えるのはVisualStudioにしてるって言ってた
0849名前は開発中のものです。2013/12/13(金) 16:55:35.52ID:ZOsgrDk9
>>846
参考にしてる本が2010で解説してるなら、2010使った方がバージョン間の差で躓かないだろうからその方がいいだろうな。
別に躓いても何とかするわ、っていうなら2013。
2012と2013は全体的にマイナーバージョンアップって感じだし。(C++以外の部分でも)

2008は古すぎるので、これから初めて勉強するためのチョイスとしては微妙。
C++も言語的にだいぶ変わってるし。
0850名前は開発中のものです。2013/12/13(金) 16:59:57.71ID:gwcCO4DL
自分が使いたい奴を使う
全部無料なんですから全て試してみて
一番使いやすいのを選べばいいでしょう
0851名前は開発中のものです。2013/12/13(金) 17:12:47.40ID:1zN0lg6G
>>847>>849>>850
非常に参考になるアドバイスありがとうございました
0852名前は開発中のものです。2013/12/13(金) 17:14:16.94ID:qJKKwsuE
2010使うぐらいなら2012か2008だろ
IDE含めて一番出来が悪い
autoとか便利なのが使える2012以降が一番おすすめ
0853名前は開発中のものです。2013/12/13(金) 17:21:03.28ID:ZOsgrDk9
>>847
>2012だとDirectX使ってデバッグしててどっかで止まるとOSハングしてると思うんだけどそれがクソ長くてな・・・

同じ現象かどうかわからんのだけど、Win8+VS2012+DX11に変えてから、windowsキー無効化するのにLowLevelフックするコード入れたら、
ブレークポイントで停止がやたら重かったり、キーボードやマウスが操作困難になるくらい重くなる現象が起きるようになったな。
少なくともVista+2010+DX9で、そのWindowsキー無効化コード使ってたときは、そういうことは起きてなかったと思うんだが、
色々環境もコードも変え過ぎたせいでVS2012が原因かは不明だけど…。
0854名前は開発中のものです。2013/12/13(金) 22:26:37.04ID:bZRU5jbh
ぶっちゃけ2010が最高にクールだね
大盛り牛丼的なバランス感
0855名前は開発中のものです。2013/12/13(金) 23:07:49.54ID:YVFmKnNN
俺がゲーム作ったら3.500円で販売するので買いましょう
0856名前は開発中のものです。2013/12/14(土) 00:29:30.28ID:BWVGq0Lz
3円50銭かな?
0857名前は開発中のものです。2013/12/14(土) 01:20:46.86ID:18gxxa+X
買ってやろう、0.5円は駄賃だ
0858名前は開発中のものです。2013/12/14(土) 15:44:43.20ID:77xNKlZ2
>>852
> autoとか便利なのが使える2012以降

C++0x 対応開始したんだっけか。
2010出来が悪いって言ってんのは共通プロパティページの事かな。
確かに方式急に変わったので困るは困る。2012でまた戻ったの?

あと2008はインテリセンスが効かなくなるから、その点では2010のの方が良く無いか?
0859名前は開発中のものです。2013/12/14(土) 16:03:45.26ID:NX4+jWoQ
2013でもまた かなり対応部分が増えたらしいねー
0860名前は開発中のものです。2013/12/14(土) 17:31:13.06ID:6c6wSBeF
autoで型推論は2010から対応してるっしょ。ラムダ式も2010だし。
C++11正式対応しだしたのは2012からだけど、tr1として2010からそこそこ入ってるがな。

でも2010使ってた当時は2013あたりにはとっくにC++11対応完了してると思ってたのに…。
なんて様だ…。
0861名前は開発中のものです。2013/12/15(日) 09:15:17.88ID:uT8JLcvH
15年近く前のC99にすらろくに対応してない時点で察せよ
0862名前は開発中のものです。2013/12/15(日) 11:17:55.55ID:1GmHMFtI
C11「」
0863名前は開発中のものです。2013/12/16(月) 00:17:39.25ID:BoC0cUAD
VC2008でやってるけど一度デバッグするとしばらくの時間、書き込めませんとか出てデバッグ出来なくなって困ってる
2013なら治ってるかな
0864名前は開発中のものです。2013/12/16(月) 01:05:32.19ID:eFKKem1z
C++14「」
0865名前は開発中のものです。2013/12/18(水) 08:06:15.13ID:gVPR/3Zu
キャラクターのステータスってどういう処理の時に加算すればいいかな
普通Lvで上がる基本能力に装備やスキルの+とか足してって計算すると思うんだけど
攻撃力とか防御力とか項目多いから毎フレーム計算するわけにはいかないし、
かといって装備時やスキル習得時に加算しようとすると、その装備やスキル内容作ってないとダメだし
なにか良い方法はないかねぇ
0866名前は開発中のものです。2013/12/18(水) 08:26:55.55ID:ricpehTA
めんどいけど後者でいいな
0867名前は開発中のものです。2013/12/18(水) 15:41:36.51ID:EZIDHhNq
再計算する処理作っといて、いつでも「変わった時」にそれを呼び出すようにすればいいんじゃないの?
0868名前は開発中のものです。2013/12/18(水) 15:58:15.94ID:WSnzChgu
ものにもよるけど、
再計算する処理を作っておいて、いつでも「そのデータが必要になったとき」に呼び出してる。
処理の量は多くなるけど、これが原因でフレーム落ちしたという経験はまだない。
10や20のパラメータをキャラクター数百体計算させてもたぶん余裕。
ただし2D。3Dは描画で時間がかかってて、ほかの処理にあまりまわせないなんてことはあるのかもしれない。
0869名前は開発中のものです。2013/12/18(水) 17:27:55.00ID:gVPR/3Zu
なるほどなぁありがとう
人数分ループとかさせると行にして500行とかになるもんな・・・
0870名前は開発中のものです。2013/12/19(木) 02:16:59.08ID:pR63irZP
500人いるゲームなら、あらかじめ基本ステータスとしてテーブルを持っておくだろ
だったら個々のステータスは変数でもいいんじゃね
0871名前は開発中のものです。2013/12/19(木) 07:51:07.32ID:hJCmMtxJ
500人って
仮定が極端すぎじゃねw
0872名前は開発中のものです。2013/12/19(木) 10:04:21.75ID:euV8h7sF
500人程度なら、グラ処理の方がステ処理なんかより桁2つ違う次元で重たいから気にする意味なんて無いんじゃね?、とマジレス。
グラはテキストベースです!とか、ステータスの種類自体が1000項目あります!とかならアレだがw
まーアクセサ経由にしてお茶を濁しておくね、俺なら。んで後で本当に「ステ処理が原因で重い」って状況になったら、差分処理なりポーリングなり仕込む。
当然関数1個挟む事になるからその分のオーバーヘッドはあるけど、そのコストはもう割り切るわ。
それを悩むべきタイミングを先延ばしにできるというメリットで十分ペイできると俺は思うで。
0873名前は開発中のものです。2013/12/19(木) 10:28:33.61ID:pJOY1Grx
このやり方だとプレイヤーだけじゃなく敵も毎フレームやることになるからそれだと重いかもな
敵の最大数×ステータス数で…うほっ
0874名前は開発中のものです。2013/12/21(土) 14:30:14.30ID:AGiYWayc
2Dゲームを作る場合、DirectXのバージョンを9から上げる必要はありますか?
0875名前は開発中のものです。2013/12/21(土) 15:01:24.06ID:wdGDIJgR
11との比較でXP捨てていいんなら9にこだわるメリットはないよ
ハードも9以降の物なら大丈夫だし
0876名前は開発中のものです。2013/12/21(土) 18:28:48.07ID:x0po72ng
俺3Dでも2DでもまだDirectX9ベースだ。
固定パイプライン使ってないけど。
0877名前は開発中のものです。2013/12/21(土) 21:06:16.05ID:AGiYWayc
んーと、10や11に2Dで使えそうな機能はないって事で良いのかな?
0878名前は開発中のものです。2013/12/22(日) 01:00:07.09ID:1+swQorc
Direct2Dを使うならVista以降に限られるので、まぁDirectX9に拘る理由はないな。
API的にはDirectX11の方が整理されてて使いやすくはなってる。
デバロスもないし。
自前で2D描画処理書くんなら9の機能で十分だから、XPをサポートしたいっていうんなら9でも良いと思う。
10や11の機能を2Dに応用はもちろん出来るんだけど、2Dゲーにはオーバースペック過ぎて必要ないかな俺的にだけど。
0879名前は開発中のものです。2013/12/23(月) 16:10:01.81ID:W/7UABWQ
11で2Dなら公式のが簡単でお勧め
https://directxtk.codeplex.com/
リンク先にあるDirectXTexも併用したほうが楽かも
0880名前は開発中のものです。2013/12/23(月) 16:15:39.79ID:W/7UABWQ
Audio - low-level audio API using XAudio2
人に勧めといてあれだけど・・いつの間に
更にC++版XNAみたいになってきとる
ついでに簡単なXNAモドキなフレームワークでも提供してくれればいいのに
0881名前は開発中のものです。2013/12/24(火) 09:16:42.97ID:6rDsVpQe
クリスマスの夜にリア充カップルを射殺しまくるFPSを作って公開するか
0882名前は開発中のものです。2013/12/24(火) 16:41:44.51ID:RffL/RYa
2Dのアクションゲームを作ろうと思っているのですが、ブロックと当たり判定したあとにブロックの位置まで戻すにはどうすればいいのでしょうか?
0883名前は開発中のものです。2013/12/24(火) 17:42:12.75ID:e/VGuWHA
きっと
当たり判定後に、ブロックにめり込まない位置(=ブロックに接する位置)に移動させたい
と言う事だとエスパー気味に
0884名前は開発中のものです。2013/12/24(火) 18:09:20.86ID:uUpHALH3
移動するときに移動後の位置で判定して、その移動はしない、じゃダメなのか
0885名前は開発中のものです。2013/12/24(火) 18:15:55.42ID:L2qvgLfJ
>>884
さらに言うと、その判定の後でどのくらいめりこんだかの差分取ってキャラの位置戻すだけだよな。
0886名前は開発中のものです。2013/12/24(火) 18:27:20.28ID:fizHiSzP
Box2Dをインストールして、判定全部を任せたら
今まで俺は何をやってたんだ!と思っちゃうレベルに楽チン
0887名前は開発中のものです。2013/12/24(火) 19:32:38.32ID:L2qvgLfJ
わからない事から逃げて楽チンになるのと、わかってる人間が楽チンになるのとじゃ大分意味違うけどな
■ このスレッドは過去ログ倉庫に格納されています