トップページ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/
0071名前は開発中のものです。2014/06/22(日) 13:40:54.45ID:zHFG6Ll8
出来なくはないけど無理だと思った方がいい、くらい。
ただまあ一度動くものを作っているなら、別環境で作り直すのは1から作るよりかなり楽だと言われる。
0072名前は開発中のものです。2014/06/22(日) 14:05:50.54ID:KRRMIvqp
それができるなら俺も嬉しいんだがなぁw
0073名前は開発中のものです。2014/06/22(日) 17:50:06.00ID:Jg7jKIio
>>70 71
とりあえずDXで作ってもまったく無駄ではないんだな
不安だったが、とりあえずDXでゲーム作ってみるわ
ありがとな
0074名前は開発中のものです。2014/06/23(月) 18:16:15.35ID:Ec3fEIWc
ではまずアナログコントローラに対応するところから
0075名前は開発中のものです。2014/06/25(水) 22:26:33.35ID:ovk8upN1
DXライブラリはどこがデラックスなんですか?
0076名前は開発中のものです。2014/06/25(水) 22:29:40.53ID:QFgGACi/
DXはデラックスのことじゃないよ、ダイレクトエックスのことだよ
0077名前は開発中のものです。2014/06/26(木) 10:05:32.69ID:l4nW5Ath
カローラDXはどこがデラックスなんですか、、、いまDX無いかw
0078名前は開発中のものです。2014/06/26(木) 18:58:27.17ID:ut9i6M1M
ここはゲーム制作技術の板だよ、車種・メーカーの板じゃないよ
0079名前は開発中のものです。2014/06/27(金) 04:06:55.69ID:gjGMhsu+
ガンダムDXはどこがデラックスなんですか?
0080名前は開発中のものです。2014/06/27(金) 13:02:02.07ID:x6V+KX0J
DXライブラリをインクルードするとexeのサイズが2MBに膨れ上がるだろ?
マツコデラックスは膨れ上がってるだろ?
そういうことだよ
0081名前は開発中のものです。2014/07/15(火) 06:24:35.97ID:4Rdasykb
俺のゲームもデラックスになってくれればいいのに
0082名前は開発中のものです。2014/07/15(火) 10:28:07.65ID:Ca0vaENi
コピペダンジョンで苦労も2倍だな
0083名前は開発中のものです。2014/07/28(月) 20:09:12.62ID:Yi1KZATN
VisualC++2010Express使ってるんだけど、
毎回毎回、プロジェクトのパス設定とかが面倒です・・・・
0084名前は開発中のものです。2014/07/29(火) 01:55:14.48ID:1wPPCWxZ
コピペ用の空プロジェクト作っとけよ
0085名前は開発中のものです。2014/07/29(火) 11:27:35.40ID:14beL3MB
Microsoft.Cpp.Win32.user.props
0086名前は開発中のものです。2014/08/01(金) 16:08:58.47ID:jQNDcwZV
FileRead_gets( char *Buffer, int Num, int FileHandle ) ;について教えて欲しいのですが。

1行10文字のファイルを読み込ませる際にNumに要素数+3以上の値(13以上)を指定しないと読み込んだデータにズレが生じます

DXライブラリのリファレンスを見ると”Num で指定されたサイズ−1バイト分の文字列があった所までの文字列を Buffer に格納します。”とあります。
要素数分10バイト+ヌル文字1バイト+改行1バイト+【Num で指定されたサイズ−1バイト分】を補う分の1バイトで計13バイト必要という事でしょうか?

↓のように10*6の大きさ、外枠のみ’1’を入れてるマップデータが、2行目が1文字ずれ3行目に改行のみデータが入ります。

1111111111
 1000000001

1000000001
 1000000001

1000000001
 1111111111
0087名前は開発中のものです。2014/08/01(金) 16:49:39.13ID:+VgBk+mh
>>86
デバッグでブレークポイントとかで止めて中見たりするといいよ。
改行コードがCR+LFの2バイトになってるから計算あわないだけだと思うよ。
ぴったり読む用途にはgetsじゃないほうがいいと思うけどね。
0088名前は開発中のものです。2014/08/08(金) 20:56:03.81ID:w9d3IvLS
PlayMovie、基本ちゃんと動くんだけど開始前のほんの1フレームくらい
別のクラスで読みこんどいた画像が出てきちゃうんだけど何か分かる方いませんかね
0089名前は開発中のものです。2014/08/08(金) 21:43:39.12ID:w9d3IvLS
ごめん、自己解決しました
0090名前は開発中のものです。2014/08/10(日) 15:01:56.03ID:PdJkQlf7
DXライブラリってDirectX10, 11じゃないの?
0091名前は開発中のものです。2014/08/11(月) 04:34:34.01ID:hQXWieCL
永遠に9のままです
0092名前は開発中のものです。2014/08/12(火) 04:15:00.22ID:KWUFNF09
4.xになるまでは無理じゃない?
0093名前は開発中のものです。2014/08/14(木) 15:26:11.65ID:gCZeKuNv
3Dの壁の当たり判定が難しすぎる…
誰か簡単にできてる人はいない?手順だけでいいんだが
0094名前は開発中のものです。2014/08/14(木) 15:40:01.17ID:HOaTDFrp
>> 3Dの壁の当たり判定が

