[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 12/24 03:50 / Filesize : 178 KB / Number-of Response : 777
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 mailto:sage [2012/10/24(水) 03:01:09.64 ID:oI68Vzqz]
ゲーム製作におけるC/C++全般に関するスレです。

元スレ
DXライブラリ 総合スレッド その12
toro.2ch.net/test/read.cgi/gamedev/1330000532/
C/C++ゲーム製作総合スレッド Part1
toro.2ch.net/test/read.cgi/gamedev/1337516528/

225 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 20:49:59.82 ID:3cThVkCw]
C++11じゃないならboostを使えばよろしい

226 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 21:04:33.08 ID:KC8fJK0S]
>>222
デバッグで例外が発生したら例外の原因箇所にチェック入れて防ぐように修正してる
基本は例外じゃなくて戻り値で成否を返すような感じ

227 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 22:40:22.29 ID:FilUuDwR]
スマートポインタの名前の長さは
C++スタイルキャストを思い出す

228 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 00:52:00.71 ID:CCQxRnc8]
ふと思ったんだが、ゲーム・アプリのプレイ期間中に、
同一スコープ内でnewして解放する局面ってあるか?
つうか、プレイ期間中じゃなくても、同一スコープ内で
newして解放する局面って思いつかないな。
同一スコープ内なら、非ポインタのオブジェクト変数で済ませる。

229 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 08:27:34.76 ID:kybbSnHR]
コンストラクタに引数必須とか?

230 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 13:27:32.69 ID:CCQxRnc8]
>>229
変数定義に引数記述してもコンパイル通るよ。
class Test {
public:
  Test(int arg);
   :
};

int a = rand();
Test ins(a);

231 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 13:44:36.27 ID:FiWT7kKo]
>>230
出来るんだ…
考えてみれば出来ない理由もないか


じゃあ>>203みたいにポインタ返すけど、後始末は呼び出し側がやらないといけない関数とかかな?
あとはスタックにデカイ領域作りたくないとか?意味があるかはわからんけど

232 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 17:38:22.10 ID:CCQxRnc8]
>スタックにデカイ領域作りたくないとか

これはあるかもね。
とは言っても具体的な局面が思い浮かばない・・・

233 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 19:13:59.62 ID:JDzb/9N7]
スコープ抜けたら勝手に消えるだけがメリットじゃないだろう
メンバ変数にしておけば親が死ぬとき勝手に死んでくれるし

ていうかスマートポインタ使わないとコンストラクタで例外が発生した時どうするんだ



234 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 20:24:55.99 ID:CCQxRnc8]
具体的にどんな例外を想定してるの?

235 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:06:29.19 ID:JDzb/9N7]
なんでスマートポインタを使うのを躊躇うの?
unique_ptrは自動的にdeleter呼んでくれる上に
性能的には生ポと同じコストで使えるんだぞ

236 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:15:04.36 ID:V2Q8QmNk]
>>235
別に躊躇ってる人は居なくね?

237 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:16:59.75 ID:/bYy5p67]
なんかこの流れ前にも見たな

今話してるのはunique_ptr使うんだったら普通にautoで変数定義すればよくね?
って所だと思うが

238 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:17:12.28 ID:f9BWxP4M]
なんでC++11やboost前提で話してるのか理解できない

239 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:24:24.52 ID:V2Q8QmNk]
この板的には、まだまだ11前提とするには厳しいかなー?

240 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:37:01.79 ID:JeS5pTB2]
新しいもの好きなのはいいけど自分がマイノリティなのに気づけよ

241 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:41:59.03 ID:JDzb/9N7]
>>237
お前は何を言っているんだ
スマートポインタと型推定は全然違う話だぞ

>>239
STLすら厳しそうだ
なぜだか自作ライブラリのほうが優れてるとか勘違いする奴が多いんだよな

242 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:45:29.61 ID:JDzb/9N7]
ゲーム開発とSTL
ttp://d.hatena.ne.jp/masfj/20120308/1331220846

C++を知らないゲームプログラマ達
ttp://d.hatena.ne.jp/alwei/20111008/1318090538

