トップページ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/
0108名前は開発中のものです。2014/09/06(土) 13:17:42.10ID:zrqAxM/c
編集してるから、予期しないメモリ位置に
想定外の数値が入ってそれが原因になってるとかは?
0109名前は開発中のものです。2014/09/06(土) 15:41:41.31ID:Ee3iC7cM
>>108
編集と入っても中断さえすれば
改行を入れて消すだけでもたまに起こるんだ
0110名前は開発中のものです。2014/09/06(土) 20:12:34.10ID:hgs4tl8d
編集ってエディットコンティニューのことかいな
気にするな
0111名前は開発中のものです。2014/09/06(土) 20:14:32.36ID:h5n9y8kP
どこかでヒープ破壊起こしてる、メモリリークではないから検出は容易じゃないが
関数をポインタや配列とか間違えそうなところを違う書き方でして入れ替えてくとか
0112名前は開発中のものです。2014/09/08(月) 01:29:12.97ID:471fazm/
>>107
 横レスですが。
 昨日日中、構造体配列用にmallocで確保した領域を読み書きしようと
したら使用出来ず、どうしたものかと1〜2時間頭を捻った挙句にリザーブだけ
して使っていなかった管理フラグにNOUSEと未使用フラグ立てたらアッサリ
正常動作しました。
 確保しただけでは内容不定なの忘れてましたよ(^^;
0113名前は開発中のものです。2014/09/10(水) 01:10:20.63ID:FVByK81l
>>98
だけどswitchでなんとか出来た
あざます!
0114名前は開発中のものです。2014/09/12(金) 00:05:54.91ID:j+f8+B6I
DXライブラリでフルスクリーンを使ってるとWindousボタンを押すと
メニューにフォーカスが移ってフルスクリーンじゃなくなっちゃうじゃないですか。
あれを回避するために起動中Windousボタンを無効化するっていう関数があるって
聞いたことがあるんですが見つからないんです

見当はずれなこと言ってるかもしれないのですがわかる人いませんかね。。。
0115名前は開発中のものです。2014/09/14(日) 21:35:28.36ID:XfoA2tY8
それはユーザー側でやることじゃないの?
ゲームプログラムで出来なくされてたらそうしたい時に不便じゃん
0116名前は開発中のものです。2014/09/15(月) 00:38:29.49ID:2+MsrvDt
XYZが決定キャンセルアクションかつ操作が激しいゲームじゃない限り不必要に思える
それでもキーコフィ作ればいいだけだと思うが
0117名前は開発中のものです。2014/09/15(月) 01:22:51.12ID:976WGFRE
F10キーと勘違いしてるんじゃないかなぁと思いつつも、わからないので聞き流してくれていい。
0118名前は開発中のものです。2014/09/16(火) 13:21:15.09ID:Ttsd27yj
名前入力させたい時ってどうやってやるの?
ユーザーのIMEみたいなの使って
0119名前は開発中のものです。2014/09/16(火) 13:47:20.96ID:+YQqgl3w
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&;no=2966
0120名前は開発中のものです。2014/09/17(水) 02:01:30.28ID:05K+swSw
シューティングゲームとかブロック崩し作るよりも落ちものゲームって遥かに作るの難しくないですか?
最近簡単なシューティングゲームを作り終えて落ちものゲームで挫折した者ですが
0121名前は開発中のものです。2014/09/17(水) 03:28:36.74ID:Foib6qyR
落ちものっていったってテトリスぷよぷよあたりのシステム作るだけなら楽でしょ
テトリスの接触回転処理ぐらいか
0122名前は開発中のものです。2014/09/17(水) 03:33:54.14ID:HMsmczdq
作るの自体は簡単。
アイデアを出すのは難しい。というか無理w
0123名前は開発中のものです。2014/09/17(水) 07:54:30.17ID:cJRAlG1E
まずテトリスやぷよぷよのシステムが組めないってのはただ単に基礎の力が足りないんですかね....
頑張らな
0124名前は開発中のものです。2014/09/17(水) 12:19:40.97ID:2baRZfUF
どちらも研究されて模倣品のソースが溢れているから
細かい挙動とかは無視してもまず自分で組んだうえで
他のソースを数種類ほど見ればより洗練された書き方ができるようになるね
いきなり他人のを見ちゃうとそれに思考が引っ張られるし
0125名前は開発中のものです。2014/09/17(水) 13:59:38.33ID:sWSCfEQa
完成品見ながら作ると色々大変
機能ばらして個々のものができてから組み合わせればいい
0126名前は開発中のものです。2014/09/17(水) 16:33:05.14ID:GCBY48wx
平山尚のテトリス本はおすすめできない
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->...じゃね
■ このスレッドは過去ログ倉庫に格納されています