DXライブラリ 総合スレッド その19 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2016/01/05(火) 23:44:29.77ID:fkNSYSkc
Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

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

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

●DXライブラリではなくDirectXの質問ならこっちへ
【C++】 DirectX初心者質問スレ Part39 【C】 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1418438785/
2017/04/09(日) 22:25:04.02ID:Fu+0leN1
マウスの入力についての質問です

マウスのサイドボタンの検出はDXライブラリではできないのでしょうか?
調べてみても、サイドボタンがXButton1とかXButton2と呼ばれていることしか得られませんでした

こう記述すればできるとか、DXライブラリ以外の実装方法があるとかあれば教えてください
よろしくお願いします
2017/04/09(日) 22:43:19.29ID:A8iwvjAh
GetMouseInput()じゃダメなの?
2017/04/09(日) 22:53:28.69ID:Fu+0leN1
>>195
公式リファレンスを見ながらGetMouseInput()の引数を全部試しましたが、どれを使っても検出されませんでした
ブラウザでサイドボタンを使って戻る進むができてるので、自分のサイドボタンが壊れている可能性はないです
2017/04/09(日) 23:58:01.43ID:gIO/ILx4
>>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
後は関数自体の使い方に問題があるかもしれないので
ここで管理人さんが掲示してる最初のソースコードを試してみるとか。
情報が古いので今も使えるかわからないけど。
198194です
垢版 |
2017/04/10(月) 00:31:27.44ID:Yp/MHnmL
>>197
ふたつのURLを見て試してみましたが検出されませんでした
さらにCheckHitKeyAll()も試してみましたが、これでもサイドボタンは検出されませんでした

ふたつ目のURLのように、もしかしたら実装されていない機能なのかもしれないです
DXライブラリ製作者さんの掲示板に質問・お願いしてみることにします

>>195 >>197 さん、どうもありがとうございました
199194です
垢版 |
2017/04/11(火) 01:56:20.31ID:upA/YOkc
サイドボタンの検出の件ですが、無事解決しました
自分と同じようなことで悩んでいる/いた方のために書き残しておきます

簡単に言うと、サイドボタンの検出をするにはDXライブラリをバージョンアップする必要があるようです
以下のやり取りを見ていただければ、詳しいことが得られると思います

ttp://dxlib.o.oo7.jp/cgi/patiobbs/patio.cgi?mode=view&no=4080

今回の質問に関わってくださった皆様、改めてありがとうございました
2017/04/12(水) 01:50:35.12ID:TuryebQE
白地に(アンチエイリアスかかった)黒のアイコンを表示してるんですが
これの白地を別の色にすると白地前提のアンチエイリアスが汚くなってしまいます。
白地に黒アイコンのものにアルファブレンドをかけると今度は黒が薄く見えなくなってしまう。。
Dxライブラリの知識ではないかもしれませんが、これを解決する手法のヒントなどありますでしょうか?
2017/04/12(水) 02:02:34.21ID:TuryebQE
ごめんなさい書いた直後に自己解決してしまった
やっぱりよく調べて書くべきですね・・・
2017/04/14(金) 21:46:05.15ID:bZxpbzr7
DXライブラリに関連してるかどうかわかりませんが
わからないことを質問してみます。

ファイナルファンタジー14(以下、FF14と略)などのプロが開発したゲームを拝見するとロード時間が短いように感じます
例えばDXライブラリを使って約14,000KBぐらいのMP3ファイルをロードしてメモリに読み込むようにコードを書くと
MP3ファイルのロードが完了するまでにコンマ数秒のロード時間が発生します

ですが、FF14のタイトル画面でしばらく放置するとプロローグムービーが開始されるわけですが、
内容を見る限り明らかに容量の多いムービーファイルをロードして再生してるように見えるのですが、
実際、FF14のゲームを起動してタイトル画面に移行するまでの時間は僅かです