243 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:48:28.33 ID:Dmy8apjq]
>>241
まず話の前提として>>228があってそもそもnewする必要なくね?という問題提起があるんすよ
あと型推定ってなんすか



244 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:51:46.71 ID:V2Q8QmNk]
autoには2種類あるから、そこですれ違ってるんじゃない?

245 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:55:52.06 ID:Dmy8apjq]
ごめん、c++11のautoと勘違いさせたか
俺が言ったのはただの自動変数のことです

246 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:56:18.09 ID:V2Q8QmNk]
>>241
>STLすら厳しそうだ
>なぜだか自作ライブラリのほうが優れてるとか勘違いする奴が多いんだよな

いや、既存ライブラリを使わない病気のじゃなくw

247 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:56:44.58 ID:JDzb/9N7]
スタックオーバーフローしないならnewする必要はないな
でもスマートポインタの使い道ってそれだけじゃないよ?
むしろクラスのメンバ変数にこそ使ってほしい
デストラクタを自分で書くのはもうやめよう

あと、C++11ではautoの意味が変わりました
C#のvarみたいに変数の型を推定してくれるので
STLのイテレータとか死にそうなくらい長い型名でも
for(auto i = v.begin(), e = v.end(); i != e; ++i) { ... }
こんな風に書けて超便利な機能です

248 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:58:09.46 ID:JeS5pTB2]
STLは慣れるまでは内部でどういう処理してるのかわからなくて気持ち悪い部分はあったな

249 名前:名前は開発中のものです。 [2012/11/15(木) 22:06:00.91 ID:AHySL0i4]
内部のことなんて知らなくていいんだよ
使い方を知ってれば、低能でも使えるのがSTL
だからこそ意味がある

250 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 22:11:50.11 ID:AKJanR6y]
>>249
それでバグ出したらデバッグで死ねるな

251 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 22:14:31.65 ID:JeS5pTB2]
コード書き間違えるとたまにSTL内部のコードに誘導される時があるよな
記述ミスったところでエラー検知してくれよと言いたくなる

あと気になるのはゲームだからだろうな
静的プログラムなら負荷が発生するパターンなんてどうでもいいけど、
動的プログラムだとそこら辺完全に把握してないと非常に気になる

252 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 22:18:29.51 ID:CCQxRnc8]
>>247
>むしろクラスのメンバ変数にこそ使ってほしい
なぜ自動変数ではダメなん?

253 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 22:25:11.84 ID:JDzb/9N7]
STLだとメモリを自分で管理できないとか言ってる奴はいないか
ttp://www.slideshare.net/alwei/ss-11521742

>>252
スタックオーバーフローしないならnewする必要はないな



254 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 07:35:50.58 ID:wj9cLs/W]
www22.atpages.jp/otsr/cgi-bin/src/otsr8520.jpg

www22.atpages.jp/otsr/cgi-bin/src/otsr8521.jpg

255 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 13:39:30.43 ID:BTfLhLXO]
絵柄と相まって小学生が好きそうなノリだなw

256 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 16:46:04.64 ID:N1OcN+jA]
vector配列のvector配列をvector配列で管理する三次元配列って開放する時大本だけ開放しておけばおk?

257 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 17:19:36.14 ID:BTfLhLXO]
vector<vector<vector<int> > > か?
実体さえ行方不明にならなければどうとでもなるが
newしたものを格納してるならshared_ptrじゃないと危ないかもな

258 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 18:07:16.53 ID:sOBt52RE]
typedef shared_ptr<MapData> MapTip
typedef vector<MapTip> Map1D
typedef vector<Map1D> Map2D
typedef vector<Map2D> Map3D

259 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 19:28:23.88 ID:N1OcN+jA]
ポインタじゃなくて実体を格納するなら大丈夫なのか
クラスのメンバとしてコンテナ使ってると混乱してくる

260 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 21:05:15.58 ID:JKxfRh2i]
別にポインタを格納しても何の問題もねえよ混乱しすぎ
Actor* actor = MapTip[0][4][6];
a->Draw();
みたいなアホな事してないなら何の問題もない

261 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 21:08:12.91 ID:N1OcN+jA]
混乱してるのはそこじゃねーよ!

