C/C++ゲーム製作総合スレッド Part1 at GAMEDEV
[2ch|▼Menu]
1:名前は開発中のものです。
12/05/20 21:22:08.41 iNm25OoA
ゲーム製作におけるC/C++全般に関するスレです。

元スレ
DXライブラリ 総合スレッド その12
スレリンク(gamedev板)

2:名前は開発中のものです。
12/05/20 22:01:46.39 /AOQLV8Q
>>1
スレ立て乙

3:名前は開発中のものです。
12/05/20 22:03:54.15 xMXzf6LN
プラットフォームやライブラリは限定しないの?
何話せばいいの?


4:名前は開発中のものです。
12/05/20 22:18:13.59 m1rxCUFY
>>3
限定しない
C/C++がらみの雑談とか、初心者質問とか

元スレで、DXライブラリ + C/C++でゲーム作ってる住人が、
直接DXライブラリに関係しない、STLとか、ポリモーフィズムとか、
シーン管理とか、ポインタとか、そういう話をしてて、
スレ作ろうか、という話になったのが経緯な感じ

5:名前は開発中のものです。
12/05/20 23:50:39.99 yU6Yon3O
>>1 乙カレー

6:名前は開発中のものです。
12/05/21 00:08:53.00 AjGf5HQx
タイトル、ゲーム画面、メニュー画面、ステージ選択画面…みたいに分けるのが普通なのかな
混ぜこぜしてたら分け分からん

7:名前は開発中のものです。
12/05/21 00:09:43.91 fb8qDzrd
関連のあるやつは入れ子にする

8:名前は開発中のものです。
12/05/21 00:32:00.15 AJ0vKVNf
「スレ違いの話は他でやれ」とかいうのは嫌いだが、確かにこういうスレは欲しかった。

9:名前は開発中のものです。
12/05/21 01:56:37.38 ZnI/WkSf
>>8
ごめん

10:名前は開発中のものです。
12/05/21 06:38:23.30 yPj86Kps
>>1
昔は言語単体の質問はム板で質問する事が多かったが
正直今のム板は質問に対してまじめな答えが返ってくるかどうか怪しいからな

11:名前は開発中のものです。
12/05/21 08:25:25.64 L5xx/kw7
画面(シーン)管理は、StateだかStrategyだかのパターンでやってるけど
入れ子処理までは実装してなかったなー

12:名前は開発中のものです。
12/05/21 10:05:21.56 MNhfbtF0
シーン管理はXNAのサンプルをいろいろ改造して使ってる

13:名前は開発中のものです。
12/05/21 11:17:48.78 GYCQ6sMJ
ファミコンドラクエのメッセージコマンドが難しかったり。
村人が動き回るの止めて足ふみだけさせつつ、会話窓を動かすやつ。

14:名前は開発中のものです。
12/05/21 15:48:25.44 L5xx/kw7
>>13
歩きモーションと実際の移動量との誤差を気にしないなら、
「動かないけど足踏み」ってフラグを立てるなり、「NPC->Move()」だけを外すようにすればいい。


15:名前は開発中のものです。
12/05/22 00:27:01.91 fGZyqonm
「あたり判定判断クラス」にキャラクターのデータへのポインタを
「あたり判定判断クラスを保持するクラス」のコンストラクタで持たせた方がいいですか?

それとも

「あたり判定判断クラス」を保持せずに、
あたり判定の要求があったら
その場でインスタンス化して要求と一緒にキャラクターのデータへのポインタをもらった方がいいですか?

16:名前は開発中のものです。
12/05/22 03:06:37.64 IEgsA2mw
一体なんの話だ?

17:名前は開発中のものです。
12/05/22 08:40:25.25 AbC1K/ic
>>1
素人だけどたまに覗かせてもらうわ

>>15
文章が下手くそすぎてわからん
「データとその処理クラスはどう保持してる?」って訊きたいのか?
なら管理クラス作って両方保持させたらいんじゃね?

2D/3Dとライブラリとジャンルは書いた方が答えもらいやすいと思うぜ

18:名前は開発中のものです。
12/05/22 12:47:51.14 O/bzOsDb
今簡単なライブラリで3Dゲーム作るならDXよりseleneのがいいかな?

19:名前は開発中のものです。
12/05/22 13:46:35.52 IEgsA2mw
Siv3D待てるんじゃないか?ロジックだけ先に作っとけ

20:名前は開発中のものです。
12/05/22 14:12:03.81 IEgsA2mw
Siv3D待てるんじゃないか?ロジックだけ先に作っとけ

21:名前は開発中のものです。
12/05/22 17:28:48.14 te9dNttw
>>18
3Dをモデリングするツールが決まってるなら
対応してるライブラリを選んだほうが楽だと思う
大手有償ツールならツール名指しで対応してて安心だけど
シェアウェアやフリーはフォーマットに対応してても
読み込めなかったり制限があったり多いし


22:名前は開発中のものです。
12/05/22 17:37:05.40 te9dNttw
ついでに参考リンク

各種ライブラリ紹介スレ2
スレリンク(gamedev板)
【2D&3D】ゲームグラフィックス【質問OK】
スレリンク(gamedev板)
■3Dツール総合@ゲーム製作■
スレリンク(gamedev板)


>>19
これどんなライブラリなの?
日本人が作ってるって事で興味深いな
公式サイトらしき所を見てもほとんど情報でてないね

23:名前は開発中のものです。
12/05/22 17:56:27.46 te9dNttw
>>6
画面遷移でわけてる

>>8
スレのタイトルっていわばインターフェースだと思うんだよ
目的に沿った質問をしやすいタイトルのスレは、ユーザビリティ向上に必須だと思う
だから、言語別・ライブラリ別にたくさんスレ立てたほうがいいと思う

>>10
あっちはあっち、こっちはこっちだよな
ム板や色んな板と連動とろうとすると矛盾でるから
こっちで完結していいと思う

>>15
ゲームによって違うんだろうけど
if (obj1->collision(obj2->collision()))
{
  /*hit!!*/
}
って感じがわかりやすいんじゃね

collision(obj1->pos, obj2->pos)
のほうが見やすいかな

24:名前は開発中のものです。
12/05/22 18:17:45.58 ew4b5/bW
俺は、以前まではそのように画面ごとで処理を分けてたけど今はもう全部同じにしちゃった。
「タイトル画面」というキャラを作って操作して、そこでステージセレクトを選ぶと
「ステージセレクト画面」というキャラを作って、それ以外のキャラを消す、とか。

こうすると新しい画面を作りたいときに、すぐに追加できて凄く楽だった。

一般的な方法かどうかは知らん。

25:名前は開発中のものです。
12/05/22 18:21:56.42 eT4XUhop
(どういう状況を想定してるのかがサッパリ分からない…)

