トップページgamedev
981コメント302KB

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

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

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

【関連スレ】
C/C++ゲーム製作総合スレッド Part5
http://toro.2ch.net/test/read.cgi/gamedev/1389798031/
ゲームプログラムなら俺に聞け30
http://toro.2ch.net/test/read.cgi/tech/1388933972/

●DXライブラリではなくDirectXの質問ならこっちへ
【C++】DirectX初心者質問スレ【C】(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1370015791/
0127名前は開発中のものです。2014/09/17(水) 17:10:52.07ID:gtI5fYrc
なるほどなるほど
ありがとうございます!
0128名前は開発中のものです。2014/09/18(木) 00:44:02.99ID:XRtxc/kB
ニコニコにテトリスを1時間で作る動画とかあるね
0129名前は開発中のものです。2014/09/18(木) 05:00:08.85ID:kJzqzu7p
>>126
理由も書かなきゃ

推薦図書/必読書のためのスレッド in ゲ製作技術5
http://peace.2ch.net/test/read.cgi/gamedev/1261811596/l50
0130名前は開発中のものです。2014/09/18(木) 16:34:18.49ID:GlIv3ogX
カクカクに動くテトリスやぷよぷよなら簡単だけど
連鎖アニメーションとか細かいところまでちゃんと作ると結構大変だよ
0131名前は開発中のものです。2014/09/18(木) 17:02:48.82ID:XbxGAqTj
ニコニコにシューティングゲーム作る動画上げたからお前らみろ
今見返すとクソみたいなコーディングしてるけど
0132名前は開発中のものです。2014/09/18(木) 19:08:52.44ID:kZ7C5+ZR
ドットインストールくらいの長さじゃないと見る気しない
0133名前は開発中のものです。2014/09/18(木) 19:32:14.21ID:cgBuwlKb
どこにあるかもわからんわ
0134名前は開発中のものです。2014/09/18(木) 20:44:43.92ID:++v0TKQ6
enchant.jsで10分間でシューティングゲームを作る!
http://www.youtube.com/watch?v=mxZlbGEgsOQ
0135名前は開発中のものです。2014/09/18(木) 22:51:08.90ID:6CO0t862
>>132
なにそれ
0136名前は開発中のものです。2014/09/19(金) 06:36:41.41ID:SD9Sg4bw
>>134
DXライブラリじゃないじゃん
0137名前は開発中のものです。2014/09/19(金) 10:19:22.42ID:3o0yhzrU
それ別人
0138名前は開発中のものです。2014/09/19(金) 10:54:35.58ID:83ZJN6WL
>>137
リンクを貼れ
0139名前は開発中のものです。2014/09/20(土) 13:05:05.19ID:aka1I6g9
命名規則まだ定まってなかったしお察し
http://www.nicovideo.jp/watch/sm20771874
0140名前は開発中のものです。2014/09/20(土) 15:15:47.80ID:HMW0egHR
それ投稿日去年じゃねーか。
0141名前は開発中のものです。2014/09/20(土) 19:10:25.34ID:TAuPoGjy
>>128
これみて「そういや前に似たようなのあげたな」と思ったままレスしたらあんな日本語になった
0142名前は開発中のものです。2014/09/23(火) 11:53:48.77ID:6Yi0Wdjt
Cの入門書ひと通りやっただけの初心者なんだけど
C++もやったほうがいいだろうか

Cの基礎を固めるか
C++もひと通りやるか
DXライブラリでゲーム作って実践の中で学ぶか

書いてて思ったけど上から順に全部やったほうがいいような気がしてきた
0143名前は開発中のものです。2014/09/23(火) 12:10:05.79ID:sI3UBnL4
一番下の一択
0144名前は開発中のものです。2014/09/23(火) 12:39:04.07ID:nZo8o8er
基礎なんて学んだところで全部忘れるのがオチ
0145名前は開発中のものです。2014/09/23(火) 13:47:09.80ID:6Yi0Wdjt
マジかよ
経験詰んだほうがいいのか
0146名前は開発中のものです。2014/09/23(火) 14:10:58.16ID:/BjECccD
いや、全部やっとけ
0147名前は開発中のものです。2014/09/23(火) 15:49:43.27ID:XwMn1A7V
@教科書を読む。
A実技をやってみる。
B教科書を読む。
C実技をやってみる。
この繰り返し。AとBでは理解度が違うのだよ。

最初に、最低限の基礎は教科書を読む。
コマンドの重要さは使ってみないとわからない。
(一度も使わない頻度の少ないコマンドが多数ある。)
0148名前は開発中のものです。2014/09/24(水) 02:18:07.25ID:+FXKSxul
@C言語の文法を学ぶ
Aゲームを作り始める
Bわからない所があったら調べる、概念的な疑問は2chで質問する
0149名前は開発中のものです。2014/09/26(金) 13:37:33.56ID:Gv+ltECi
>>142
>Cの入門書ひと通りやっただけの初心者
ならば戻ってあと1〜2周やったほうがいい

「ポインタとか言う高度な概念はボクには難しすぎたので飛ばしました」
とか言う奴は銃殺じゃ
0150名前は開発中のものです。2014/09/26(金) 15:51:26.16ID:IZj8yxiL
ポインタ飛ばしました(爆
0151名前は開発中のものです。2014/09/26(金) 16:33:56.10ID:Z7LtXd+t
それ俺だ
DXライブラリならだいたいポインタいらないし…
0152名前は開発中のものです。2014/09/26(金) 16:35:23.90ID:4i+955jY
Cから初めてポインタ飛ばすのはないんじゃないかという気もするが
C++&DXライブラリでなら別にポインタ理解せずともゲームは作れるし……。
0153名前は開発中のものです。2014/09/26(金) 17:29:41.72ID:95cJCFeL
未だにポインタが難しいとか言ってる奴がいるのか
0154名前は開発中のものです。2014/09/26(金) 18:07:13.98ID:4i+955jY
自分の視点でしか物事を考えられない人間は、頭が良いか悪いか。
0155名前は開発中のものです。2014/09/26(金) 19:39:25.38ID:J8R2D6KY
ポインタはいろんな解説サイトめぐって自分に合う解説を見つければいい
箱とか住所とか何の暗号だよ普通にメモリとかアドレスでわかるよ
0156名前は開発中のものです。2014/09/26(金) 20:40:48.56ID:+jm288It
組み込み系の本読めばポインタ分かるよ
0157名前は開発中のものです。2014/09/26(金) 20:41:19.15ID:pOmJ11Jv
まともな人間ならポインタ使わないプログラムでもデバッグしてる途中で分かってくるようになる
0158名前は開発中のものです。2014/09/26(金) 21:15:29.07ID:tw8vxNeI
ポインタって、参照とSTL使えればあんまし必要無くね?
0159名前は開発中のものです。2014/09/27(土) 02:23:25.95ID:wImin9kV
参照が理解できるならポインタも理解できるわ
参照用の変数なんだから
0160名前は開発中のものです。2014/09/27(土) 09:30:48.64ID:kJcJq5s3
Cを最初に学んだのはもう15年近く前だけど、
ポインタ「だけ」抽出して理解しようとしてたら、もしかすると自分は今でも覚えてなかったかもしれんなあ。
0161名前は開発中のものです。2014/09/27(土) 10:43:04.39ID:Ei/nc79e
ポインターを使わず、ゲームを1本完成させ、
その後、ポインターを学べば理解される。

教科書だけを100回も読んでも理解されない、実践で意味をなす。
0162名前は開発中のものです。2014/09/27(土) 11:11:11.40ID:WIsXdsZM
Cでポインタを学ぶより、多態っていう明確なメリットがあるC++で学んだ方が
ポインタは感覚的に理解しやすいかもしれない

「ポインタ理解してないけどゲームは作れてるぜ」って人はちょくちょく見るので
そのうちわかればいいやー、ぐらいの気楽な気持ちで構えた方がいいと思う
個人的な考えだけども
0163名前は開発中のものです。2014/09/27(土) 11:59:28.08ID:c0g34cil
ポインタ理解しないで書くコードってグローバル変数使いまくってるとか?
たぶん書いてるコードはリエントラントなコードではないし
構造化とは無縁のコードになると思うが
0164名前は開発中のものです。2014/09/27(土) 13:28:07.75ID:KFKFn22+
俺はポインタ使えるようになった今でもグローバル変数使いまくってるな。
グローバル変数使わないようにと最初は頑張ってたが
作業が遅々として進まなかったので、諦めて使うようになったらさくさく進んだわ。
0165名前は開発中のものです。2014/09/27(土) 14:35:55.93ID:KKZqV0QQ
まあ、個人の開発規模なんてたかが知れてるからな
0166名前は開発中のものです。2014/09/27(土) 16:59:01.77ID:7nOrw/dh
グローバル変数は起動時間ぐらいで全部シングルトンにぶちこんでるな
でも設定入力出力以外でグローバルだと逆に使いにくくない?
同じ文字使えないし
0167名前は開発中のものです。2014/09/27(土) 17:46:50.61ID:WIsXdsZM
変数名被りはnamespaceで回避だ!
0168名前は開発中のものです。2014/09/28(日) 11:58:26.96ID:dB8XvCFo
1つのプロジェクトでフレームワークでもないのに変数名がかぶるってひどい設計だな
0169名前は開発中のものです。2014/09/28(日) 12:31:47.04ID:BLuEfE/Z
被らないようにと余計なプリフィックスが付くよりは良い(かち合いの回避手段がある場合に限る)
そこらへんCだと排除は難しいね、よそのライブラリとかGNUのソースとか見てる限りは
0170名前は開発中のものです。2014/09/28(日) 16:39:55.87ID:Q05CJXuQ
namespaceとかは、Better Cでも比較的使いやすい部類よね?
0171名前は開発中のものです。2014/09/28(日) 19:35:54.06ID:7xToTmbS
そもそも名前がかぶるだのかぶらないだのって経験をまだしたことない俺は
存在意義を理解してないので、使いやすい部類だろうと覚えるのが難しい。
0172名前は開発中のものです。2014/09/29(月) 09:51:34.27ID:r5P0cEIK
>>151
DXライブラリはツクールじゃないんだから
C言語は覚えなきゃならんしポインタも覚えなきゃならんだろ
0173名前は開発中のものです。2014/09/29(月) 13:17:16.05ID:z3IhcVFM
いや、DXライブラリを使えば、C++をBASICの感覚で使えるようになるから、ポインタの知識は必須じゃないよ。
パラメータ渡しに &x とか使う部分はあるけど、ポインタの知識なしでも「そういう記述」と覚えればなんとかなるし。

実際俺がDXライブラリ使い出したのはもう8年以上前のはずだが
ポインタをちゃんと理解して使い出したのは今年に入ってからだ。
0174名前は開発中のものです。2014/09/29(月) 13:54:08.80ID:xHn6rQFZ
ポインタ語るとき、ポインタの用途として、ガチでメモリアドレスとして扱う場合と、
参照(&のことじゃなくて、JavaとかC#のような参照)として使う場合をごっちゃにしたらダメじゃね?

前者で、ポインタ直接インクリメントしたりする機会って、きょうびまともに設計したらありえないでしょ
後者に絞れば難しくない。後者で複雑なのはスタック上の先頭メモリが取れちゃうところだから、
まずスタックとヒープを理解して、変数宣言時の「*」の意味をちゃんと考える。
(つか宣言時に int *a みたいに右に付けて宣言する参考書撲滅しないと無理)
0175名前は開発中のものです。2014/09/29(月) 14:57:54.26ID:z3IhcVFM
>(つか宣言時に int *a みたいに右に付けて宣言する参考書撲滅しないと無理)

そう、それ!
int *a が int* a の事だと知るまで混乱しまくって理解できなかった俺w
0176名前は開発中のものです。2014/09/29(月) 15:01:24.38ID:I1hse244
int* a;
だと、
int* a, b;
とかやらかすおそれがw
0177名前は開発中のものです。2014/09/29(月) 16:15:19.82ID:pXc6jMxM
FILE* fp1, fp2;
0178名前は開発中のものです。2014/09/29(月) 18:46:48.48ID:tl3e/kxw
ま、ポインタが複雑というより
ポインタに関するCの記法がちょっと複雑って感じよなぁ
0179名前は開発中のものです。2014/09/30(火) 09:09:16.01ID:wFIaVLV9
ポインタ使わんとオブジェクトのソートも激重じゃん
0180名前は開発中のものです。2014/09/30(火) 10:48:07.31ID:V5w4TrGN
ポインタはどこかのサイトとかじゃ使用例ほぼないよね
だから必要無いようにみえる
0181名前は開発中のものです。2014/09/30(火) 11:13:39.64ID:sAlqtWVP
ポインタにかぎらず、どこかのサイトとかで
プログラミング技術を具体的にどのようにゲームに活かすか、が
例として挙げられてたのを見たことがない。
0182名前は開発中のものです。2014/09/30(火) 11:52:44.65ID:xbWpxeXA
よっしゃ俺が動画作ってあげたるで
0183名前は開発中のものです。2014/09/30(火) 12:42:08.16ID:dtRt5PP2
>>176
int * a;としとくのが一番平和になれる
面倒がってint*a;って書くこともあるけどな
0184名前は開発中のものです。2014/09/30(火) 13:32:58.30ID:rvN6aZge
>>183
コンパイラについてくるヘッダもそんな感じだね。
あとはtypedefするとかね。
0185名前は開発中のものです。2014/09/30(火) 14:43:46.07ID:5cH//qYH
なんだか乗算に見えてくるぜ…
0186名前は開発中のものです。2014/09/30(火) 14:59:37.00ID:wFIaVLV9
乗算に見えてしまうから俺は
int* a; 派

>>176みたいな失敗する可能性もあるけど、「intポインタ型の変数を宣言した」と直感的にわかるし
0187名前は開発中のものです。2014/09/30(火) 17:54:26.28ID:mwUi8RRB
ポインタでここでまで盛り上がるなら、構造体はどうでしょうか
大きめな構造体を関数に渡すときなどはポインタで渡そうとか思ったりしない?
0188名前は開発中のものです。2014/09/30(火) 17:56:33.34ID:rvN6aZge
基本的にポインタは構造体のためにあるようなものだと思ってる
0189名前は開発中のものです。2014/09/30(火) 18:48:02.56ID:0qbTMI9V
全部クラスにしてるから構造体は1つもない
0190名前は開発中のものです。2014/09/30(火) 18:52:17.14ID:wFIaVLV9
C++ではクラスも構造体も一緒やがな

クラスのポインタをSTLコンテナに詰めて管理するのがC++でのゲーム制作の基本スタイル
0191名前は開発中のものです。2014/09/30(火) 19:50:56.21ID:VVszFaWR
最近じゃ右辺値参照を適切に使ってクラスそのままをぶち込むのが良いんじゃ
生ポインタは使わずまずスマートポインタに入れてからだろうし
0192名前は開発中のものです。2014/09/30(火) 21:17:36.34ID:v7J7m4tO
ここ何のスレだっけ??
0193名前は開発中のものです。2014/09/30(火) 21:19:48.81ID:OKCDREkE
【関連スレ】
C/C++ゲーム製作総合スレッド Part6
http://peace.2ch.net/test/read.cgi/gamedev/1404815419/
0194名前は開発中のものです。2014/09/30(火) 22:18:49.41ID:TF627+yg
int* a; にするなら
ポインタは1変数ごとに宣言を分ける
っていうオレオレルールを作れば問題ない
0195名前は開発中のものです。2014/10/01(水) 00:30:38.42ID:qgLYnjgk
>>193
ぶっちゃけそこよりこっちのがゲームの話題出る気がする
0196名前は開発中のものです。2014/10/01(水) 03:45:22.24ID:v7E8DSB8
>>195
ゲームの話題を取り扱うのはどっちのスレも一緒でしょう、ゲ製なんだから。
言語に強く関係するものはC/C++スレで話すべき。
そもそもC/C++スレは、このスレでDxLib関係ない言語の話題があまりに多かったから
分離したスレッドなので、こういう時に活用しなきゃ意味がない。
0197名前は開発中のものです。2014/10/01(水) 06:25:04.22ID:K81TnbF8
向こうとこっちの話題が逆だな
でもCは親クラスみたいなもんだしどうでもよくね
0198名前は開発中のものです。2014/10/01(水) 07:16:38.41ID:9mgwKApq
DXライブラリ使ってゲーム作るだけなら別にポインタ知識いらないよねってのが発端だしなぁ。
0199名前は開発中のものです。2014/10/01(水) 17:24:36.01ID:uuy2Z6Tf
>>194
メンバなら省略せずに書く
ローカルなら適当に
0200名前は開発中のものです。2014/10/01(水) 18:08:52.84ID:VfkrkwpC
そもそも別名のポインタを並べて宣言するのって、テストコードでしか使わない気がする
0201名前は開発中のものです。2014/10/05(日) 09:26:38.99ID:Xq3Ljg/V
メニュー上のボタンが押されたら引っ込むようなアニメーションってひとつひとつ座標操作してんの?
0202名前は開発中のものです。2014/10/05(日) 12:19:27.65ID:FJjC3FoM
俺は行き先の座標指定
少し行き過ぎて戻ったり、加減速、回転と往復するのは別で指定(x,y,mode,loop)
0203名前は開発中のものです。2014/10/05(日) 16:50:25.31ID:URSELbpt
なつかしいなぁ
いま個人でどんなのが作れるんだろ
0204名前は開発中のものです。2014/10/05(日) 17:54:55.63ID:FltECbie
妙に金かけてそうなグラとか、丁寧なアニメーションとか個人には難しいよな
0205名前は開発中のものです。2014/10/05(日) 23:24:51.54ID:AI9/5XlH
3Dゲーム作ってるんだけど、モデルとモーション適用ってどうやってる?
俺は3Dモデル(モーションなし)とモーションのみ(作成後モデル削除)のxファイルを作って3Dモデルに無理やり適用してるんだけど
これでも一応モーション間を繋げる動作は作れた
0206名前は開発中のものです。2014/10/11(土) 19:01:20.17ID:W7Sb4d1k
hoge = nullかもしれない変数
if(hoge == NULL || hoge->GetBool())

こういう処理ってどう書いてる?
これぬるぽされないかな?
0207名前は開発中のものです。2014/10/11(土) 19:09:39.39ID:lsFdanHR
たいていはhoge!=null && hoge->...じゃね
0208名前は開発中のものです。2014/10/11(土) 20:08:35.09ID:VK47TOFi
俺も>207と思ったが、意味変わってこないか?w
0209名前は開発中のものです。2014/10/11(土) 22:13:33.36ID:6yyHZQXp
心配ならifを2回に分ければいいんじゃないかな
0210名前は開発中のものです。2014/10/12(日) 23:31:08.06ID:oQ+29e01
最近DXライブラリのプログラムをデバック実行するとウィンドウが生成された後かなりの確率でフリーズするんだけど俺の環境だけ?
0211名前は開発中のものです。2014/10/12(日) 23:54:26.02ID:l58ZCXw4
デバッグの方にファイルがないとか言うオチじゃないのか
0212名前は開発中のものです。2014/10/17(金) 09:14:41.15ID:eTYGYirO
一つ教えてください
キャラごとにMV1_COLL_RESULT_POLY_DIM HitDim;で3D床壁の当たり判定をしてるんですが、
これをfor文で毎フレーム全ての床壁と判定することになるわけですが、重さ的に大丈夫なんでしょうか?
めちゃくちゃ重くなる気がするのですが…
なにか他に良い方法はありますか?
0213名前は開発中のものです。2014/10/17(金) 12:49:59.99ID:x/Nu43Q/
辺り判定のポリゴンをブロック単位に分けて距離の近いブロックのだけ判定させるのが基本

抜け対策としてマージンが十分ある場合に限るが判定を1フレーム毎に抜く
特に壁なんて床よりは重要度低いし押し返しの処理がしっかりしてればスムーズに動く
0214名前は開発中のものです。2014/10/17(金) 14:06:40.28ID:eTYGYirO
ありがとうございます
キャラの周りだけ抜き出すんですね…やってみます
0215名前は開発中のものです。2014/10/20(月) 15:48:31.33ID:kVlpbG4F
初歩的過ぎる質問かもしれませんが
マップの図形を画面外に描画するようなコードを書くとグラボが壊れたりしますか?
画面外は描画しないように書かないとだめですか?

公式サイトのチュートリアルのコードだと
何かボタンが押されたらDxLib_Endが呼ばれて終了ですが
もしウィンドウの右上のバツを押して終了した場合
DxLib_Endの終了処理がされないと思うのですが問題有りますか?
0216名前は開発中のものです。2014/10/20(月) 20:09:47.75ID:mUIJ555b
どっちも問題ない。
0217名前は開発中のものです。2014/10/21(火) 04:30:49.94ID:z82gjqWS
右上のバツが押されたらループ関数のチェックが通らなくてそこから普通に終了処理に行くと思うぞ
0218名前は開発中のものです。2014/10/21(火) 14:34:55.39ID:zem1g9wG
Windowsゲームプログラミングでも読んで勉強しな
0219名前は開発中のものです。2014/10/22(水) 02:35:16.74ID:bCfp++79
>>216
>>217
気になってたので助かりました。ありがとうございます。
バツが押されたことをプロセスメッセージが拾うのかな
勉強になりました
0220名前は開発中のものです。2014/10/22(水) 21:43:50.45ID:hFcfDOrV
せめてブレイクポイントくらいは使えるようにしたいね
0221名前は開発中のものです。2014/10/23(木) 09:47:30.23ID:VAxuJujr
DXライブラリ使ってたら馬鹿にされたんですがどうすれば見返せますか?
0222名前は開発中のものです。2014/10/23(木) 12:28:54.62ID:xT2yY6J5
>>221
その時何も言い返せなかったなら見返すなんて無理。
0223名前は開発中のものです。2014/10/23(木) 13:30:36.79ID:iXMIVfId
>>221
DirectXを勉強して自分でライブラリを作りましょう
0224名前は開発中のものです。2014/10/23(木) 16:06:29.29ID:2pIRIw5t
目的が達成できれば道具はなんだっていいと思うがな
0225名前は開発中のものです。2014/10/23(木) 16:22:43.03ID:hSbj0hCQ
Direct3Dはオワコンだから何かOpenGLのライブラリに鞍替えする
0226名前は開発中のものです。2014/10/24(金) 00:47:24.15ID:Bq5wza1V
OpenGLこそオワコンだろ
数年後に大規模仕様変更されるのに
■ このスレッドは過去ログ倉庫に格納されています