私からの質問は、大容量のファイルをロードする場合に
ロード時間を短く済ませるための技術です
DXライブラリでゲーム開発をしてるのでDXライブラリを使用してのお知恵を拝借したい
2017/04/14(金) 22:21:37.18ID:7sRUbSV9
効果音ではなく曲を全部メモリにロードするのは間違ってる
ファイルサイズの大きい曲や動画は読み込みながら再生するのが基本
そうじゃないと100GBの動画とかメモリに入りきらないようなものは再生できない
2017/04/14(金) 22:38:34.80ID:bZxpbzr7
なるほど、必ずしもメモリにロードしてから再生しなくてもいいという考え方なのか
直接HDDからファイルをメモリーにロードしながら再生(ストリーミング再生)するわけか、
俺は大容量のファイルを分割でメモリに読み込んで
1ループのロード時間を短くする方向で考えていた
2017/04/14(金) 23:52:44.66ID:7sRUbSV9
分かりやすく例えると、oggとかmp4なんかはzipで圧縮したような形式だから
再生するために元のwavに解凍すると10倍〜100倍になる
メモリにロードするってことは、この巨大化したのを入れるってことだから
効果音のような小さなものでない限りは避けるべき
2017/04/15(土) 01:19:09.73ID:RtlOPePd
ありがとう
おかげで疑問が解消されました
2017/04/15(土) 03:44:15.65ID:3FEYykSP
あとはシングルスレッドの場合はどうしてもロード時に固まってしまうだろうから、マルチスレッドでロードを行うようにするのはどうだろうか?
2017/04/15(土) 04:40:43.98ID:RtlOPePd
マルチスレッドということはC++11を扱うということですね
Core i7を乗せてるのでCore UPUに対応したゲーム開発も興味はあるが
技術的に敷居が少し高いので今はまだいいかな
最新のC++コンパイラも必要になるし
ゲームのプレイヤーがCore i7 や Core i5のCPUを乗せてないと威力は発揮されない
2017/04/15(土) 09:19:30.20ID:+pklgBp/
短い場合(メモリー上にwave展開しない)
SetCreateSoundDataType( DX_SOUNDDATATYPE_MEMPRESS );
長い場合(ストリーミング再生)
SetCreateSoundDataType( DX_SOUNDDATATYPE_FILE );
どちらか書く
2017/04/15(土) 09:44:18.23ID:+pklgBp/
http://jgame.blog.fc2.com/
あんたこのブログの人やろ頑張りや
2017/04/15(土) 09:52:16.21ID:PBMOYWDr
ちなみに画像や音声のマルチスレッド読み込みはDXライブラリ標準機能で
SetUseAsyncLoadFlag(TRUE)使えば簡単よ
2017/04/15(土) 11:40:04.16ID:3FEYykSP
C++11とか使ってませんが、ロード画面作るときにマルチスレッドを使いました。
あくまでロード時に凍るのを防ぐために使用するのでCPUがどうとかは無いですよ。
process.hをインクルードしてResumeThreadさせるだけで実装できます。
2017/04/15(土) 13:07:47.39ID:poy2AG7G
何故だろう、急に挙動が変わった。
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;
}
2017/04/15(土) 13:25:19.21ID:JeCVIRaX
> ptr = (char*)malloc(size+1);

この+1はなに?
本題とは関係ないけど
2017/04/15(土) 14:44:24.56ID:qT8WsIhy
DXLib 知らずに覗いてるだけでどう挙動が変わったかわからんので >>213 の疑問には答えられないが、
>>214
おそらくファイルのく中身は表示などに使う文字列だという前提だと、
文字列の終端は NULL で止める必要があるのでその 1byte 分を余計に確保している。
(今どきのコンパイラは malloc での確保と同時に \0 埋めをしてくれるのかもしれないけどちょっと危ないな。)
readbin() という名前からして文字列と言っても中身はバイト列と推測できるので、
ファイルの中身には終端 NULL を入れずに記録しているんだろう。
216213
垢版 |
2017/04/15(土) 15:14:07.66ID:YQ+vHcvV
+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 );
お騒がせしました。
2017/04/18(火) 20:45:54.94ID:bJnkmQcY
ホラーだ
2017/04/29(土) 01:27:41.32ID:/YvMYhCO
DXライブラリはgifアニメーションを再生できないのでしょうか?
DXライブラリ以外ならgifアニメ再生できたりするのでしょうか?

「こう記述すればできる」など教えてください
2017/04/29(土) 06:09:30.20ID:SAAy66wJ
gifをそのまま読み込んで表示はできなかったはず
連番画像に変換するか、もしくは動画にするかだな
2017/04/29(土) 16:48:35.10ID:/YvMYhCO
>>219

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