262 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 21:16:48.82 ID:JKxfRh2i]
>>261
悪い、ちょっと想定がアレな上にアホな事コード(vectorのアドレス保存して云々が正しくアホなコード)も間違ってるというアレっぷり

実体なら問題はないが、個人的にはコピーコストが馬鹿みたいにかさむからshared_ptr推奨したいな
メンバのメンバのメンバの...みたいに順々にデストラクタは働くので、実際にユーザーが使用した型であるvector<vector<vector<T>>>をclearすれば、Tのデストラクタがちゃんとしてるならば処理される

263 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 21:28:55.22 ID:bHfLv1nY]
所有権を共有する必要はないのでunique_ptrを使いたいけど
ポリモーフィズムに対応してないという弱点のせいでshared_ptrにせざるをえない



264 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 21:37:31.95 ID:BTWHJeh/]
ていうかunique_ptrってコピーしても大丈夫なん?

265 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 21:56:59.63 ID:Tl4n6tnv]
なんのゲーム作ってるのか誰も書かないではないか。

266 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 21:59:18.17 ID:JKxfRh2i]
>>264
unique_ptrはコピー不可能だよ moveは可

>>263
ポリモーフィズムに対応していない、とは……??
ideone.com/oD6tgf

267 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 22:12:13.09 ID:bHfLv1nY]
あれ、できるようになってる・・・?
前はva[1] = std::move(b);で怒られてた気がしたんだけど

#include <memory>
#include <vector>

struct A {
int val;
A(int i):val(i){}
};

struct B : public A {
B(int i):A(i){}
};

int main()
{
std::vector<std::unique_ptr<A>> va(2);
std::unique_ptr<A> a(new A(1));
std::unique_ptr<B> b(new B(2));
va[0] = std::move(a);
va[1] = std::move(b);
for(auto& i : va) {
printf("%d\n", i->val);
}
}

268 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 22:48:49.93 ID:EdJd2yN1]
すみません
質問です

1次元配列で使用可能な要素を前に詰める関数を書きたいのですがどういう方針で行ったら良いでしょうか?
例えば
TestArray[8]があって、その関数実行後に
|○|○|×|×|○|×|○|×|

|○|○|○|○|×|×|×|×|
のようにしたいのです
どなたか良いアイデアをお持ちの方よろしくお願いします。

269 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 22:51:01.79 ID:b7Jxtx/j]
普通にソートじゃだめなん?

270 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 22:57:44.20 ID:bHfLv1nY]
安定じゃなくても良いなら
for(;;) {
前から×を探す
後から○を探す
swap
前と後ろが逆転したらbreak
}

271 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 22:58:20.10 ID:EdJd2yN1]
>>269
1フレームで10以上呼ぶつもりなので出来るだけ高速な処理をしたいんです。
値の大小が無いだけで、ソートのようなプログラムになることは理解できるんですが・・・。

272 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 22:58:32.75 ID:BTWHJeh/]
間つめたいだけじゃないの
普通に先頭から見てってつめればいんじゃない

273 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 22:59:05.57 ID:JKxfRh2i]
>>268
std::sort使って、比較関数だけ自前で書く

>>270
std::sortを薦めろや…



274 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 23:01:41.02 ID:BTWHJeh/]
ソートだとO(nlogn)になるじゃん
間つめるだけならO(n)ですむ

275 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 23:03:52.15 ID:N1OcN+jA]
今時ゲームにその程度の高速化必要か?

276 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 23:07:21.91 ID:bHfLv1nY]
そもそもなんでそんなことになるかな
途中の要素を削除するときは末尾の要素とswapしてから削除すれば良いだけだろ

277 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 23:16:25.42 ID:JKxfRh2i]
出てるのに加えて使用可能と不可能で別のスタックでも使えばいいとか、色んな方法が考えられるな

>>274
汎用のブツを使うべきだろ、高速化が必要な風にも見えんし
必要ならその時点で書きなおせばいい

278 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 23:19:43.28 ID:EdJd2yN1]
>>272さんの言う通り普通に前から詰めます。ありがとうございました。