26:名前は開発中のものです。
12/05/22 20:21:26.35 uHnpkRvx
シーン管理の話でしょ。

27:名前は開発中のものです。
12/05/22 21:40:46.06 eT4XUhop
そりゃ話の流れを考えれば分かるけど

28:名前は開発中のものです。
12/05/22 22:19:31.11 4VM6HR6S
>>19
そういえばそれあったね、忘れてた
見た感じ年内には出来そうだけど…

29:名前は開発中のものです。
12/05/23 10:44:09.36 b4o10B2o
人いるかな? クラスのメンバ構造体のポインタを引数に渡すとエラーを吐く。
何回やっても「CClass::TStructをTStructに変換できません」と起こるのよ。
助言求む。

30:名前は開発中のものです。
12/05/23 11:20:19.27 b4o10B2o
事故解決

31:名前は開発中のものです。
12/05/23 11:34:17.84 a5ppZSNn
おめ
何がどうなってどうしたかを書いてくれると情報共有できて助かる

32:名前は開発中のものです。
12/05/23 13:54:53.18 su87BFwO
typedef使ったのかな

33:名前は開発中のものです。
12/05/23 15:52:18.93 b4o10B2o
クラスのメンバ関数に同じメンバの構造体配列のポインタを渡して処理させようとしたんだけど、配列で同じメンバだったら要素を指定する値を渡せばいいだけだった。
目的は構造体(敵キャラクター)の情報をポインタで参照させてルーチンで動かすことだったんだけど、これに結構な時間を食われたわ。解決法は無理矢理だけどな
しかし、一人でゲ製はきついなあ。傍で優しく教えてくれる美少女プログラマが欲しい

34:名前は開発中のものです。
12/05/23 16:52:38.35 a5ppZSNn
よくわからんがこうしたって事?

class myData
{
};


class Hoge
{
Hoge(){}
~Hoge(){}
myData *arry[10];
void shori (int x){ arry[x]を弄る処理; };
};

35:名前は開発中のものです。
12/05/23 18:30:57.39 3SO9CJHe
まだ良く分からなくて想像妊娠だけど、typenameで根本解決するっぽい。

36:名前は開発中のものです。
12/05/23 22:24:42.87 IjYu3jeM
すいません、何度か過去に若干似たような質問をしてしまったのですがまとめたので改めて質問させてください。

クラスの配列メンバを、コンストラクタで動的に初期化(インスタンス化?)することはできるでしょうか?
コンストラクタに与えられた値の分だけの要素数を持った配列をメンバにしたいです。


37:名前は開発中のものです。
12/05/23 22:36:04.71 wZno0p8L
配列じゃなくてvectorをメンバに持てばいい
初期化子を使ってvectorのコンストラクタに値渡せばできる

class Hoge
{
std::vector<int> m_array;

Hoge(int num) : m_array(num){}
};

つーか、vectorなら後でどうこうできるから別にこんなことしなくていんだが



38:名前は開発中のものです。
12/05/23 22:48:10.25 okQmDLbt
>>36
動的に配列のメンバー変数のサイズを決める事はできないと思います。
擬似的な方法として以下ではどうでしょう?

1)テンプレートで要素数を指定する。
template<UINT n>class Hoge {
DATA data[n];
};

Hoge<3> hoge3;
Hoge<2> hoge2;

サイズが違うと違う型扱いになる。
Hoge<3>*で&hoge2は受け取れない(逆も)。

(2)データを配列で持たずポインターで持つ。
class Hoge {
explicit Hoge( UINT n ){ data = new DATA [n]; }
~Hoge(){ delete [] data; }

DATA* data;
};

Hoge hoge3(3);
Hoge hoge2(2);

Hoge*は&hoge2も&hoge3でも受け取れる。

39:名前は開発中のものです。
12/05/23 23:05:58.54 IjYu3jeM
>>38
コンストラクタの手前の装飾子と、UNITという定義はc++の機能なのでしょうか?
みた感じそれが1番わかりやすそうです。

40:名前は開発中のものです。
12/05/23 23:11:42.60 IjYu3jeM
>>37
stdは一個や二個使うんじゃなくて次作る時に一気に活用したいので・・・
すいません。今はめんどくさいです。

41:名前は開発中のものです。
12/05/23 23:25:09.30 IjYu3jeM
>>39
すいません、調べればわかることでしたね・・・

ただ、コンストラクタでインスタンス化してポインタに代入しても、
実体はコンストラクタのスコープの中だけで
コンストラクタが終わるとデータも無くなる・・・
ということはないのでしょうか?

42:名前は開発中のものです。
12/05/24 00:08:46.35 h3LSjb5w
ID:IjYu3jeMはmapを使いたいって言ってた人だろ?
諦めんなよ

43:名前は開発中のものです。
12/05/24 00:45:10.53 mZT3BYan
>>41
newで確保した領域はdeleteされるまで存在しますよ。
なのでデストラクタ―が呼ばれるまで大丈夫です。

気にしているのは、ポインターdataの寿命かと思いますが、
dataはクラスのメンバ変数なのでこちらも大丈夫です。

dataの初期化はコンストラクタの初期化子でも設定できるみたいです。
こちらの方が初期化として、意味的に正しいのだと思います。

Hoge( UINT n ) : data( new DATA [n] ){}

44:名前は開発中のものです。
12/05/24 06:29:42.60 sYTZ8FZ7
いろいろ環境や目的もあるだろうからあれだけど
std::vectorやstd::dequeを参照で渡すほうが遙かに楽だと思うぜ
まあイテレータの宣言はダラダラ長くてめんどくさいけど

45:名前は開発中のものです。
12/05/24 08:26:33.69 qNAXiXfS
C++11ならAutoさんが活躍

46:名前は開発中のものです。
12/05/24 09:19:00.25 n/ZlLmSI
>>43
とても参考になりました!
ありがとうございます!!

>>44
こっちのほうが楽じゃないですか?
自分の無知から来る疑問ですけど

47:名前は開発中のものです。
12/05/24 09:33:53.29 AVLO1dG0
絶対vectorのほうが楽。
new/deleteで神経質になる必要が無いし、配列サイズ変更も楽。
>>37でもいいし、漏れはコンストラクタで
Hoge(int num){m_array.resize(num,0);}
にする。引数の0は初期値。

あえてvector使わないときは、
せいぜい定数代わりの配列使うときくらいかな?

48:名前は開発中のものです。
12/05/24 10:20:14.62 YnP/Ncq+
自分を初心者だと思ってるうちは、STLを安易に使わないほうがいい。
中級者向け。

49:名前は開発中のものです。
12/05/24 11:53:20.03 Mn2K1W8a
STLこそ初心者向けだろw