見えるモデルと、当たり判定のエリアを別にする。当たり判定モデルはシンプルに

AABBによる重なり判定、直線との交差検出、を使う。

壁に対して、滑る時に引っかかり、動けなくなる。
これは、壁に光を当てて反射するような方向へ移動させる。
0095名前は開発中のものです。2014/08/15(金) 09:17:23.84ID:DzMLfvtv
3Dの当たり判定があまいとこんなんなるでぇ〜(21:50付近)

https://www.youtube.com/watch?v=h4lf5wBIutU
0096名前は開発中のものです。2014/08/17(日) 21:45:46.80ID:5Y+5Tg57
バウンティボックス?
0097名前は開発中のものです。2014/09/02(火) 01:57:18.72ID:BW3X6mYv
3DSで配信されてる魔神少女、もとはDXライブラリで作られてたんだな
0098名前は開発中のものです。2014/09/03(水) 18:23:21.85ID:HpKvxe2r
DXライブラリで簡単なシューティング作ってるんだけど、
OPでムービーと音楽流してスタートボタン押すとゲームのメインにとぶってしたいんだけど
うまくいかないっす
どういうふうにコード書けばいいのか誰か教えてください
0099名前は開発中のものです。2014/09/03(水) 18:34:38.80ID:I4+Fp+oG
ゲームループはどうやってる?
普通にループでやってれば要領わかると思うけど
0100名前は開発中のものです。2014/09/03(水) 19:41:56.79ID:c0kUy45b
switch文理解してればできるよ
0101名前は開発中のものです。2014/09/03(水) 21:41:07.60ID:g5k9hpa+
>3Dの壁の当たり判定が難しすぎる…
自分の場合は
3点で構成されるテクスチャの頂点座標をそれぞれABC
それにぶつかる今のフレームでの点の座標Dと
その点の前のフレームの座標Eとして保存しておいて

@ABCの法線ベクトルとAD・AEベクトルとでそれぞれ内積を取り
それぞれの内積値の符号が反対であればABC無限平面との貫通を確認

A次にABCの「テクスチャ上での貫通か?」の確認処理としては
ABCの法線ベクトルに対して、DAB・DBC・DCAの法線ベクトルとで
それぞれ内積を3個算出し
同じく
ABCの法線ベクトルに対して、EAB・EBC・ECAの法線ベクトルとでも
それぞれ内積を3個算出し
その6個の内積値が全て正の値である時に
点D・EはABCテクスチャ平面を法線方向に伸ばした三角柱内に存在を確認とし

この@A条件をともに満たしているときに
テクスチャ面上貫通判定にしている

昔作って使いまわしていたコードを読み直してみたらこんな感じだった
もっといい方法が有りそうな気もするが思いつかない・・・
0102名前は開発中のものです。2014/09/04(木) 10:44:20.49ID:dmacLK7g
>>101
そもそもそのその三角形はどうやって探すんで?
0103名前は開発中のものです。2014/09/04(木) 15:35:02.32ID:6AeNAEUh
難しいよな
せめて3Dの平面の壁じゃなかったら簡単なのに
0104名前は開発中のものです。2014/09/06(土) 10:38:50.97ID:avL6B4Kh
VS C++2010でやってるんだけど
一度でもbreakpointで処理止めて編集するとデバッグ終えるとき(最後の行まで正常に処理できている)に低確率でフリーズするようになった
処理を止めなかったときにフリーズは一度も起きていない
原因分かるエスパーいません?
再インストールとかウイルスソフト変更とかも試したけど直らない
0105名前は開発中のものです。2014/09/06(土) 11:10:24.76ID:AxxHSbmN
初期化してない変数やポインタはありませんか?
0106名前は開発中のものです。2014/09/06(土) 11:21:47.69ID:avL6B4Kh
メモリリークとか出口は監視してるけど、初期化しないとエラーが起きるの?
不定値が入るだけだと思ってた
詳しく教えてほしいです
0107名前は開発中のものです。2014/09/06(土) 11:28:26.29ID:AxxHSbmN
いや、初期化してない事で不定値が入る事で予期せぬバグが発生するようになる
事はよくある事だから
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でも比較的使いやすい部類よね?
■ このスレッドは過去ログ倉庫に格納されています