279 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 04:14:11.89 ID:Yvb5b4+U]
パフォーマンスを気にしたら、その分ゲームが完成から遠ざかる気がする

「できるだけ速く」ではなく、
「aaの環境でbbくらい時間がかかるが、ccくらいの時間にしたい」
が明確になるまでは、パフォーマンス気にしないほうがいんじゃね

もちろん遅すぎて論外なことをやらない、って前提ありきだけど

280 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 11:37:53.11 ID:aR98lbIK]
昔はSLGを遊ぶ場合、敵の思考モードに入るとそれだけで数分かかったものだよ

281 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 16:54:20.20 ID:WXt99mEx]
数分?

282 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 17:03:31.27 ID:N5wMv0H7]
・・・思考中デス・・・

今じゃパターン総当りでもまったく気にならないからなー
いい時代になったもんだ

283 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 21:31:41.79 ID:lAYofdVH]
処理ごとの時間を測れるライブラリみたいのつくっておけばいいのに。
そうすれば、
遅くなりそうなところが、実際は、別のところがネックだったってのが
わかるし、変に悩まなくてすむ。



284 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 21:33:12.27 ID:N5wMv0H7]
普通に計測プログラム用意したり、処理の途中に時間計測して個別に比較したりするんじゃダメなん

285 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 21:36:26.15 ID:wjcsv03f]
プロファイラぐらい使えよ

286 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 22:50:47.28 ID:4SSSv3ja]
俺のプロファイリングによるとこのスレの住人は10代から20代、もしくは30代から40代、50以上の年齢の男性あるいは女性
プログラミング自体には精通しておらず、文法を覚えている程度の初心者と思われるが、必ずしもそうとは言えない

287 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 22:53:57.31 ID:FLG+6H3e]
最近は「素人が○○することは考えにくい」って言うんじゃないのか

288 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 23:00:28.20 ID:4SSSv3ja]
これか
www.jiji.com/jc/zc?k=201210/2012101800773

バイナリからソースが外付けストレージにあったとか判るもんなのか

289 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 23:09:23.72 ID:vLrNZqQF]
何らかの形でディレクトリのパスが入ることはあるだろうけど
ストレージの種類までは記録されたりせんよ
CやDじゃないから、ぐらいの根拠だろう

290 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 23:15:36.55 ID:wjcsv03f]
>>288
自分でコンパイル後のバイナリ確認してみ?
パスは入ることもあるよ。

気になるならバイナリエディタ辺りで消せばいい。
動作に問題はない。

291 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 23:45:04.79 ID:N5wMv0H7]
龍神録の館ですら説明してるし

292 名前:名前は開発中のものです。 mailto:sage [2012/11/18(日) 02:01:16.37 ID:a/mIzCX9]
ボタンのクラス作ったんだけど
class ButtonにDraw()関数にboolの戻り値つけて押されているか押されてないか判定するのってあり?

293 名前:名前は開発中のものです。 mailto:sage [2012/11/18(日) 03:37:14.26 ID:G8vKCtAR]
混乱するのでナシ
自分でちゃんと把握できるのなら挙動がすべてなのでどう書いてもいいが



294 名前:名前は開発中のものです。 mailto:sage [2012/11/18(日) 04:23:18.47 ID:OtH/PY93]
ありがとう。ボタンクラスが、出来た!

class Button{
POINT CoordUL,CoordDR;//右上、左上座標。
int m_nONButtonTexture;//押された時のテクスチャ番号
int m_nOFFButtonTexture;//押されてない時のテクスチャ番号
XMMATRIX m_Transform;//変形行列
public:
void Draw();//画面上に描画。
//コンストラクタ。
Button::Button(int ulX,int ulY,int drX,int drY,
int nONButtonTexture,int nOFFButtonTexture);
//押されているかどうか。
bool PushCheck(int nMousePosX,int nMouseY);
};

295 名前:名前は開発中のものです。 mailto:sage [2012/11/18(日) 04:33:06.01 ID:JhTLY1BD]
C++では多少の粗は速度でカバーする!

296 名前:名前は開発中のものです。 mailto:sage [2012/11/18(日) 09:28:38.84 ID:1KRliL9g]
まあ適当に作ってもそれなりに速度でるもんな
コードに時間かけるよりバグ出さないような
設計、書き方に気を付けた方が幸せになれる