回答ありがとうございました
2017/04/29(土) 17:59:31.45ID:xrI1QiYS
LoadDivGraph使えば連番画像が配列に入るから簡単やで
っていうか簡単なエフェクトなら回転拡大縮小やブレンドパラメータの変更で表現できるんじゃない?
2017/04/29(土) 18:40:06.93ID:EkJNcx6r
>>218
一応C#版ならサンプル転がってるね
規制でurl貼れないけど検索すればすぐ見つかる
でも221が言うようにDivGraph系使った方が楽だと思う
2017/05/05(金) 10:05:26.44ID:NXBeyHLp
なるほど初期化とかのタイミングで一旦展開するのがエンジン的には普通なのか
2017/05/05(金) 15:40:34.37ID:yUv3bLae
最初から専用形式化アニメGifくらいにしか出力できないツールとかでもない限り、
手間は大して変わらんだろうしな
2017/05/07(日) 15:21:12.75ID:If6RMgU7
結局誰かが何処かで一所懸命動かしてるわけだしな
2017/05/09(火) 08:34:24.56ID:K1FQSBk+
アニメーション用の画像を一枚にまとめた後ってLoadDivGraphでもDrawRectGraphでもアニメーションにできるけど
どっちの方が軽いとかってあるのかな
2017/05/09(火) 09:38:53.90ID:2FI5hhgE
内部的にはほぼ同じ処理だと思う
どちらも一度のドローコールでまとめて描画するから速度はほとんど変わらないはず
228名前は開発中のものです。
垢版 |
2017/05/10(水) 11:42:59.61ID:/rFUV6kx
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を掛けたもの、ループ分割
2017/05/10(水) 15:05:35.39ID:AO63hxX7
最適化ですっ飛ばしてる可能性は?
2017/05/12(金) 23:43:37.67ID:6uV/zlUc
どうやら周回遅れの嵐がまた戻ってきたようだな
2017/05/25(木) 10:49:09.36ID:EtJgGmd+
DrawRotaGraphやDrawExtendGraphで画像を拡大するとかなりジャギジャギになってしまうんですけど拡縮のアルゴリズムを変更みたいなことはできないんでしょうかね?
2017/05/25(木) 11:21:21.11ID:yyfkJ8TD
SetDrawMode(DX_DRAWMODE_BILINEAR)
2017/05/25(木) 12:32:57.53ID:EtJgGmd+
>232
リファレンスで確認したらまさにそのことが書いてありますね…
ありがとうございます
234名前は開発中のものです。
垢版 |
2017/05/26(金) 00:14:22.05ID:rlfOgZbA
>>232
定数がラベル化されてて覚えたくないっぽい感じでいいなw
235名前は開発中のものです。
垢版 |
2017/05/26(金) 01:39:42.52ID:L1fgx/JI
ちょっと何言ってるかわかりませんね
236名前は開発中のものです。
垢版 |
2017/05/27(土) 18:30:23.12ID:XdDfcHqh
初心者なんですけど、メインループ内で音声ファイルをboolフラグ使って再生すると、
音声ファイルが再生終了するまで全体の動きが止まってしまうんですけどこれどうやったら回避できますかね?
237名前は開発中のものです。
垢版 |
2017/05/27(土) 18:52:38.31ID:XdDfcHqh
>>236

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


}
ちなみにこんな処理です
2017/05/27(土) 20:33:09.58ID:brkGgSz8
DX_PLAYTYPE_BACKじゃなかったっけ
239名前は開発中のものです。
垢版 |
2017/05/27(土) 22:17:05.92ID:XdDfcHqh
>>238
なんとまあ・・・
ありがとうございました
リファレンスしっかり見てから質問するようにします!
2017/05/29(月) 02:06:45.40ID:p1cVfpaJ
ヒカル 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年はやらないとここまではいかないだろうけど才能とアイデアと
企画力と継続力があればが大儲けできる可能性がなくもない
まだまだ他の職種に比べれば競争率は低いからオススメ
顔出したくないならラファエルみたいに仮面つければいい
2017/06/08(木) 10:48:04.41ID:emR6NVdG
スマホ版にもゲームパッドの関数がある
なんだこれ
2017/06/08(木) 21:06:56.21ID:dElL6uGO
スマホ用ゲームパッドで使うんだろ
2017/06/09(金) 09:39:03.45ID:DE3YMeBF
UnityやUE4がある今日、DXライブラリで作るメリットってなんだろう?
自分、DXライブラリで開発したいなと思い色々と調べていたんですが、調べれば調べるほど、UnityやUEが出てきてちょっと悩み中です。
2017/06/09(金) 14:11:39.94ID:k1bCPNPm
PCが貧弱でUnityやUEだと重い、ぐらいかな
今から勉強するならあまりメリットは無いと思う
2017/06/09(金) 15:55:37.40ID:/AOIMXs3
>>243
Unity, UE4 は作者からコードを引き離す方向で進化しているのに対して、
DXlib はガッツリコードを見せた上で分かりやすくという方向で、ある意味教育的なもの。
一度 DXlib で組めていれば GUI ツールでも中身がどう動いているか想像付くので
コードの内容もきっちり学びたければ無駄にはならないと思う。
2017/06/09(金) 18:21:17.93ID:SGYRsMDo
>>243
俺の場合はVBで使えるからという理由だった
2017/06/11(日) 14:59:07.03ID:0zNsaXZ9
>>243
こういう質問する奴はどうせUnity使うんだろw
Unityの方がグラ綺麗だし、アセットストアで何でも売ってる
ふんっ! せいぜいユニティちゃん使ってろよ
ちっとも全然まっっっったくうらやましくなんかねーからw
248名前は開発中のものです。
垢版 |
2017/06/12(月) 03:41:17.25ID:yK1l09Lv
SetCreateSoundDataType(DX_SOUNDDATATYPE_FILE);で音をストリーミング再生するよう設定してるのに
タスクマネージャでディスクの欄を見ていても殆ど0%から動きません
メモリ使用量は1GB→60MBになったのでちゃんとストリーミング再生にはなってると思います