50:名前は開発中のものです。
12/05/24 12:21:42.12 sYTZ8FZ7
>>46
ゲームだとこんな処理したくならない?

/** キャラクター一覧 */
int listUp( std::vector< MyCharacter >& v ) {
 if ( v.empty() ) {
  Message( "キャラクターがいません" );
  return 0;
 }
 int s = v.size();
 for( int i=0; i<s; ++i ) {
  Message( v[i].Name );
 }
 return v.size();
};

配列の操作を経験しとくのはいいことだと思うけど
リスク≒デバッグ負荷って面もあるしな
表記が長くなるって程度のめんどくささはあるけどね

51:名前は開発中のものです。
12/05/24 13:31:37.34 YnP/Ncq+
>>49
入門書にSTLが載っているが、それを理解したら入門者じゃないんだなw
とりあえずC++入門3分の1ぐらい読んで、作り始めちゃっているようなやつが初心者なわけで。


52:名前は開発中のものです。
12/05/24 14:00:10.53 cjBLATMC
Cの本なんてほとんど読んだ事もなくて、STL? vector? インスタンスとかメソッドとか何それ?
な状態でゲームを数本完成させた俺は初心者ですか中級者ですか。

53:名前は開発中のものです。
12/05/24 14:11:15.14 0uzx/Lw1
ゲームの内容や規模によるだろ
規模が大きくなるにつれて低レベルの処理が重要になるからSTLを選ぶかどうかが重要になる
小規模なら力技で何とかなるし

54:名前は開発中のものです。
12/05/24 15:26:20.14 Mn2K1W8a
STLを使うのは誰でもできるだろ。
あれと同じ機能のクラスを実装しろってんなら
中級以上じゃないと無理だが。


55:名前は開発中のものです。
12/05/24 15:34:03.30 9WXEv1xv
>>52
間違いなく初心者

56:名前は開発中のものです。
12/05/24 15:35:30.76 /ghVU8JG
>>52
他人に自分のコードを説明できなきゃ初心者
他人のコードを読めて理解できれば中級者

57:名前は開発中のものです。
12/05/24 18:15:50.25 CY70W+Ee
クラスの中に int main()

58:名前は開発中のものです。
12/05/24 18:37:54.09 /ZaEqx4s
初級者中級者ぐだぐだ言ってるやつは初心者に決まってるだろw


59:名前は開発中のものです。
12/05/24 20:00:14.96 YnP/Ncq+
STLは難しいとされてるのが一般的じゃないの?
そりゃプリミティブ型でpush_back()しか知らないで使うならいいけど、
コピーコンストラクタとかスマートポインタに関する
理解をもたないでやったら謎バグに嵌るのが目に見えるわ。

60:名前は開発中のものです。
12/05/24 20:11:52.79 qNAXiXfS
別に嵌っても良いんでない?
勉強になるし

61:名前は開発中のものです。
12/05/24 20:37:53.40 9WXEv1xv
スマートポインタはSTLじゃなくてboost使ったほうがいいよ。
スコープで一時的に使いたかったらunique_ptrでいいけど。

62:名前は開発中のものです。
12/05/24 20:49:46.55 IK85TX04
STL使うとバグに悩まされるけど、自前でlistだのmapを実装するとバグはないらしい

63:名前は開発中のものです。
12/05/24 20:55:53.89 9WXEv1xv
いやいやいや、そぉかぁ?www
昔のSTLならともかく、今はそれはないでしょーw

ゲームじゃないけど、業務にバリバリvectorとlistとsetとmap使って遭遇しなかったよ。
STLportだけど。

64:名前は開発中のものです。
12/05/24 20:59:05.52 iewKyvkB
>>62
妄想乙w


65:名前は開発中のものです。
12/05/24 21:03:23.03 IK85TX04
いや、>>59の主張を言い換えただけなんだが・・・

66:名前は開発中のものです。
12/05/24 21:09:15.76 9WXEv1xv
俺にはauto_ptrなどのスマーポインタをわけわからんで使ったときの挙動と解釈した。
STL自体のバグには言及してないっしょう。たぶん。

67:名前は開発中のものです。
12/05/24 21:14:13.92 hIKRkdFB
STLなんて、std::vectorとstd::mapにstd::string出し入れするだけなら、
解説サイトの例文をコピペするだけで使えるじゃん

コピペで定番の処理ができるものについては、
初級のうちからガンガンやっといていい

自分で考えるところが出てくるようなものは、多少プログラムに慣れるまでは
迂闊に手を出さないほうがいいかもしれないけど

68:名前は開発中のものです。
12/05/24 21:47:13.31 YnP/Ncq+
コピペおまじないプログラムだとこうなる
スレリンク(gamedev板:796番)

69:名前は開発中のものです。
12/05/24 21:55:02.55 8FH0wSaN
仕様を理解せずに使えばどんなライブラリだってバグの温床になるよ。
問題は自分の不勉強をライブラリのせいにする無能さ加減。

原因追及は出来ないけどSTLを使うとバグるとか言う人間はその典型例。
きっちり検証した上で、ここの実装がおかしいとか指摘できるならその限りにあらずだけどね。

