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


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

DXライブラリ 総合スレッド その19



1 名前:名前は開発中のものです。 mailto:sage [2016/01/05(火) 23:44:29.77 ID:fkNSYSkc.net]
Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

【公式】
homepage2.nifty.com/natupaji/DxLib/

【関連スレ】
C/C++ゲーム製作総合スレッド Part7 [転載禁止](c)2ch.net
peace.2ch.net/test/read.cgi/gamedev/1420939171/
ゲームプログラムなら俺に聞け32(c)2ch.net
peace.2ch.net/test/read.cgi/tech/1441693570/

●DXライブラリではなくDirectXの質問ならこっちへ
【C++】 DirectX初心者質問スレ Part39 【C】 [転載禁止](c)2ch.net
peace.2ch.net/test/read.cgi/tech/1418438785/

212 名前:名前は開発中のものです。 mailto:sage [2017/04/14(金) 23:52:44.66 ID:7sRUbSV9.net]
分かりやすく例えると、oggとかmp4なんかはzipで圧縮したような形式だから
再生するために元のwavに解凍すると10倍〜100倍になる
メモリにロードするってことは、この巨大化したのを入れるってことだから
効果音のような小さなものでない限りは避けるべき

213 名前:名前は開発中のものです。 mailto:sage [2017/04/15(土) 01:19:09.73 ID:RtlOPePd.net]
ありがとう
おかげで疑問が解消されました

214 名前:名前は開発中のものです。 mailto:sage [2017/04/15(土) 03:44:15.65 ID:3FEYykSP.net]
あとはシングルスレッドの場合はどうしてもロード時に固まってしまうだろうから、マルチスレッドでロードを行うようにするのはどうだろうか?

215 名前:名前は開発中のものです。 mailto:sage [2017/04/15(土) 04:40:43.98 ID:RtlOPePd.net]
マルチスレッドということはC++11を扱うということですね
Core i7を乗せてるのでCore UPUに対応したゲーム開発も興味はあるが
技術的に敷居が少し高いので今はまだいいかな
最新のC++コンパイラも必要になるし
ゲームのプレイヤーがCore i7 や Core i5のCPUを乗せてないと威力は発揮されない

216 名前:名前は開発中のものです。 mailto:age [2017/04/15(土) 09:19:30.20 ID:+pklgBp/.net]
短い場合(メモリー上にwave展開しない)
SetCreateSoundDataType( DX_SOUNDDATATYPE_MEMPRESS );
長い場合(ストリーミング再生)
SetCreateSoundDataType( DX_SOUNDDATATYPE_FILE );
どちらか書く

217 名前:名前は開発中のものです。 mailto:sage [2017/04/15(土) 09:44:18.23 ID:+pklgBp/.net]
jgame.blog.fc2.com/
あんたこのブログの人やろ頑張りや

218 名前:名前は開発中のものです。 mailto:sage [2017/04/15(土) 09:52:16.21 ID:PBMOYWDr.net]
ちなみに画像や音声のマルチスレッド読み込みはDXライブラリ標準機能で
SetUseAsyncLoadFlag(TRUE)使えば簡単よ

219 名前:名前は開発中のものです。 mailto:sage [2017/04/15(土) 11:40:04.16 ID:3FEYykSP.net]
C++11とか使ってませんが、ロード画面作るときにマルチスレッドを使いました。
あくまでロード時に凍るのを防ぐために使用するのでCPUがどうとかは無いですよ。
process.hをインクルードしてResumeThreadさせるだけで実装できます。

220 名前:名前は開発中のものです。 mailto:sage [2017/04/15(土) 13:07:47.39 ID:poy2AG7G.net]
何故だろう、急に挙動が変わった。
sizeが0を返すからファイルが見付からない訳じゃないと思うのだけど。

void* readbin( char *filename)
{
int size ,rsize ,h;
char *ptr;

if ( size = FileRead_size( filename ) == -1 ) errmsg( NOTREAD ,filename );
ptr = (char*)malloc(size+1);
if ( h = FileRead_open( filename ) == 0 ) errmsg( NOTOPEN ,filename );
rsize=FileRead_read(ptr ,size ,h);
printfDx( "%s : %d/%d\n" ,filename ,size ,rsize );

FileRead_close( h);
return ptr;
}



221 名前:名前は開発中のものです。 mailto:sage [2017/04/15(土) 13:25:19.21 ID:JeCVIRaX.net]
> ptr = (char*)malloc(size+1);