jsでブラウザゲームとか作ってみたら遅すぎて泣けてくる

297 名前:名前は開発中のものです。 mailto:sage [2012/11/18(日) 09:42:02.13 ID:t3/vK/l2]
最近の女子小学生はブラウザゲームとか作るのか

298 名前:名前は開発中のものです。 mailto:sage [2012/11/19(月) 00:02:52.78 ID:xStQIj1y]
遅すぎると逆に萌えるなそれは。

299 名前:名前は開発中のものです。 mailto:sage [2012/11/19(月) 08:00:26.59 ID:Z7RVi5qW]
ふええ、こんなにいっぱいしょりできないよお

300 名前:名前は開発中のものです。 mailto:sage [2012/11/20(火) 05:52:27.33 ID:JIlX6vOn]
>>267
これ見てて思ったんだけど、
struct A と struct Bはそれぞれ非仮想の暗黙のデストラクタを持つじゃない。
すると std::vector<std::unique_ptr<A>> va(2) が破棄されるときには Aのデストラクタが呼ばれるよね。

#include <iostream>
#include <memory>
#include <utility>

struct A{
int val;
A(int i):val(i){};
};
struct C{ int dummy; };
struct B : private C,public A { // 多重継承を用いて vtbl の計算を複雑にする。
B(int i):A(i),C(){};
};

int main(int,char*[]){
std::unique_ptr<B> b( new B(10) );
std::cout << "\(^-^)/" << b->val << std::endl;
std::unique_ptr<A> a(nullptr);
a = std::move( b );
return 0;
}

(これは、わざと落ちるようstruct Cを入れて多重継承してみたんだけど、
問題はBのデストラクタは走らないよの部分)
暗黙のデストラクタって気にする?

301 名前:名前は開発中のものです。 mailto:sage [2012/11/20(火) 07:24:43.57 ID:JIlX6vOn]
暗黙のデストラクタって気にする?じゃ意味がつたわんないな。
多分 struct Aの定義は、割と普通にやるとおもう。
じゃあ Bを書いた時点でAを public 継承してるけどAには仮想のデストラクタが用意してないから、
B*をA*にキャストして、それをdelete したらこけるじゃん Aに仮想デストラクタを用意するように
お願いするかAの継承をあきらめてメンバで持つようにするか B*を A* にキャストして、delete
するのはだめよとココロの中でお願いするか選択肢が出てくると思うんだ。
main 書いてる最中も std::move の時点で、struct Aのデストラクタは、非仮想だから、
unique_ptr<A> の破棄時にstruct Bのデストラクタが呼ばれないなと気がつかないといけない
と思うんだけど、正直最初、自分は全部スルーしてた。
暗黙のデストラクタは非仮想であることにみんなどのあたりで気がつくように訓練してる?

302 名前:名前は開発中のものです。 mailto:sage [2012/11/20(火) 11:56:10.65 ID:Hewg6tab]
継承元になるクラスにはvirtualなデストラクタを付ける、を習慣にするしか…

303 名前:名前は開発中のものです。 mailto:sage [2012/11/20(火) 12:42:09.27 ID:/LQmBJc6]
C++ではAが継承を想定しないなら
Aを継承しないのがふつうじゃん?
トラブルを避けるためにメンバに持つ。
暗黙のデストラクタが非仮想なのはあたりまえじゃん?
訓練してるってたんに知識の問題のような。



304 名前:名前は開発中のものです。 mailto:sage [2012/11/20(火) 18:03:15.21 ID:YMT95jvg]
常に全てにvirtual付けてりゃいいんじゃね
最適化の段階で外していけばいいよ

305 名前:名前は開発中のものです。 [2012/11/21(水) 02:32:47.54 ID:O0QHrPFm]
javaかよw

306 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 08:07:42.08 ID:Sa/LjIte]
javaみたいにクラスの継承禁止って出来ないの?
と思って調べたらc++11からfinal追加されたのね