ストリーミング再生はディスクに負荷がかかると思っていたんですが、最近のHDDだと特に問題無いんですか?
249名前は開発中のものです。
垢版 |
2017/06/12(月) 12:43:11.91ID:AYi3m4Li
無能ほど負荷とか並列化にこだわる法則
250名前は開発中のものです。
垢版 |
2017/06/12(月) 15:21:18.37ID:eyqFi/CQ
そら無能じゃなきゃこんな板来ないしこんなライブラリ使わんからな
2017/06/14(水) 10:21:57.41ID:v0unCno/
>>242
スマホにパッドがあったのか
嬉しい気もするけど携行性を重視した端末にでかい周辺機器をつなぐって奇妙な発想だな
252名前は開発中のものです。
垢版 |
2017/06/14(水) 10:43:34.66ID:U2C2l7BT
今時の開発者は青歯も知らんのか
2017/06/14(水) 18:41:50.21ID:ZT9fgl64
パパパパパパッドでタブレットwwwwwwww
2017/06/14(水) 21:02:14.77ID:zAFWgH33
最近だとレイフォースがパッド対応で話題になってなかったっけ
2017/06/15(木) 22:56:09.32ID:LMseahLk
ゲーム作りどころかプログラミング初心者です。

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

ちなみに今はC言語の苦C一通り終わらせて独習C++の半分くらいまでC++の学習を進めてます。
2017/06/15(木) 23:41:14.12ID:1b6ck/rE
わからないところが出てきたらC++の学習に戻ればいいんじゃない
2017/06/15(木) 23:55:33.06ID:LMseahLk
>>256
ではある程度C++について学んだ後はさっさとゲーム製作の学習に入っておkってことですかね?
ゲーム製作で必要になる主なC++知識って何なんでしょうか
2017/06/16(金) 00:24:27.54ID:O/SyLshJ
そんなものは無い
Cだけでもゲームは作れる
2017/06/16(金) 01:33:12.34ID:m1zHP4Hn
>>258
いやいやあんまりからかわないでくだしあ…
C++のクラスなんかの知識は必要だと聞いてます
2017/06/16(金) 01:48:42.44ID:cvFevhqX
いや要らないしそういう設計になってる
2017/06/16(金) 08:22:53.08ID:brlS6E6B
C++ってやや低級気味な言語だしオブジェクト指向なんかガン無視でフォートランみたいなコード書いても何も問題ない
262名前は開発中のものです。
垢版 |
2017/06/16(金) 08:33:02.27ID:SGqKL1uB
DXライブラリ使うならC++知らず、C言語の知識のみでも何とかなりそう
2017/06/16(金) 09:52:41.57ID:Pb7QpWU4
そもそもCで出来なくてC++で出来ることってクラス以外に何があるんだっけ
2017/06/16(金) 12:01:13.26ID:Ogq0H9i2
分かって使うなら C++ の方が便利機能があるのできれいなコードが書けることが多いけど
知らないで無理に C++ を使うととんでもないコードができるので、それなら素直に C で書いた方がいい。
あと C++ クラスでデータ管理していて DXLib に渡すときに無茶なキャストをかけるとかいらない操作をあれこれしそうな予感がする。
>>261 が言ってるとおりコンパイラが C++ だとしても別に C++ の機能を無理に使う必要はないし、普通に C のコードが通る。

それを踏まえた上で C と C++ を比較するなら、
ゲームでもデータの格納、その操作が頻繁に起きるから C++ でクラスが使える点は非常に大きいと思う。
メモリ管理、文字列の扱い、ファイルなどの I/O 操作はどう考えても C++ が楽。
C++ だとループ処理もイテレータを使えるのが大きい。かなりすっきりする。
本当は例外が扱えるのも大きいけど DXLib 使うならライブラリ側の戻りを見とけばいいから余り問題はないか。
265名前は開発中のものです。
垢版 |
2017/06/16(金) 15:08:58.97ID:gDyvoaaV
  ●●●ケネディ大統★領は何故、死なねばなら★なかったのか?●●●
  http://jbbs.livedoor.jp/bbs/read.cgi/study/3729/1226114724/53

  この掲示板(万有サロン)に優秀な書き込みをして、総額148万円の賞金をゲット★しよう!(*^^)v
  http://jbbs.livedoor.jp/study/3729/ →リンクが不良なら★、検索窓に入★れる!
2017/06/16(金) 21:05:08.34ID:m1zHP4Hn
>>264
詳しい回答ありがたや…

C++の知識は正しく用いるなら便利だけど必須ではないという認識でよろしいですかね。
とりあえずC++のクラス全般について一通り学んだらDXライブラリとかゲームプログラムの勉強に入ろうと思います。
他の方も回答してくれた方ありがとうございました
また何かあったら質問するかもしれませんがその時はよろしくお願いします
2017/06/17(土) 05:06:47.45ID:ANL8I6I5
ジェネリック・プログラミング
処理の抽象化

デザインパターン

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

Boost
268名前は開発中のものです。
垢版 |
2017/06/17(土) 18:30:16.74ID:FgtAF55Q
>>267
役に立たないとは言わないがプログラミング技術が好きな人向けで
ゲーム作る事と乖離してる
2017/06/17(土) 18:45:10.75ID:nFYpcEEx
計算量くらいは意識しないとまともなゲーム作れないだろ
270名前は開発中のものです。
垢版 |
2017/06/18(日) 01:35:21.10ID:PbdM1gWB
ループ条件分岐さえあれば組めないプログラムなんてないんやで
2017/06/18(日) 04:57:30.53ID:ml1ulS2M
職業プログラマじゃないんだから、まずは動くもんが作れればいいんだってば。
それで遅かったらもっと勉強していい方法見付ければいいわけで。
2017/06/18(日) 19:05:08.47ID:abC7Vm3t
個人製作レベルの小さなゲームだとオブジェクト指向の概念自体いらないっちゃいらないとは思う
でもわかりやすく作る武器としてC++を覚えたいなら
個人的な現状の感想を書いてみると

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

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

ゲーム作る上ではこんな文法より当たり判定とか回転とかのアルゴリズムの方がよっぽど大事ってのは思う
273名前は開発中のものです。
垢版 |
2017/06/18(日) 20:43:53.58ID:nanwc7sE
重要なのは何を作るか詳細な挙動やパラメータまで考えることだろ
技術的なことはいざとなったら誰かに相談すれば済む
2017/06/18(日) 21:13:19.18ID:LRmtmPIY
ゲームなら継承は超便利
2017/06/18(日) 21:28:36.39ID:j1fZdyvt
クラス(構造体+メンバ関数)と継承は知っといた方が得だと思う
std::vectorは超絶におすすめ
変なエラーやバグ(配列の不正アクセス)が無くなる

多態性とかテンプレートは、二作目作るとき等に勉強すると「こんな便利な方法があったのかー」と感動するし、理解しやすい
2017/06/18(日) 22:07:10.75ID:xRdxAyjX
>>272
いる項目の半分くらいはまだ未習ですね…

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

>>275
クラスはある程度文法学習し終わりました
std::vectorはなんのことかさっぱりです
2017/06/18(日) 23:14:19.78ID:QSbBBvPO
当たり判定は別にいいんだけど本当に難しいのは判定後の反発、押し出し処理
いまだにメーカーごとに意見が分かれる部分
2017/06/19(月) 00:02:59.64ID:p2tfhpKK
有名な物理エンジン使ってるゲームでも
めり込んでおかしな動きしてることあるからな
2017/06/19(月) 11:28:36.29ID:pl3YSaeH
>>276
ゲームじゃvector一番使うべ
2017/06/19(月) 16:14:57.42ID:oi8Si/s0
>>278
Colision detectionで一発解決

そう、unityならね(´・ω・`)
2017/06/19(月) 17:51:36.60ID:gZSjLbfM
>>279
まじか
よくわからなくなってきたので中途半端でやめずにとりあえずC++を一通りやってからゲーム制作勉強します…
2017/06/19(月) 19:03:22.39ID:p2tfhpKK
>>281
>>256>>271
2017/06/20(火) 10:12:50.70ID:Usr/uqTE
いくらC++を勉強したところでDXライブラリはゲームエンジンとしての限界点が低いから
とくにグラが汚いから覚悟しておくことだ
最新の C++ 11 できっちり組んだとしても、遊ぶ人から「これレトロゲーム?」って言われる(笑)
2017/06/20(火) 10:28:18.35ID:39gfrlUT
素のシェーダを使えばそりゃ
2017/06/20(火) 13:23:34.57ID:T/7j0XdF
デフォのトゥーンは輪郭線が綺麗で好きだな
いくつかトゥーン作ったけど結局デフォに落ち着いた
2017/06/22(木) 23:00:29.04ID:2Sd5aLez
javaやC#の標準ライブラリですら
rectangleクラスのintersectで簡易当たり判定は楽にできるみたいなんだよね

思想の違いだとは思うがゲームライブラリならそれくらいあってもいいとは思った
2017/06/23(金) 00:42:29.61ID:IOEH1G7m
MFCにCRectクラスのIntersectRectがあるよ
まあしかし四角の当たり判定がないくらいで不便って言うのなら c# に乗り換えたほうがいいと思う
c++は全般的に使い勝手あまりよくないから
2017/06/23(金) 07:01:41.36ID:uGgDuqlH
そういえば3Dの衝突判定機能はいくつかあるけど2Dは無いんだな
2017/07/08(土) 18:53:42.86ID:PjfJpjf3
pythonで入力ゲームを作ってます。

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

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

pygameのゲームパットが難しいので、そちらが使えたら使おうかと思いました。
2017/07/08(土) 19:17:30.02ID:PjfJpjf3
普通に使えた。
32bitだから64bitにしたらの不安が有ったけど、心配し過ぎでした。

お騒がせしました。
どうも、です。
2017/08/01(火) 16:41:53.80ID:2q48AiqK
リファレンスのTellMovieToGraphのサンプルを参考に
LoadGraphでaviファイル読み込んでDrawGraphで映像を描画するプログラムを試してみたら
タスクマネージャで確認したところ動画の再生中はディスク使用量が常に100%近くなってしまうのですが
これはそういうものなんでしょうか?
2017/08/04(金) 16:38:59.69ID:tsG7+X9W
DXライブラリを使ってC++で
アドベンチャーゲームを作ろうと思っています。
今時のノベルゲームでは無く、ファミコン時代のアドベンチャーゲームです。
今まではアクションゲームやシューティングゲームを作って来まして、
アドベンチャーは初挑戦なのでちょっと不安なんです。

企画だのシナリオだのの前に、まずはシステムや
アドベンチャーゲームを構成するプログラミングから考える必要がありますよね?
しかし、現段階でそれらを考えると、完全に独学のオリジナルになり、
凄く面倒なものを完成させてしまうかもしれません。
自分としては、ひな形とまでは言いませんが、
参考にできるものや、定石を学ぶ方法を模索しております。
なにかありませんか?サイトでも書籍でも構いません、教えて下さい。
293名前は開発中のものです。
垢版 |
2017/08/04(金) 21:34:34.44ID:nr3e4i5V
githubにソースコード公開して作りながら適度に聞けば?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況