この+1はなに?
本題とは関係ないけど

222 名前:名前は開発中のものです。 mailto:sage [2017/04/15(土) 14:44:24.56 ID:qT8WsIhy.net]
DXLib 知らずに覗いてるだけでどう挙動が変わったかわからんので >>213 の疑問には答えられないが、
>>214
おそらくファイルのく中身は表示などに使う文字列だという前提だと、
文字列の終端は NULL で止める必要があるのでその 1byte 分を余計に確保している。
(今どきのコンパイラは malloc での確保と同時に \0 埋めをしてくれるのかもしれないけどちょっと危ないな。)
readbin() という名前からして文字列と言っても中身はバイト列と推測できるので、
ファイルの中身には終端 NULL を入れずに記録しているんだろう。

223 名前:213 mailto:sage [2017/04/15(土) 15:14:07.66 ID:YQ+vHcvV.net]
+1は苦し紛れにあーだこーだいじる過程でダメ元で付加してみたのでした。
末端に不定の1バイトが付加されるので無駄な容量食いではありますが、危険という認識はありませんでした。
早急に削除します。
そして、自己解決しました。if文の連結順序を誤解していました。何故今まで動いていたんだ・・・。
if ( size = FileRead_size( filename ) == -1 ) errmsg( NOTREAD ,filename );
if ( h = FileRead_open( filename ) == 0 ) errmsg( NOTOPEN ,filename );
↑これは↓こうですね。
if ( (size = FileRead_size( filename )) == -1 ) errmsg( NOTREAD ,filename );
if ( (h = FileRead_open( filename )) == 0 ) errmsg( NOTOPEN ,filename );
お騒がせしました。

224 名前:名前は開発中のものです。 mailto:sage [2017/04/18(火) 20:45:54.94 ID:bJnkmQcY.net]
ホラーだ

225 名前:名前は開発中のものです。 mailto:sage [2017/04/29(土) 01:27:41.32 ID:/YvMYhCO.net]
DXライブラリはgifアニメーションを再生できないのでしょうか?
DXライブラリ以外ならgifアニメ再生できたりするのでしょうか?

「こう記述すればできる」など教えてください

226 名前:名前は開発中のものです。 mailto:sage [2017/04/29(土) 06:09:30.20 ID:SAAy66wJ.net]
gifをそのまま読み込んで表示はできなかったはず
連番画像に変換するか、もしくは動画にするかだな

227 名前:名前は開発中のものです。 mailto:sage [2017/04/29(土) 16:48:35.10 ID:/YvMYhCO.net]
>>219

割とむつかしい事しなきゃ動画像は表現できないんですね・・・
爆発エフェクトとか魔法エフェクトとかgifで表現したかったんですが、少し億劫になってしまいました

回答ありがとうございました

228 名前:名前は開発中のものです。 mailto:sage [2017/04/29(土) 17:59:31.45 ID:xrI1QiYS.net]
LoadDivGraph使えば連番画像が配列に入るから簡単やで
っていうか簡単なエフェクトなら回転拡大縮小やブレンドパラメータの変更で表現できるんじゃない?

229 名前:名前は開発中のものです。 mailto:sage [2017/04/29(土) 18:40:06.93 ID:EkJNcx6r.net]
>>218
一応C#版ならサンプル転がってるね
規制でurl貼れないけど検索すればすぐ見つかる
でも221が言うようにDivGraph系使った方が楽だと思う

230 名前:名前は開発中のものです。 mailto:sage [2017/05/05(金) 10:05:26.44 ID:NXBeyHLp.net]
なるほど初期化とかのタイミングで一旦展開するのがエンジン的には普通なのか



231 名前:名前は開発中のものです。 mailto:sage [2017/05/05(金) 15:40:34.37 ID:yUv3bLae.net]
最初から専用形式化アニメGifくらいにしか出力できないツールとかでもない限り、
手間は大して変わらんだろうしな

232 名前:名前は開発中のものです。 mailto:sage [2017/05/07(日) 15:21:12.75 ID:If6RMgU7.net]
結局誰かが何処かで一所懸命動かしてるわけだしな

233 名前:名前は開発中のものです。 mailto:sage [2017/05/09(火) 08:34:24.56 ID:K1FQSBk+.net]
アニメーション用の画像を一枚にまとめた後ってLoadDivGraphでもDrawRectGraphでもアニメーションにできるけど
どっちの方が軽いとかってあるのかな

234 名前:名前は開発中のものです。 mailto:sage [2017/05/09(火) 09:38:53.90 ID:2FI5hhgE.net]
内部的にはほぼ同じ処理だと思う
どちらも一度のドローコールでまとめて描画するから速度はほとんど変わらないはず

235 名前:名前は開発中のものです。 [2017/05/10(水) 11:42:59.61 ID:/rFUV6kx.net]
FOR-NEXT 10億回ループまとめw追加&補正その4w

DarkGDK(Core i7 4770K)..     1.7秒
DarkBASIC(Core i7 4770K).     1.8秒
JavaScript(CeleronG1820)     2.3秒
DarkGDK(CeleronG1820)..     2.3秒
DarkBASIC(CeleronG1820).    2.5秒
AGK ver1.0(CeleronG1820)..   33.0秒
H.S.P. 3.4(CeleronG1820).     126.0秒 (*1) *New!
JavaScript(PS4Slim).        130.0秒 (*2)
EZ-BASIC(PlayStation2).    227.0秒 (*3)
99BASIC(Core i7 4770K).    330.0秒
99BASIC(CeleronG1820).    463.0秒
プチコン3号(new 3DS LL).    673.0秒
プチコンmkII(new 3DS LL)  20300.0秒 (*4)
プチコンmkII(new 3DS LL)  20500.0秒 (*5)

(*1) H.S.P.、簡易インタープリター言語
(*2) CPUリソース割り当てが極端に少ないか、サブCPU担当と予想される
(*3) SCPH-90000、BASIC STUDIO パワフルゲーム工房、ループ分割
(*4) スケーリングあり、ループ回数を100分の1にして、計測結果に100を掛けたもの、ループ分割
(*5) スケーリングなし、ループ回数を100分の1にして、計測結果に100を掛けたもの、ループ分割

236 名前:名前は開発中のものです。 mailto:sage [2017/05/10(水) 15:05:35.39 ID:AO63hxX7.net]
最適化ですっ飛ばしてる可能性は?

237 名前:名前は開発中のものです。 mailto:sage [2017/05/12(金) 23:43:37.67 ID:6uV/zlUc.net]
どうやら周回遅れの嵐がまた戻ってきたようだな

238 名前:名前は開発中のものです。 mailto:sage [2017/05/25(木) 10:49:09.36 ID:EtJgGmd+.net]
DrawRotaGraphやDrawExtendGraphで画像を拡大するとかなりジャギジャギになってしまうんですけど拡縮のアルゴリズムを変更みたいなことはできないんでしょうかね?

239 名前:名前は開発中のものです。 mailto:sage [2017/05/25(木) 11:21:21.11 ID:yyfkJ8TD.net]
SetDrawMode(DX_DRAWMODE_BILINEAR)

240 名前:名前は開発中のものです。 mailto:sage [2017/05/25(木) 12:32:57.53 ID:EtJgGmd+.net]
>232
リファレンスで確認したらまさにそのことが書いてありますね…
ありがとうございます



241 名前:名前は開発中のものです。 [2017/05/26(金) 00:14:22.05 ID:rlfOgZbA.net]
>>232
定数がラベル化されてて覚えたくないっぽい感じでいいなw

242 名前:名前は開発中のものです。 [2017/05/26(金) 01:39:42.52 ID:L1fgx/JI.net]
ちょっと何言ってるかわかりませんね

243 名前:名前は開発中のものです。 [2017/05/27(土) 18:30:23.12 ID:XdDfcHqh.net]
初心者なんですけど、メインループ内で音声ファイルをboolフラグ使って再生すると、
音声ファイルが再生終了するまで全体の動きが止まってしまうんですけどこれどうやったら回避できますかね?

244 名前:名前は開発中のものです。 [2017/05/27(土) 18:52:38.31 ID:XdDfcHqh.net]
>>236

if (collision == true) {
PlaySoundMem(Sound_Bar_Handle, DX_PLAYTYPE_NORMAL, TRUE);
collision = false;
StopSoundMem(Sound_Bar_Handle);


}
ちなみにこんな処理です

245 名前:名前は開発中のものです。 mailto:sage [2017/05/27(土) 20:33:09.58 ID:brkGgSz8.net]
DX_PLAYTYPE_BACKじゃなかったっけ

246 名前:名前は開発中のものです。 [2017/05/27(土) 22:17:05.92 ID:XdDfcHqh.net]
>>238
なんとまあ・・・
ありがとうございました
リファレンスしっかり見てから質問するようにします!

247 名前:名前は開発中のものです。 mailto:sage [2017/05/29(月) 02:06:45.40 ID:p1cVfpaJ.net]
ヒカル TV出演「年間5億は稼ぐ勢いですね」
https://www.youtube.com/watch?v=G7qL6ftpets
第1回案件王ランキング!YouTuberで1番稼いでるのは誰だ!
https://www.youtube.com/watch?v=asF2wQ2xhjY&t=61s
ユーチューバーの儲けのカラクリを徹底検証!
https://www.youtube.com/watch?v=FUSb4erJSXE&t=504s
【給料公開】チャンネル登録者4万人突破記念!YouTuberの月収公開!
https://www.youtube.com/watch?v=Y7DAQ0RKilM&t=326s
誰も言わないなら俺がYouTuberのギャラ相場を教えます
https://www.youtube.com/watch?v=E4q-vaQh2EQ&t=118s
YouTuberになりたいのは馬鹿じゃない!YouTuberになる方法
https://www.youtube.com/watch?v=Fr0WXXZRMSQ

最高月収5000万円だとさ。年収じゃなくて「月収」な
おまえらもyoutubeに動画投稿したほうがいい
やろうと思えばスマホがあればできるぞ
最低2年はやらないとここまではいかないだろうけど才能とアイデアと
企画力と継続力があればが大儲けできる可能性がなくもない
まだまだ他の職種に比べれば競争率は低いからオススメ
顔出したくないならラファエルみたいに仮面つければいい

248 名前:名前は開発中のものです。 mailto:sage [2017/06/08(木) 10:48:04.41 ID:emR6NVdG.net]
スマホ版にもゲームパッドの関数がある
なんだこれ

249 名前:名前は開発中のものです。 mailto:sage [2017/06/08(木) 21:06:56.21 ID:dElL6uGO.net]
スマホ用ゲームパッドで使うんだろ

250 名前:名前は開発中のものです。 mailto:sage [2017/06/09(金) 09:39:03.45 ID:DE3YMeBF.net]
UnityやUE4がある今日、DXライブラリで作るメリットってなんだろう?
自分、DXライブラリで開発したいなと思い色々と調べていたんですが、調べれば調べるほど、UnityやUEが出てきてちょっと悩み中です。



251 名前:名前は開発中のものです。 mailto:sage [2017/06/09(金) 14:11:39.94 ID:k1bCPNPm.net]
PCが貧弱でUnityやUEだと重い、ぐらいかな
今から勉強するならあまりメリットは無いと思う

252 名前:名前は開発中のものです。 mailto:sage [2017/06/09(金) 15:55:37.40 ID:/AOIMXs3.net]
>>243
Unity, UE4 は作者からコードを引き離す方向で進化しているのに対して、
DXlib はガッツリコードを見せた上で分かりやすくという方向で、ある意味教育的なもの。
一度 DXlib で組めていれば GUI ツールでも中身がどう動いているか想像付くので
コードの内容もきっちり学びたければ無駄にはならないと思う。

253 名前:名前は開発中のものです。 mailto:sage [2017/06/09(金) 18:21:17.93 ID:SGYRsMDo.net]
>>243
俺の場合はVBで使えるからという理由だった

254 名前:名前は開発中のものです。 mailto:sage [2017/06/11(日) 14:59:07.03 ID:0zNsaXZ9.net]
>>243
こういう質問する奴はどうせUnity使うんだろw
Unityの方がグラ綺麗だし、アセットストアで何でも売ってる
ふんっ! せいぜいユニティちゃん使ってろよ
ちっとも全然まっっっったくうらやましくなんかねーからw

255 名前:名前は開発中のものです。 [2017/06/12(月) 03:41:17.25 ID:yK1l09Lv.net]
SetCreateSoundDataType(DX_SOUNDDATATYPE_FILE);で音をストリーミング再生するよう設定してるのに
タスクマネージャでディスクの欄を見ていても殆ど0%から動きません
メモリ使用量は1GB→60MBになったのでちゃんとストリーミング再生にはなってると思います

ストリーミング再生はディスクに負荷がかかると思っていたんですが、最近のHDDだと特に問題無いんですか?

256 名前:名前は開発中のものです。 [2017/06/12(月) 12:43:11.91 ID:AYi3m4Li.net]
無能ほど負荷とか並列化にこだわる法則

257 名前:名前は開発中のものです。 [2017/06/12(月) 15:21:18.37 ID:eyqFi/CQ.net]
そら無能じゃなきゃこんな板来ないしこんなライブラリ使わんからな

258 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 10:21:57.41 ID:v0unCno/.net]
>>242
スマホにパッドがあったのか
嬉しい気もするけど携行性を重視した端末にでかい周辺機器をつなぐって奇妙な発想だな

259 名前:名前は開発中のものです。 [2017/06/14(水) 10:43:34.66 ID:U2C2l7BT.net]
今時の開発者は青歯も知らんのか

260 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 18:41:50.21 ID:ZT9fgl64.net]
パパパパパパッドでタブレットwwwwwwww



261 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 21:02:14.77 ID:zAFWgH33.net]
最近だとレイフォースがパッド対応で話題になってなかったっけ

262 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 22:56:09.32 ID:LMseahLk.net]
ゲーム作りどころかプログラミング初心者です。

DXライブラリを用いてのゲーム製作を考えているのですが、C++の知識はどの程度必要になりますか?
C++の学習は早々に切り上げてゲーム製作のアルゴリズムやDXライブラリの使い方等を学習したほうがいいんですかね?

ちなみに今はC言語の苦C一通り終わらせて独習C++の半分くらいまでC++の学習を進めてます。

263 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 23:41:14.12 ID:1b6ck/rE.net]
わからないところが出てきたらC++の学習に戻ればいいんじゃない

264 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 23:55:33.06 ID:LMseahLk.net]
>>256
ではある程度C++について学んだ後はさっさとゲーム製作の学習に入っておkってことですかね?
ゲーム製作で必要になる主なC++知識って何なんでしょうか

265 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 00:24:27.54 ID:O/SyLshJ.net]
そんなものは無い
Cだけでもゲームは作れる

266 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 01:33:12.34 ID:m1zHP4Hn.net]
>>258
いやいやあんまりからかわないでくだしあ…
C++のクラスなんかの知識は必要だと聞いてます

267 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 01:48:42.44 ID:cvFevhqX.net]
いや要らないしそういう設計になってる

268 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 08:22:53.08 ID:brlS6E6B.net]
C++ってやや低級気味な言語だしオブジェクト指向なんかガン無視でフォートランみたいなコード書いても何も問題ない

269 名前:名前は開発中のものです。 [2017/06/16(金) 08:33:02.27 ID:SGqKL1uB.net]
DXライブラリ使うならC++知らず、C言語の知識のみでも何とかなりそう

270 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 09:52:41.57 ID:Pb7QpWU4.net]
そもそもCで出来なくてC++で出来ることってクラス以外に何があるんだっけ



271 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 12:01:13.26 ID:Ogq0H9i2.net]
分かって使うなら C++ の方が便利機能があるのできれいなコードが書けることが多いけど
知らないで無理に C++ を使うととんでもないコードができるので、それなら素直に C で書いた方がいい。
あと C++ クラスでデータ管理していて DXLib に渡すときに無茶なキャストをかけるとかいらない操作をあれこれしそうな予感がする。
>>261 が言ってるとおりコンパイラが C++ だとしても別に C++ の機能を無理に使う必要はないし、普通に C のコードが通る。

それを踏まえた上で C と C++ を比較するなら、
ゲームでもデータの格納、その操作が頻繁に起きるから C++ でクラスが使える点は非常に大きいと思う。
メモリ管理、文字列の扱い、ファイルなどの I/O 操作はどう考えても C++ が楽。
C++ だとループ処理もイテレータを使えるのが大きい。かなりすっきりする。
本当は例外が扱えるのも大きいけど DXLib 使うならライブラリ側の戻りを見とけばいいから余り問題はないか。

272 名前:名前は開発中のものです。 [2017/06/16(金) 15:08:58.97 ID:gDyvoaaV.net]
  ●●●ケネディ大統★領は何故、死なねばなら★なかったのか?●●●
  jbbs.livedoor.jp/bbs/read.cgi/study/3729/1226114724/53

  この掲示板(万有サロン)に優秀な書き込みをして、総額148万円の賞金をゲット★しよう!(*^^)v
  jbbs.livedoor.jp/study/3729/ →リンクが不良なら★、検索窓に入★れる!

273 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 21:05:08.34 ID:m1zHP4Hn.net]
>>264
詳しい回答ありがたや…

C++の知識は正しく用いるなら便利だけど必須ではないという認識でよろしいですかね。
とりあえずC++のクラス全般について一通り学んだらDXライブラリとかゲームプログラムの勉強に入ろうと思います。
他の方も回答してくれた方ありがとうございました
また何かあったら質問するかもしれませんがその時はよろしくお願いします

274 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 05:06:47.45 ID:ANL8I6I5.net]
ジェネリック・プログラミング
処理の抽象化

デザインパターン

アルゴリズムによる計算量の見積もり。
N に比例する、線形探索をしない。
ハッシュ O(1)、2分探索 O(log N)

Boost

275 名前:名前は開発中のものです。 [2017/06/17(土) 18:30:16.74 ID:FgtAF55Q.net]
>>267
役に立たないとは言わないがプログラミング技術が好きな人向けで
ゲーム作る事と乖離してる

276 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 18:45:10.75 ID:nFYpcEEx.net]
計算量くらいは意識しないとまともなゲーム作れないだろ

277 名前:名前は開発中のものです。 [2017/06/18(日) 01:35:21.10 ID:PbdM1gWB.net]
ループ条件分岐さえあれば組めないプログラムなんてないんやで

278 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 04:57:30.53 ID:ml1ulS2M.net]
職業プログラマじゃないんだから、まずは動くもんが作れればいいんだってば。
それで遅かったらもっと勉強していい方法見付ければいいわけで。

279 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 19:05:08.47 ID:abC7Vm3t.net]
個人製作レベルの小さなゲームだとオブジェクト指向の概念自体いらないっちゃいらないとは思う
でもわかりやすく作る武器としてC++を覚えたいなら
個人的な現状の感想を書いてみると

・いる
クラスとオブジェクト指向の概念、継承、包含、コンストラクタ、getterとsetterの概念、仮想関数(抽象クラス、多態性)

・いらないんじゃね?
テンプレート、演算子のオーバーロード、標準ライブラリ(std::vectorはあってもいいかも?)、多重継承

ゲーム作る上ではこんな文法より当たり判定とか回転とかのアルゴリズムの方がよっぽど大事ってのは思う

280 名前:名前は開発中のものです。 [2017/06/18(日) 20:43:53.58 ID:nanwc7sE.net]
重要なのは何を作るか詳細な挙動やパラメータまで考えることだろ
技術的なことはいざとなったら誰かに相談すれば済む



281 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 21:13:19.18 ID:LRmtmPIY.net]
ゲームなら継承は超便利

282 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 21:28:36.39 ID:j1fZdyvt.net]
クラス(構造体+メンバ関数)と継承は知っといた方が得だと思う
std::vectorは超絶におすすめ
変なエラーやバグ(配列の不正アクセス)が無くなる

多態性とかテンプレートは、二作目作るとき等に勉強すると「こんな便利な方法があったのかー」と感動するし、理解しやすい

283 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 22:07:10.75 ID:xRdxAyjX.net]
>>272
いる項目の半分くらいはまだ未習ですね…

当たり判定とか回転とかのアルゴリズムってどこで勉強すればいいんですかね?
定番の参考書みたいなのがあったりするんでしょうか

>>275
クラスはある程度文法学習し終わりました
std::vectorはなんのことかさっぱりです

284 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 23:14:19.78 ID:QSbBBvPO.net]
当たり判定は別にいいんだけど本当に難しいのは判定後の反発、押し出し処理
いまだにメーカーごとに意見が分かれる部分

285 名前:名前は開発中のものです。 mailto:sage [2017/06/19(月) 00:02:59.64 ID:p2tfhpKK.net]
有名な物理エンジン使ってるゲームでも
めり込んでおかしな動きしてることあるからな

286 名前:名前は開発中のものです。 mailto:sage [2017/06/19(月) 11:28:36.29 ID:pl3YSaeH.net]
>>276
ゲームじゃvector一番使うべ

287 名前:名前は開発中のものです。 mailto:sage [2017/06/19(月) 16:14:57.42 ID:oi8Si/s0.net]
>>278
Colision detectionで一発解決

そう、unityならね(´・ω・`)

288 名前:名前は開発中のものです。 mailto:sage [2017/06/19(月) 17:51:36.60 ID:gZSjLbfM.net]
>>279
まじか
よくわからなくなってきたので中途半端でやめずにとりあえずC++を一通りやってからゲーム制作勉強します…

289 名前:名前は開発中のものです。 mailto:sage [2017/06/19(月) 19:03:22.39 ID:p2tfhpKK.net]
>>281
>>256>>271

290 名前:名前は開発中のものです。 mailto:sage [2017/06/20(火) 10:12:50.70 ID:Usr/uqTE.net]
いくらC++を勉強したところでDXライブラリはゲームエンジンとしての限界点が低いから
とくにグラが汚いから覚悟しておくことだ
最新の C++ 11 できっちり組んだとしても、遊ぶ人から「これレトロゲーム?」って言われる(笑)



291 名前:名前は開発中のものです。 mailto:sage [2017/06/20(火) 10:28:18.35 ID:39gfrlUT.net]
素のシェーダを使えばそりゃ

292 名前:名前は開発中のものです。 mailto:sage [2017/06/20(火) 13:23:34.57 ID:T/7j0XdF.net]
デフォのトゥーンは輪郭線が綺麗で好きだな
いくつかトゥーン作ったけど結局デフォに落ち着いた

293 名前:名前は開発中のものです。 mailto:sage [2017/06/22(木) 23:00:29.04 ID:2Sd5aLez.net]
javaやC#の標準ライブラリですら
rectangleクラスのintersectで簡易当たり判定は楽にできるみたいなんだよね

思想の違いだとは思うがゲームライブラリならそれくらいあってもいいとは思った

294 名前:名前は開発中のものです。 mailto:sage [2017/06/23(金) 00:42:29.61 ID:IOEH1G7m.net]
MFCにCRectクラスのIntersectRectがあるよ
まあしかし四角の当たり判定がないくらいで不便って言うのなら c# に乗り換えたほうがいいと思う
c++は全般的に使い勝手あまりよくないから

295 名前:名前は開発中のものです。 mailto:sage [2017/06/23(金) 07:01:41.36 ID:uGgDuqlH.net]
そういえば3Dの衝突判定機能はいくつかあるけど2Dは無いんだな

296 名前:俺が遊園地だ! ◆ExGQrDul2E mailto:age [2017/07/08(土) 18:53:42.86 ID:PjfJpjf3.net]
pythonで入力ゲームを作ってます。

DXライブラリの、
 VisualC# 用パッケージ

で、ゲームパットは正常に動きますか?

pygameのゲームパットが難しいので、そちらが使えたら使おうかと思いました。

297 名前:俺が遊園地だ! mailto:sage [2017/07/08(土) 19:17:30.02 ID:PjfJpjf3.net]
普通に使えた。
32bitだから64bitにしたらの不安が有ったけど、心配し過ぎでした。

お騒がせしました。
どうも、です。

298 名前:名前は開発中のものです。 mailto:sage [2017/08/01(火) 16:41:53.80 ID:2q48AiqK.net]
リファレンスのTellMovieToGraphのサンプルを参考に
LoadGraphでaviファイル読み込んでDrawGraphで映像を描画するプログラムを試してみたら
タスクマネージャで確認したところ動画の再生中はディスク使用量が常に100%近くなってしまうのですが
これはそういうものなんでしょうか?

299 名前:名前は開発中のものです。 mailto:safa [2017/08/04(金) 16:38:59.69 ID:tsG7+X9W.net]
DXライブラリを使ってC++で
アドベンチャーゲームを作ろうと思っています。
今時のノベルゲームでは無く、ファミコン時代のアドベンチャーゲームです。
今まではアクションゲームやシューティングゲームを作って来まして、
アドベンチャーは初挑戦なのでちょっと不安なんです。

企画だのシナリオだのの前に、まずはシステムや
アドベンチャーゲームを構成するプログラミングから考える必要がありますよね?
しかし、現段階でそれらを考えると、完全に独学のオリジナルになり、
凄く面倒なものを完成させてしまうかもしれません。
自分としては、ひな形とまでは言いませんが、
参考にできるものや、定石を学ぶ方法を模索しております。
なにかありませんか?サイトでも書籍でも構いません、教えて下さい。

300 名前:名前は開発中のものです。 [2017/08/04(金) 21:34:34.44 ID:nr3e4i5V.net]
githubにソースコード公開して作りながら適度に聞けば?



301 名前:名前は開発中のものです。 mailto:sage [2017/08/08(火) 03:23:59.67 ID:te1eWtCq.net]
ノベルなら公式のサンプルページにある
dxlib.o.oo7.jp/dxsample.html

302 名前:名前は開発中のものです。 [2017/08/10(木) 05:42:09.39 ID:iSPIllot.net]
>>294
ありがとございます
ただ、自分はどっちかっていうと
考え方を知りたいんですよ
アドベンチャーゲーム制作する上での
フラグの考え方や、変数の使い方です。

考えてみると、アドベンチャーゲームって
フラグめちゃ必要じゃないですかね
例えば、調べる項目が増えていくじゃないですか、
話すで選択できる相手とかも。
そして、キャラの台詞も、
質問二回目、三回目で返答内容変えたり。
そーいうの、どう考えて組み立てていけば
いいのかなって、、

303 名前:名前は開発中のものです。 mailto:sage [2017/08/10(木) 16:57:59.32 ID:EVBv0/AO.net]
RPGのイベントも話しかける相手や時期、話しかけた回数とかでサブイベント分岐させたりするじゃん
アドベンチャーゲームだからって専用の特殊な考え方やフラグ管理って必要ないと思う

304 名前:名前は開発中のものです。 mailto:sage [2017/08/13(日) 23:06:22.13 ID:15NIY4cP.net]
定石は無く、ゲームの仕様それぞれに合わせて考えるしかない
仕様が複雑ならより汎用的でいちいち面倒くさい重厚な構造になるし、
仕様が単純なら多少ごり押ししたような方法で手早く必要条件を満たす
そう、答えなきところに答えを出すのがゲームプログラミングというものだ

305 名前:名前は開発中のものです。 mailto:sag4 [2017/08/14(月) 02:28:34.22 ID:hzdvLGH2.net]
>>296
アドベンチャーゲームプレイしたことある?
ノベルじゃ無くてさ。
各シーン(場所)で出現する項目数も決まって無いし
その項目数もある項目を通過するたび項目数が増えるし、
その項目だって、何層もあった先の項目だったりする。
それが各シーンで統一できない状態なわけで、、、、
RPGなんかのフラグと同じじゃない、そんなシンプルに出来ない。

>>297
やはりゴリ押しかあ、、、、

306 名前:名前は開発中のものです。 mailto:sage [2017/08/14(月) 02:55:30.92 ID:TRJCWwIN.net]
場面ごとに専用のフラグや処理を作ると考えるんじゃなくて
進行フラグや取得アイテムに応じて出す選択肢を変えると考えるんだよ
なので仕組み的にはRPGとかと同じと言える

あとはスクリプトデータのフォーマットとか作り方の問題なので
それこそノベルゲームエンジンを参考にすればいい

307 名前:名前は開発中のものです。 mailto:sage [2017/08/14(月) 03:35:49.62 ID:pHE8mMZP.net]
ゲームの詳細が決まってないような段階で
プログラミングを抽象化するのは無謀な上に当事者は歴戦の勇士でもないという
それならいったんごり押しからの脱構築しかあるまい
そうやって作られたサンプルは動く仕様書として人に意見を聞くにも役に立つ

308 名前:名前は開発中のものです。 [2017/08/14(月) 11:01:43.32 ID:vcZ6Fez8.net]
>>298
>RPGなんかのフラグと同じじゃない、そんなシンプルに出来ない。

アンタの作ったRPGってちょっとした分岐も無い完全一本道でつまんないレールプレイングゲームになりそうだな

309 名前:名前は開発中のものです。 mailto:sage [2017/08/14(月) 12:27:23.39 ID:iCSgoKHT.net]
フラグはDBにまとめれば管理手段はどれも共通にできる
sqliteあたりを一通りさわれば可能性を感じられるかと

310 名前:名前は開発中のものです。 mailto:sage [2017/08/14(月) 23:08:47.65 ID:qCrUMcpY.net]
フラグ・クラス(というかセーブデータ・クラス)を作って、シリアライズ・デシリアライズする方法が楽だな
C#のシリアライザーやUnityのJsonでクラスがあれば、クラスまるごと簡単にファイル保存・読込できる
フラグがいくつ増えてもセーブ・ロードのコーディングしなくていい



311 名前:名前は開発中のものです。 mailto:sage [2017/08/16(水) 16:04:52.17 ID:Gx1lkBAt.net]
俺が書いたプログラムを毎回ウイルス扱いして止めようとするのはやめろノートン!

312 名前:名前は開発中のものです。 [2017/12/31(日) 19:25:19.56 ID:/rN76OKL.net]
簡単にお金が稼げる方法興味ある人だけ見てください。

グーグル検索⇒『来島のモノノリウエ』

YF53OEVNGR






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

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

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