70:名前は開発中のものです。
12/05/24 23:31:08.11 n/ZlLmSI
newしたクラスのメソッドにアクセスして
テスト用の文字出力みて満足してデリートしないでウィンドウ閉じた
(´・_・`)

71:名前は開発中のものです。
12/05/25 00:11:59.72 9i1PDVc5
イテレータとか使い出したら初心者が混乱するのは分かるが、
vectorくらいなら初心者でもぽんぽん使っていいと思う。
インスタンス管理で躓くならstl云々ではなくてC++の勉強しなおしが要る。

>>70
あー、これどうなるんだろうな。
最近のOSだと良い感じにしてくれそうな感じはするが。

72:名前は開発中のものです。
12/05/25 01:55:38.79 GIl7/nNl
Bjarne Stroustrup インタビュー
URLリンク(www.kh.rim.or.jp)

73:名前は開発中のものです。
12/05/25 05:50:35.88 7a2EC8PQ
>>70
>ウィンドウ閉じた
プロセスを閉じればプロセスで使っていたヒープは解放される。
つまりメモリリークはプロセスの内側のこと。


74:名前は開発中のものです。
12/05/25 07:37:23.51 NHlde/d0
碌に作ったことないけどmainクラスからtitleとかgameとか呼び出してその中でwhileループ、
クリアとかしたらmainに戻ってまた他の項目呼び出すのが簡単に出来そうだな

75:名前は開発中のものです。
12/05/25 18:21:37.17 AwX4C6l5
>>72
懐かしいパロディ

76:名前は開発中のものです。
12/05/26 14:19:42.97 e8/fGbGH
シーンクラスのコンストラクタに、シーンクラスのアドレスを保持するクラスのコンストラクタに渡すことはできるでしょうか?
また、する方法はどうしたらいいでしょうか?

↓イメージだとこんな感じです

class abc{
praivate:
 def* hoge;
public:
 abc(){
  def = new def(this*);
 }
 ~def();
};

class def{
praivate:
 abc* hogu;
public
 def(abc* tmp):hogu(tmp){}
};

77:名前は開発中のものです。
12/05/26 14:24:06.06 U5Ue5qkT
class defの前方宣言をclass abcの定義前に置く

78:名前は開発中のものです。
12/05/26 14:24:19.28 lwTzxCQ6
>>76
class abc{
の前に
class def;
を追加すれば出来る。

79:名前は開発中のものです。
12/05/26 14:35:04.98 e8/fGbGH
あ、順番間違えました

コンストラクタの引き数にthis*は、文法としてあってる?

80:名前は開発中のものです。
12/05/26 14:39:08.15 lwTzxCQ6
*thisに直すべし

81:名前は開発中のものです。
12/05/26 14:49:54.86 e8/fGbGH
>>80
ありがとう

82:名前は開発中のものです。
12/05/26 14:51:45.38 jFmnTHnO
thisでポインタ

83:名前は開発中のものです。
12/05/26 21:13:49.29 U+nTXa0c
>>77 >>78 できるか?
引数付きコンストラクタを宣言できないからダメだと思うが。

前方宣言すべきはabcのはず。
class abc;

class def{
public:
def(abc* pABC){}
};

class abc{
public:
abc(){
abc* pThis = this;
def* pDEF = new def(pThis);
}
};

84:名前は開発中のものです。
12/05/26 22:42:16.01 U+nTXa0c
.h と .cpp 分けるのは必須だな。

85:名前は開発中のものです。
12/05/26 23:10:07.09 5tO+iNJs
初心者を装って引っかけ質問してる臭い

>>83 正しいと思うが、俺ならテンプレート使いたくなるな

template < class T >
class Class1 {
 public:
  T * c2;
  Class1( T * caller ) { c2 = caller; };
  virtual ~Class1() {};
};
class Class2 {
 public:
  Class1<Class2> * c1;
  Class2() { c1 = new Class1< Class2 >( this ); };
  virtual ~Class2() { delete c1; };
};

連絡クラスか上位クラスで連携すべきだよね

86:名前は開発中のものです。
12/05/27 00:26:41.53 ByeFImNB
オンライン対戦ってどうやるんですか

87:名前は開発中のものです。
12/05/27 01:22:42.60 jTp1UMkC
C/C++関係ねえw

ネットワーク接続機能のあるライブラリ使う

88:名前は開発中のものです。
12/05/27 08:50:30.87 2c7du0Oa
DirectPlayとか。

89:名前は開発中のものです。
12/05/27 09:48:40.07 Sq25nKDW
VCって何年版がおすすめ?

90:名前は開発中のものです。
12/05/27 10:22:53.21 DTmcX9vm
C++11触りたいなら2010、それ以外は一長一短

91:名前は開発中のものです。
12/05/28 07:40:52.97 uR2hVdYz
オンラインはな…鯖がな…

92:名前は開発中のものです。
12/05/28 07:56:12.09 RkjNhW6P
いきなりですが2Dエフェクトってどういう作り方してますか?
数枚画像を用意して、あとはプログラム側で加工するのか、
元から透過画像とかを全部用意して表示するだけなのか…一般的なのはどれだろう

93:名前は開発中のものです。
12/05/28 08:10:15.29 IVkwT0S2
>>89
特に理由がなければ最新でいいと思うよ
古いバージョンだと色々と対応してなくて面倒

>>92
グラフィック用意して透過や加算で表示

94:名前は開発中のものです。
12/05/28 09:37:38.39 8NkasfYy
>>92
スピード的にエフェクト画像は元から用意しとくべき。
ランタイムでは位置とスケールと透過度を変えるくらいだな。


95:名前は開発中のものです。
12/05/29 00:47:50.68 ajD2ZMcH
URLリンク(marupeke296.com)
ここの一番下のplacement newを使ってクラス配列にコンストラクタを使いたいんですけど
一番下って動的に増減できないですよね?

クラスAのコンストラクタで、動的に他のクラスB配列(Bコンストラクタによる初期化機能付き)をインスタンス化するにはどうしたら良いでしょうか?

クラスBを、クラスAのコンストラクタの引数分、配列にしてメンバにしたいです。

96:名前は開発中のものです。
12/05/29 03:11:27.66 ZvK6euHz
ここの来ると
「寄ってくるな」「来るんじゃねえよ」

こないと、何故かちょっかいが来る

不思議なもんだ



97:名前は開発中のものです。
12/05/29 03:34:23.96 ZvK6euHz
ホモ本ばっかだけど
男だったんだっけか?

98:名前は開発中のものです。
12/05/29 04:04:39.91 ZvK6euHz
なんでBLなんだよ orz

99:名前は開発中のものです。
12/05/29 05:58:59.29 WcnaYjLE
>>95
動的に確保するなら、そもそもBの引数無しコンストラクタ使う必要ないんじゃない?
Aのコンストラクタの引数で配列のサイズ受け取って、
Aのコンストラクタ内でその分だけBを作ればいい

でも、メモリ管理面倒になるから普通にvector使ったほうが楽だよ

100:名前は開発中のものです。
12/05/29 08:36:02.60 ajD2ZMcH
>>99
Bを、Aのコンストラクタの中でBのコンストラクタに引き数を渡して、初期化をしたかったんですが
iniメソッドを別で作ったほうがいいですか?

101:名前は開発中のものです。
12/05/29 08:36:41.71 ajD2ZMcH
vector(´・ω・`)・・・

102:名前は開発中のものです。
12/05/29 09:06:33.41 HdwzMGJO
vectorでポインタ持たせた方がずっと良い。
動的なサイズ変更とか楽だし。
コンストラクタでnewしてデストラクタでdeleteすれば
別にインスタンス管理で悩むことも無いし。

103:名前は開発中のものです。
12/05/29 09:12:31.28 WcnaYjLE
>>100
Aのコンストラクタ内で
m_b = new B[size];
for (int i=0;i<size;i++)
 m_b[i] = B(b);
とすればいいと思うけど、俺なら確実にメモリリークする自信がある

104:名前は開発中のものです。
12/05/29 09:37:49.28 8hClbexe
>>103
sizeをconstにすれば大丈夫な気がしてきました!
ありがとうございます!