307 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 19:50:13.57 ID:i5WslLE/]
小学生の息子にアクションゲームを作ってる所だけど、背景とか音楽が難しいー。誰かファミコンぽいやつ作れる人いないかな。

308 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 20:13:31.23 ID:RN32Cd3P]
とりあえずプログラムでウィンドウを画面に出す

画像を読み込んでウィンドウに表示させる

キー入力を受け付ける処理を作る

キー入力で画像の表示位置を変えたりアニメーションさせたりする

画像表示のパターンを増やす

完成

309 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 20:56:45.03 ID:i5WslLE/]
>308
ありがとう。
一応、横スクロール、プレイヤー移動、弾発射まではできてて、今から敵とかダメージ判定とかやるつもり。音楽ないとさみしいなーとか、背景もっと森とかしたいなーとかおもってるけど、雲とかがせいぜいで、、、

310 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 21:03:39.96 ID:1xP0Jxk2]
ファミコン風背景なんざペイントでグリグリでいいんじゃないの?

311 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 21:17:48.26 ID:e4cilLWo]
>>310
素人が知ったかすんなよw

312 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 21:19:49.30 ID:1xP0Jxk2]
何が知ったかなんだよw

313 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 21:23:14.86 ID:4ruuHy6d]
>>307
えーと、質問の意味が分らないんだが。
絵や音楽を作るのが難しいと言ってるのか。
プログラムの話しどっちだ?

文体から前者にとれるんだが。前者ならスレ違い。



314 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 21:25:40.22 ID:1xP0Jxk2]
「風」って言ってるから俺は素材だと理解したわ
風でいいならスプライトや和音の仕様をプログラムで再現する意味はないし

315 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 21:25:58.45 ID:hLXHgUEm]
ファミコンはドット絵だからペイントで描くようなもんじゃないだろう

316 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 21:29:25.50 ID:4ruuHy6d]
>>315
ルーペで拡大して描くんだろwしらんけどw

317 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 21:34:52.78 ID:1xP0Jxk2]
ペイントでドット絵描いてる人は今も多いぞ
ドット絵なんてアンチエイリアス掛からないツールなら問題ないしな
それほどクオリティを求めないファミコン風なら、アンチエイリアスもかけないしペイントで十分

318 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 21:53:06.25 ID:i5WslLE/]
>313
前者です。スレ違いみたいでした。すみません。
背景が難しいていったのはマップチップ作ってそれをループで並べてるんですけど、樹木とか遺跡っぽいのが作るの難しくて。
子供が寝たから今からまた作ります。

319 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 22:32:54.29 ID:Ar9mPays]
実際にどういう絵にすればファミコンっぽくなるかが気になるなら
CG板にあるドット絵スレで質問するといいよ。
toro.2ch.net/test/read.cgi/cg/1347980328/

一応この板にもドット絵スレは幾つかあるけど、あんまり動いてない。
あと音楽は分からん。たぶん2chのどこかにチップチューンスレとかあると思う。

320 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 22:38:13.26 ID:i5WslLE/]
>319
ありがとうございます!
曲のほうはこの板の別スレで、リクエストできるスレがあったので、そちらにレスしてみました。
ドット絵は後で調べてみます。
今は、穴に落ちた時やライフゼロのときのゲームオーバーの判定実装してます。

321 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 22:41:06.45 ID:vU7vV5c8]
ファミコンっぽくしたいなら、解像度を荒くする、色数を8色以下にする、マップチップのサイズを8*8にする、くらいじゃないのかな。

322 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 22:47:05.46 ID:4ruuHy6d]
>>320
ドット絵なら素材じゃだめなんか?
素材サイト回れば一通りそろいそうだが。

323 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 23:05:03.40 ID:i5WslLE/]
>322
前にマップチップで探してみたんですけどRPG 用ぽいのが多くて、とりあえず探すのやめてました。



324 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 23:05:22.18 ID:BpQGjbQp]
マウス押された時呼ばれるコールバック関数があるのだけど、
メインループの関数内の処理によってコールバックの内容も変えたい。
どういう設計すればいいの?

325 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 23:09:17.43 ID:GbUHGBi8]
コールバック関数を設定しなおすとかすればいいんじゃね?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<178KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef