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/
196 名前:名前は開発中のものです。 mailto:sage [2017/03/19(日) 15:23:34.43 ID:85gVo7Ly.net] 2dで影作るときってどうすればいいんだ アルファ乗算の値下げながらDrawLineをずらして何本も描画していくのを思いついたけど絶対糞重くなるでしょ
197 名前:名前は開発中のものです。 mailto:sage [2017/03/19(日) 17:46:24.06 ID:McAdhrov.net] 影の形にこだわらなければいいんでないかい
198 名前:名前は開発中のものです。 mailto:sage [2017/03/19(日) 17:59:49.08 ID:iXKgNie2.net] 影ってどういう影なのか分からんけど 例えばスプライトのキャラに影つけるならキャラの形の白黒画像用意してDrawModiGraphで乗算合成とかじゃね
199 名前:名前は開発中のものです。 mailto:sage [2017/03/20(月) 14:37:04.24 ID:PJ3OOU/G.net] スプライト底辺に黒い楕円置くだけやろ それでアクションやマップ作成に支障が出るなら 潔く影なんて捨てる
200 名前:名前は開発中のものです。 mailto:sage [2017/04/09(日) 22:25:04.02 ID:Fu+0leN1.net] マウスの入力についての質問です マウスのサイドボタンの検出はDXライブラリではできないのでしょうか? 調べてみても、サイドボタンがXButton1とかXButton2と呼ばれていることしか得られませんでした こう記述すればできるとか、DXライブラリ以外の実装方法があるとかあれば教えてください よろしくお願いします
201 名前:名前は開発中のものです。 mailto:sage [2017/04/09(日) 22:43:19.29 ID:A8iwvjAh.net] GetMouseInput()じゃダメなの?
202 名前:名前は開発中のものです。 mailto:sage [2017/04/09(日) 22:53:28.69 ID:Fu+0leN1.net] >>195 公式リファレンスを見ながらGetMouseInput()の引数を全部試しましたが、どれを使っても検出されませんでした ブラウザでサイドボタンを使って戻る進むができてるので、自分のサイドボタンが壊れている可能性はないです
203 名前:名前は開発中のものです。 mailto:sage [2017/04/09(日) 23:58:01.43 ID:gIO/ILx4.net] >>196 ttp://dxlib.o.oo7.jp/function/dxfunc_input.html#R5N8 ここ見る限り、GetMouseInputで値取れないってことは 逆にマウスのサイドボタンがキーボードのフックで対処してるタイプかもしれない。 例えば、キーボードのBackSpaceで「戻る」、Shift+BackSpaceで「進む」を表現してるとか。 ttp://dxlib.o.oo7.jp/cgi/patiobbs/patio.cgi?mode=past&no=2247 後は関数自体の使い方に問題があるかもしれないので ここで管理人さんが掲示してる最初のソースコードを試してみるとか。 情報が古いので今も使えるかわからないけど。
204 名前:194です mailto:sage [2017/04/10(月) 00:31:27.44 ID:Yp/MHnmL.net] >>197 ふたつのURLを見て試してみましたが検出されませんでした さらにCheckHitKeyAll()も試してみましたが、これでもサイドボタンは検出されませんでした ふたつ目のURLのように、もしかしたら実装されていない機能なのかもしれないです DXライブラリ製作者さんの掲示板に質問・お願いしてみることにします >>195 >>197 さん、どうもありがとうございました
205 名前:194です mailto:sage [2017/04/11(火) 01:56:20.31 ID:upA/YOkc.net] サイドボタンの検出の件ですが、無事解決しました 自分と同じようなことで悩んでいる/いた方のために書き残しておきます 簡単に言うと、サイドボタンの検出をするにはDXライブラリをバージョンアップする必要があるようです 以下のやり取りを見ていただければ、詳しいことが得られると思います ttp://dxlib.o.oo7.jp/cgi/patiobbs/patio.cgi?mode=view&no=4080
206 名前:。回の質問に関わってくださった皆様、改めてありがとうございました [] [ここ壊れてます]
207 名前:名前は開発中のものです。 mailto:sage [2017/04/12(水) 01:50:35.12 ID:TuryebQE.net] 白地に(アンチエイリアスかかった)黒のアイコンを表示してるんですが これの白地を別の色にすると白地前提のアンチエイリアスが汚くなってしまいます。 白地に黒アイコンのものにアルファブレンドをかけると今度は黒が薄く見えなくなってしまう。。 Dxライブラリの知識ではないかもしれませんが、これを解決する手法のヒントなどありますでしょうか?
208 名前:名前は開発中のものです。 mailto:sage [2017/04/12(水) 02:02:34.21 ID:TuryebQE.net] ごめんなさい書いた直後に自己解決してしまった やっぱりよく調べて書くべきですね・・・
209 名前:名前は開発中のものです。 mailto:sage [2017/04/14(金) 21:46:05.15 ID:bZxpbzr7.net] DXライブラリに関連してるかどうかわかりませんが わからないことを質問してみます。 ファイナルファンタジー14(以下、FF14と略)などのプロが開発したゲームを拝見するとロード時間が短いように感じます 例えばDXライブラリを使って約14,000KBぐらいのMP3ファイルをロードしてメモリに読み込むようにコードを書くと MP3ファイルのロードが完了するまでにコンマ数秒のロード時間が発生します ですが、FF14のタイトル画面でしばらく放置するとプロローグムービーが開始されるわけですが、 内容を見る限り明らかに容量の多いムービーファイルをロードして再生してるように見えるのですが、 実際、FF14のゲームを起動してタイトル画面に移行するまでの時間は僅かです 私からの質問は、大容量のファイルをロードする場合に ロード時間を短く済ませるための技術です DXライブラリでゲーム開発をしてるのでDXライブラリを使用してのお知恵を拝借したい
210 名前:名前は開発中のものです。 mailto:sage [2017/04/14(金) 22:21:37.18 ID:7sRUbSV9.net] 効果音ではなく曲を全部メモリにロードするのは間違ってる ファイルサイズの大きい曲や動画は読み込みながら再生するのが基本 そうじゃないと100GBの動画とかメモリに入りきらないようなものは再生できない
211 名前:名前は開発中のものです。 mailto:sage [2017/04/14(金) 22:38:34.80 ID:bZxpbzr7.net] なるほど、必ずしもメモリにロードしてから再生しなくてもいいという考え方なのか 直接HDDからファイルをメモリーにロードしながら再生(ストリーミング再生)するわけか、 俺は大容量のファイルを分割でメモリに読み込んで 1ループのロード時間を短くする方向で考えていた
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のゲームパットが難しいので、そちらが使えたら使おうかと思いました。