105:名前は開発中のものです。
12/05/29 11:11:05.67 kEO6PQW4
そもそも同じ引数でいいなら配列版のplacement newてのがあってだな
delete要らないったってデストラクタに意味があるとか使わなくなったから消したいときは
デストラクタとplacement deleteを両方呼ばなきゃいけないし
結論としてvector使え、管理面倒ならvector<shared_ptr<T> >

106:名前は開発中のものです。
12/05/29 11:31:41.26 HdwzMGJO
vectorだと要素数が固定じゃなくても、size()があるしね。
別のコンテナでもイテレータがあるし。
頑なにvector回避する理由なんて無いだろ。

107:名前は開発中のものです。
12/05/29 11:54:40.08 0OI7v8Tb
そもそもSTLを回避してる理由ってなに?

108:名前は開発中のものです。
12/05/29 13:18:32.52 3ho6bi3y
コピーコンストラクタが分かっていないとか、
デストラクタの呼ばれるタイミングを理解していないとか、
メンバのポインタがコピーされて二重解放するとか、
仕様を分かっていない馬鹿がバグを出すには十分だからだろう。
無能だからSTLを使わない、その理由に疑問の余地は微塵も無い。

109:名前は開発中のものです。
12/05/29 14:08:39.03 ydqxZFnO
言えてる気がする。
俺もどっちかっつーと馬鹿な方だから、STLが怖くて
自作のコンテナ使ってる。

出来合いのものを使った方が機能も多くて堅牢で
ずっと良いんだろうけどさ。

110:名前は開発中のものです。
12/05/29 16:51:46.79 HdwzMGJO
>>109
漏れも最初はそうだったけど、使い始めると一瞬で慣れるよ。
ググったら日本語で解説や使用例が山ほどヒットするのがデカイ。

111:名前は開発中のものです。
12/05/29 17:43:50.08 uK14SeXM
STLごときで上級者気取る奴は明らかに初心者

112:名前は開発中のものです。
12/05/29 17:47:49.24 ajD2ZMcH
>>103
これってコンストラクタ??
引き数を渡してるの?

113:名前は開発中のものです。
12/05/29 18:28:57.24 WcnaYjLE
>>112 >>103
Aのコンストラクタ内で、Bのコンストラクタに引数渡して初期化してる
m_b … Aのメンバ変数のBの配列
size … Bの配列のサイズ。Aのコンストラクタの引数とか
b … Bのコンストラクタの引数

114:名前は開発中のものです。
12/05/29 18:35:32.92 ajD2ZMcH
>>113
コンストラクタの返値を代入してるように見える・・・
「コンストラクタは特殊で、こういう使い方もできる」
って理解でいい?

115:名前は開発中のものです。
12/05/29 19:06:36.23 CIJM7t3P
一時オブジェクトをコピーコンストラクタでコピーしてる

116:名前は開発中のものです。
12/05/29 19:12:41.63 ZxX1trWI
むしろそっちのやり方のほうがSTLコンテナより高度

117:名前は開発中のものです。
12/05/29 19:18:19.05 CIJM7t3P
いやどっちも全然高度じゃないし

118:名前は開発中のものです。
12/05/29 19:33:39.81 oMsrWIHY
メモリプール&自作動的配列か

119:名前は開発中のものです。
12/05/29 19:36:33.07 HdwzMGJO
俺もさっぱりわからん。placement_newとかなんぞやw
オブジェクトの配列なんて普段STLコンテナしか使わないですしおすし

120:名前は開発中のものです。
12/05/29 19:58:54.63 5CsBVBDy
新しい大統領ってことだよ

121:名前は開発中のものです。
12/05/29 20:55:06.94 ajD2ZMcH
>>115
なるほど!
あと最後に質問なんですが
B(b)って実態できないですか?

122:名前は開発中のものです。
12/05/29 21:06:49.97 ajD2ZMcH
これはできるのでしょうか?

class krasuA{
 int hoge;
 kurasuB* B;

 kurasuA(int tmphoge):hoge(tmphoge){
  for(int i=0;i<hoge;i++){
   new(&hugo+i) B(/*Bのコンストラクタの引き数*/);
  }
 }
};

↓これをちょっと変えたんですけど
URLリンク(marupeke296.com)

123:名前は開発中のものです。
12/05/29 21:23:59.83 5MrgPwME
placement new とか 引数付きコンストラクタはできれば避けたほうがいいな。

124:名前は開発中のものです。
12/05/29 21:36:10.64 5MrgPwME
>>122
できないよ。全くもっておかしい。


125:名前は開発中のものです。
12/05/29 22:13:10.43 ajD2ZMcH
間違えました
hugoじゃなくてBでした

126:名前は開発中のものです。
12/05/29 22:27:07.32 ajD2ZMcH
あ、違う
new(&B+i) kurasuB(/*Bのコンストラクタの引き数*/);
こうでした。
int型を足すのがよくわからないですが、リンク先の文章ではクラスの配列をintでずらしてましたし・・・

127:名前は開発中のものです。
12/05/29 23:19:35.98 Rb8xQrUK
こうやって理解しないままでたまたまコンパイルできちゃったときにバグが蓄積されていくわけだな

128:名前は開発中のものです。
12/05/29 23:27:07.76 CxAL5fmd
どうも2Dキャラの画像パターンが早いと思ったら>と<が逆だった、紛らわしい
ifとかだと逆になるんだっけ

129:名前は開発中のものです。
12/05/29 23:41:16.87 ajD2ZMcH
*kurasuB B;
int Bnum
kurasuA(int num){
Bnum=num;
for(int i=0;i<num;i++){
 B[num] = new kurasuB("aa");
}
}

これじゃダメっていう

130:名前は開発中のものです。
12/05/30 00:30:51.36 2jOUDrUI
悪いことは言わん
Placement newのことはひとまず忘れるんだ

131:名前は開発中のものです。
12/05/30 01:33:55.24 UrD0aw2e
配列とポインタが全然わかってないのが致命的。
もっと初心者向けのやり方でやれ(つまり初期化の関数作れ)

int karasu_num = 100;
Karasu* karasu_list = new Karasu[100];
for(int i=0;i<karasu_num;i++){
 karasu_list[i].Initialize("oh...yea...oh...yes...!");
}

132:名前は開発中のものです。
12/05/30 01:47:19.26 UrD0aw2e
ちなみに placement new だと。

for(int i=0;i<num;i++){
new( B+i ) kurasuB( "aa" );
}

133:名前は開発中のものです。
12/05/30 07:05:58.24 ZKjgmpWL
で、それが出来るとどんなゲームが作れるの?

134:名前は開発中のものです。
12/05/30 07:48:00.61 UrD0aw2e
無能には作れないゲームがつくれます

135:名前は開発中のものです。
12/05/30 08:22:42.69 1zhA8gll
>>131
じゃあ>>132のほうが簡単じゃないですか
numをconstにすれば多分安全ですし・・・

136:名前は開発中のものです。
12/05/30 08:28:13.88 NLDozPhE
CRASS **Crass;
Crass = new *CRASS[Num];
for(i=0;i<Num;i++)

Crass[i]=new CRASS;


137:名前は開発中のものです。
12/05/30 08:37:55.19 kfkMhAbK
少々くどいな
そろそろ他の話題が出てこないかな

138:名前は開発中のものです。
12/05/30 08:54:24.92 dGAr2JTI
非ポインタ配列・コンストラクタで初期化値渡す、ってのに拘ってたら
何時までたってもゲーム作れんぞ。
コーディング中にゲームデザインの見落とし・見直しで嫌ほど悩むのに。

ポインタでの管理が安全じゃないって思うのは単に理解不足。
九九の答えが合ってるか分からないから足し算で計算するのと同レベル。

139:名前は開発中のものです。
12/05/30 09:35:26.80 AhB/MNAS
動いたとしてもメモリリークしまくってそう

140:名前は開発中のものです。
12/05/30 09:52:37.13 UrD0aw2e
>>135
俺がそちらを進めるのは彼がポインタや参照を理解してないとみたから。
質問の文からみて非常に程度が低い。
とりあえず無難なやりかたで進めながら勉強するか、一生無理だね。。

141:名前は開発中のものです。
12/05/30 10:10:01.57 RKjVMfvb
ポインタと参照がわからずつかえないなら
VBでやったほうがわかりやすいし生産効率あがるとおもう
VBで不便に感じたことがCのポインタで便利になったと思え
理解がはやいんじゃないかな


142:名前は開発中のものです。
12/05/30 11:23:54.10 PCmhSwHy
>>140
それぼくです(´・_・`)

143:名前は開発中のものです。
12/05/30 15:00:40.72 7evXqAvV
少し前までシーン遷移は継承したクラスのポインタでやってたが
最近テンプレートの特殊化を知って少しずつ処理を置き換えてる

多少手間増えるけど、コンパイル時にエラー出してくれるのはやっぱいいね

144:名前は開発中のものです。
12/05/30 15:48:03.89 RKMJ5hGw
>>149
具体的にどんなん?

145:名前は開発中のものです。
12/05/30 16:08:58.02 P0UtVE4F
みんな頭良さそうだな、俺なんて順次選択繰り返しのゴリ押しだけでゲーム作ってるのにCプログラマ名乗ってるわ

146:名前は開発中のものです。
12/05/30 17:46:30.28 UOZ4aZwc
ぶっちゃけ画像と音声と条件文あればどうにでも

147:名前は開発中のものです。
12/05/30 17:58:02.14 dGAr2JTI
この板ではC++だろうがHSPだろうがツクールだろうが
ゲームを完成させるのが一番大事。
ただ、C++選んでる奴は既存のシステムや
枠組みに囚われたく無い奴が比較的多いんだろうな。
となれば、それを実現するために
必要な知識や技術も自ずと増えていくわけで。

148:名前は開発中のものです。
12/05/30 17:58:19.30 rNjTrxi5
ジェネリックプログラミングか
本当に使いこなせるのは天才だけだと思ってる

149:名前は開発中のものです。
12/05/30 21:43:05.95 GqVx2abs
言語によって、
遅くて1秒間60フレ出ないとかGC対策が面倒とか、
ライブラリ自体に制約があってやりたいことができないとか、
いろいろ制約あるけど、まぁC++とDXライブラリならそういう制約は少ないから選んだわ

知識や技術は別に特別なものは必要ないと思ってる
他の言語と共通する程度と、あとちょっとC++独自のを知ってる程度で十分かと

150:名前は開発中のものです。
12/05/30 21:51:08.88 0SZX+VUb
>>149
で、ゲームできたの?


151:名前は開発中のものです。
12/05/30 22:10:25.90 P0UtVE4F
この板の中じゃどこ行っても万能すぎるお決まりの文句だよな

152:名前は開発中のものです。
12/05/30 22:35:35.79 GqVx2abs
>>150
鋭意製作中w

153:名前は開発中のものです。
12/05/30 22:58:58.18 vC8mOnYT
一番簡単なのってHSP?DX?

154:名前は開発中のものです。
12/05/30 23:03:34.46 GqVx2abs
小さい仕様であればあるほどHSPのほうが簡単になる
規模が大きくなって、HSPだとめんどくせーってなったらDXライブラリもいい

155:名前は開発中のものです。
12/05/30 23:10:22.61 dGAr2JTI
HSPってクラス扱えないんだよな?
俺には無理w

156:名前は開発中のものです。
12/05/30 23:11:36.82 gc4Q0khA
>>151
でも、他人があえて言う意味って無いよな

157:名前は開発中のものです。
12/05/30 23:14:19.90 e5z2kRn1
モノを完成させたことも無いヤツが、かじった程度で御託を並べるなと言うことだろう。

158:名前は開発中のものです。
12/05/30 23:28:49.34 GqVx2abs
ま、そういうこったなw
小さい仕様のは作ったけど今作ってる奴は完成してないからな

159:名前は開発中のものです。
12/05/31 00:03:48.81 qSE9w4FD
javaとかC#でゲーム作ったことないのにGCがどうこうとかね。
C++の80%が遅いのに、遅いDXライブラリを使う不思議。

160:名前は開発中のものです。
12/05/31 00:09:04.71 3lgmsZci
作った作ってないって言っても0か1じゃねーんだし。
俺は数本ほど2Dゲームを作った経験があるけど、「どうせミニゲームだろ」と思われるだろうだけだろう。

ぶっちゃけミニゲームかそうでないかは、データ量の違いがほとんどを占めると思うけどw

161:名前は開発中のものです。
12/05/31 00:09:52.31 X2kmab9H
横アクション作ってるんだけどジャンプ中に移動が出来なくて困った
ジャンプ処理と移動処理はやはり両方通るようにしないとダメか



162:名前は開発中のものです。
12/05/31 01:16:53.38 3lgmsZci
本来、ジャンプ中に移動できるほう(いわゆるスーパーマリオジャンプ)がおかしいんだけどねw


163:名前は開発中のものです。
12/05/31 06:17:31.08 k8PTBoUk
魔界村はジャンプ中に移動できないが、
あれはプログラマが初心者だったからなのか・・・


164:名前は開発中のものです。
12/05/31 07:18:02.09 M5YppKNB
まあジャンプの出来に関しては作り手のこだわり次第だろ
デコジャンプで面白いゲームもあれば放物線でもつまらないゲームもある

165:名前は開発中のものです。
12/05/31 08:43:38.66 98ut8STl
ジャンプはステージのデザインと切り離しては考えられないしな

C++は処理速度・ライブラリの豊富さ・エラーチェック・日本語がまともに通る、点に魅力感じるなぁ
HSPは「メインループとはなにか?」ってレベルの勉強には使えるかもだが、それ以降は・・・

>>160
そういやミニゲームって何だろうな
RPGの中にポーカーが入っていれば明らかにミニゲームだが
ではポーカーゲームはミニゲームなのか? とか。まあスレ違いだが

166:名前は開発中のものです。
12/05/31 20:55:45.16 qCagfYPX
リアルでないこと、現実シミュレーションと違うことが、
ゲームの面白さに繋がることもあるよな
と思ったがこれもまぁスレチか

167:名前は開発中のものです。
12/05/31 21:53:32.35 AsMcXKmB
繋がることもあるってなんだよw
現実シミュレーションが面白さに繋がってるゲームなんて一握りしかないだろう
だったら現実でやれって話

168:名前は開発中のものです。
12/05/31 22:44:36.71 qCagfYPX
放物線・現実シミュレーションが面白いゲームもあるし、
ジャンプ中に移動できるジャンプが面白いゲームもある

片方が一握りしかないとか、前者をやれ、とかは思わんなあ

169:名前は開発中のものです。
12/05/31 23:12:19.50 tiWdIkDb
現実でFPSをやったら殺人罪になるし、
カーレースをやったら事故死か白バイのお世話になるし、
ジャンプアクションをやったら転落死するし、
恋愛シミュレーションをしたら変態になる。

170:名前は開発中のものです。
12/05/31 23:38:40.80 CSiaqjKe
おまいらはboost使ってる?

171:名前は開発中のものです。
12/05/31 23:41:56.86 XVqRqiij
なんですかそれは

172:名前は開発中のものです。
12/05/31 23:49:58.12 aJXCPyxU
>>170
ゲームそのものでは、あんまり使った記憶ないなあ。
それ以外だと正規表現とか使いまくってるけど。

173:名前は開発中のものです。
12/05/31 23:56:05.31 uky8HTVF
DXLibとか時代遅れのライブラリなんかより
OgreとかBulletとか使ってるひとおらん?
今はまあC++とかよりUnityやunreal engineの時代なのかもしれんけど

174:名前は開発中のものです。
12/06/01 00:06:38.86 2hjVHnyz
流行に流されない俺様は自前ライブラリを使っていますよ?
人間、使い慣れた道具が一番でしょ。


175:名前は開発中のものです。
12/06/01 00:18:08.05 jiOBWGhf
unityとか何それ、美味いの?レベル。
物理エンジンはとにかく、
他はインターフェースの面でしか楽にならんでしょ。
インターフェースのウェイトが重めのゲームとは縁が無い。

176:名前は開発中のものです。
12/06/01 00:22:36.93 TU92J+Oa
>>173
ogreは機能豊富だけどapiデザインはもう時代遅れ
対応プラットフォームも最近だと物足りない
あえて今使う理由はないかな

177:名前は開発中のものです。
12/06/01 00:23:33.07 jiOBWGhf
>>172
なんか使えそうで使わないんだよね。
最近、シリアライズで使おうと思ったんだけど、
随分ややこしそうな処理してるんで結局やめた。
スマポで使ってる話は聞くけど、俺スマポ使わんし。

178:名前は開発中のものです。
12/06/01 00:27:03.18 fycJbMU0
>>176
今だとC++ではどんなのがタイムリーなの?

179:名前は開発中のものです。
12/06/01 00:57:23.11 GysQPsBs
>>176
具体的にどの辺りが時代遅れなの?

180:名前は開発中のものです。
12/06/01 03:56:37.85 bIBm1EvQ
>>169
それらが現実シミュレーションだって?冗談だろw

181:名前は開発中のものです。
12/06/01 06:12:45.95 YzCF0h/I
>>175
unity以外にwin, mac, ps, xbox, iphone, androidに対応してる
エンジンなんかあるのか?


182:名前は開発中のものです。
12/06/01 07:14:24.44 2hjVHnyz
急にステマがわいてきたな

183:名前は開発中のものです。
12/06/01 07:18:32.15 U3o9Kj54
>>170 Xpressive使ってる

>>173 Irrlicht使ってる。新しくはないが素直でいいエンジンだと思う
日本語には弱いけどね

RPG作ろうとしてるんだがゼロから作るとデータの保存・読み出しが面倒だ
Xmlで保存しちまうかw

184:名前は開発中のものです。
12/06/01 08:00:25.82 LAk2EFKF
>>181
そんなに対応する必要あるの?

185:名前は開発中のものです。
12/06/01 08:24:20.72 zQI52x1x
>>184
macはいらないけど、その他は必要でしょ。


186:名前は開発中のものです。
12/06/01 08:35:27.13 TU92J+Oa
>>181
shiva + marmaladeならもっと範囲は広いのではないかと思うが、
marmaladeのゲーム機サポートは最近情報が隠れ気味...
今はideaworkgamestudioチームによる個別移植が必要なのかも。昔はそんなことなさそうだったのだけれど。

187:名前は開発中のものです。
12/06/01 08:42:49.00 46HM1XVZ
>>185
winか携帯だけでいいんじゃね
インディーズでxboxならxnaのほうが楽につくれるし
ps3は会社で専用やつがきまってることがほとんどだし

188:名前は開発中のものです。
12/06/01 09:55:01.79 jiOBWGhf
>>181
現状、windows向けにしか興味ないですしおすし

189:名前は開発中のものです。
12/06/01 10:00:27.62 XmKAMpEh
Ogre触っているけどそれよりもナウなライブラリがあると聞いて

190:名前は開発中のものです。
12/06/01 10:19:57.82 TU92J+Oa
>>189
gritとかmaratisとか
機能面ではogreユーザーには不足かもね

191:名前は開発中のものです。
12/06/01 11:52:56.10 3z3bXcMg
海外のゲームエンジンはメジャーなものでもフルスクリーン切り替えができないものがあって驚く。

>>190
gritは内部でogre使ってるって書いてるような。

192:名前は開発中のものです。
12/06/01 13:51:27.62 TU92J+Oa
>>191
内部で、ね

193:名前は開発中のものです。
12/06/01 14:10:59.17 fDBKT1KS
>>190
ありがと、今度みてみるわー

194:名前は開発中のものです。
12/06/02 18:30:36.97 o2lhntQH
フルスクリーン対応って今更必要か?
液晶モニタももはや新品はHDしか売ってないし、規格は統一されてないみたいだし

195:名前は開発中のものです。
12/06/02 18:34:50.83 JwZ2BVqY
C/C++と関係するかは微妙だが…
コアなプレイヤーからの要望があって初めて搭載を検討するくらいでいんじゃね

196:名前は開発中のものです。
12/06/02 18:43:21.55 yH+d3ni3
その場合ティアリングはどうしてるんかな?


197:名前は開発中のものです。
12/06/02 18:51:16.02 a4OlxP0h
>フルスクリーン対応って今更必要か?

少なくとも俺はフルスクできないゲームはやる気がかなり減退する。
目が悪いからできるだけでかい画面でやりたいし、
全てのPCユーザーが最新環境もしくはそれに近いスペックの環境でやってるわけではない。

198:名前は開発中のものです。
12/06/02 19:15:04.43 /NYjtNV7
PS3でゲームアーカイブスを遊んだり、3DSでDSゲーを遊んだりするとき、
画像サイズを無理やり引き伸ばすか、それとも整数倍(1倍含む)にしてレターボックスにするか設定できたりするけど、
前者の需要はかなり多いと聞く。

199:名前は開発中のものです。
12/06/02 20:07:09.97 JwZ2BVqY
画像サイズを任意サイズに引き伸ばすのは割と優先度高い機能と思う
フルスクリーンなしでも、画像引き伸ばしのほうは必須に近いかと

200:名前は開発中のものです。
12/06/02 21:11:23.06 Fx7ZWIqp
液晶ディスプレイが普及している現在、最適解像度以外に変更するようなフルスクリーン化をするぐらいなら、
最上位ウインドウを全体に展開して、プログラム側で画像を調整するべきだろう。

201:名前は開発中のものです。
12/06/02 22:32:20.69 myF5RtO5
全てのプレイヤーが「最適解像度」を意識してるわけじゃない。
そんなの一部のマニアくらいだ。

「最上位ウィンドウを展開して〜うんぬん」ができるのは良いとして
それとは別にフルスクリーンモードをできるようにすればいいだけなのに
それをしないのは作り手の怠慢だ。


202:名前は開発中のものです。
12/06/02 22:51:41.46 j4ElIJFU
4:3の映像を16:9に引き伸ばしてデブったキャラに違和感を感じないんだろうか・・・
上下移動より左右移動の方が速かったり・・・

203:名前は開発中のものです。
12/06/02 22:58:05.13 JwZ2BVqY
1)「フルスクなし、引き伸ばしなし」 →NG
2)「フルスクあり、引き伸ばしなし」 →NG
3)「フルスクなし、引き伸ばしあり」 →OK
4)「フルスクあり、引き伸ばしあり」 →OKだがそこまで手間かけなくてもいいよ
こんなとこ

204:名前は開発中のものです。
12/06/02 22:59:09.90 QK2zXOEH
解像度やアスペクト比って
それなりに柔軟に対応出来るように作るもんじゃねーの…?
と思ったけど完全2Dゲームは黒縁いれなどうにもならんのかね

205:名前は開発中のものです。
12/06/02 23:02:11.37 myF5RtO5
フルスクリーンってひょっとしてディスプレイの大きさに完全一致させる事を言ってるのか。
フルスクリーンを望む人間がそれを望んでいると思うのか。
黒縁ありでアスペクト比優先に決まってるじゃん。

206:名前は開発中のものです。
12/06/02 23:04:55.36 JwZ2BVqY
・ゲームの解像度が画面の解像度に比べて小さすぎてプレイに支障をきたす
・アスペクト比が違っていてプレイに支障をきたす
この2点について対策するのは、必須に近いな
引き伸ばしできればこのあたりはできる

207:名前は開発中のものです。
12/06/03 00:23:21.31 3U3UPjhL
スレ違い

208:名前は開発中のものです。
12/06/03 01:12:58.58 aP5ZetOZ
javaでAndroidSDK触ってきたけどなんだアレ難しすぎワロタ

209:名前は開発中のものです。
12/06/03 01:13:07.02 v/OzWZ4D
対応できる言語が他にはあまり無いだろ
全く無いとまでは言わないが


210:名前は開発中のものです。
12/06/03 01:13:34.79 aP5ZetOZ
やっぱC++でコードいじってる方が性に合うわ

211:名前は開発中のものです。
12/06/03 08:47:32.70 UydZV2Td
3Dゲームなら4:3にも16:9にも対応してないと困る。
3D部分はカメラのパラメータいじるだけだし。
GUIのレイアウトがちょっと面倒だが。


212:名前は開発中のものです。
12/06/03 09:19:16.35 v/OzWZ4D
Windows2Kも見捨てた事だし、4:3も見捨てるかな?
どうせ完成までには時間もかかるし

213:名前は開発中のものです。
12/06/03 09:29:33.79 UydZV2Td
4:3モニタだと香港映画のエンドロールみたく縦長になるの?w


214:名前は開発中のものです。
12/06/03 09:52:01.34 XtOj+Vwn
DbD、アス比固定、全画面の選択はビデオカードもしくはディスプレイの仕事だから下手に弄る必要ないよ

例外として、ドット絵系のゲームが拡大されてぼけぼけになるのを防ぐために必ずゲーム側でNN法で拡大したいとか、
画面の大きさによってゲーム内で見える範囲を変えたいとか、3DならGUIの大きさだけ小さいままにしたいとかなら弄らないといけないけどね

「画面が小さいからプレイに支障をきたす」ということで拡大したいならゲーム側での処理は一切必要ない
もちろんフルスクリーンとウィンドウモードを切り替えるオプションは必要だけどな

215:名前は開発中のものです。
12/06/03 10:29:18.59 VQ0xfCpl
スレ違いか微妙なところだな
ブラウザゲーでは考慮のいらない部分だし
C/C++以外の環境ではあまり問題にならない部分か

個人的には、ゲーム側に拡大機能がついてないと困るわ
わざわざ拡大するフリーソフトが存在する理由はそれだし
しかも、そのソフトでも拡大できないゲームとかあったりして困るわ

216:名前は開発中のものです。
12/06/03 10:35:05.15 cJiiOnF4
2Dエフェクトとか3Dエフェクトって作るの難しいな…微妙な差が違和感を産む
もしかして自分で作成ツールとか作るのが普通なのか?

217:名前は開発中のものです。
12/06/03 10:41:19.26 J6YmoIaF
>>216
モンハンのような血しぶきがつくれなくてこまっています

218:名前は開発中のものです。
12/06/03 13:25:57.94 XtOj+Vwn
>>215
普通のPCならグラボかモニタで設定できるだぞ?

5年以上古いビジネス用途のノートパソコンとか使ってるんだろうが
ゲームするならまともなやつに買い替えたほうがいいよ


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4366日前に更新/85 KB
担当:undef