トップページgamedev
985コメント286KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/10/04(月) 17:24:47ID:zBoueRHu
Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

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

【過去スレ】
DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
http://pc11.2ch.net/test/read.cgi/gamedev/1238429676/
DXライブラリ 総合スレッド その4
http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
DXライブラリ 総合スレッド その5
http://pc11.2ch.net/test/read.cgi/gamedev/1259912953/
DXライブラリ 総合スレッド その6
http://hibari.2ch.net/test/read.cgi/gamedev/1267108154/
0220名前は開発中のものです。2010/11/11(木) 01:32:11ID:Ryc3tXyz
PS1時代から今までコンシューマゲームは全てC/C++で作られているんだが・・・
0221名前は開発中のものです。2010/11/11(木) 01:34:35ID:k/Bzbm6c
偏見かもしれないがゲーム作るならC/C++ってのは
マシンスペックが今みたいに高く無い時の風潮というイメージ。
0222名前は開発中のものです。2010/11/11(木) 02:00:00ID:nj7qJ4Df
偏見だな。

マシンスペックが高くない時代は、「ゲーム作るならアセンブラ」だ。
0223名前は開発中のものです。2010/11/11(木) 02:04:24ID:DSKqyxfp
>>219>>221
こんな事言う人は珍しいかも
同人・インディーズでゲーム作りたいって夢見て勉強始める人が
言語と開発環境について質問すれば、90%以上がC++以外有り得ないって答えが来るよ
そして何時の時代もJava,C#,VBはゲームには向いていない、HSPはゲーム作れるけど初心者の勉強用で限られた機能しか使えない3Dは絶対無理だというのが大半の意見だ
そして否応無く多くの人がC++に挑んでいく
だからHSPコンテストやJava,C#製のゲーム作品見て疑問に感じるんだ
0224名前は開発中のものです。2010/11/11(木) 02:25:45ID:Lp80ILBS
HSP単体では何も出来ない、Cで書いたDLLが必要になる。いずれ
0225名前は開発中のものです。2010/11/11(木) 03:46:31ID:uCMKcEK9
Luaでいいよ。C++で足回りは実装するけどゲーム自体は別の言語に任せたほうが圧倒的に楽。
0226名前は開発中のものです。2010/11/11(木) 05:25:28ID:7SrpuBKG
フルスクリーンにするとCPU使用率が跳ね上がるのは何故?
同じプログラムのChangeWindowModeでtrueとfalseを変えただけなのに。
マルチコアPCだからフルスクリーン中にタスクマネージャ開いてみて初めて気づいた。
一つのCPUがマックスになっとる。
0227名前は開発中のものです。2010/11/11(木) 06:34:56ID:Q/scnOm+
多分VSync待ち
0228名前は開発中のものです。2010/11/11(木) 07:31:11ID:e394SGyz
開発環境のキャパシティが作品のクオリティーに直結してるような言い方してるのが謎
0229名前は開発中のものです。2010/11/11(木) 07:37:55ID:dBNgfNO0
>>224
可能です。
以上。
はい次の方。
0230名前は開発中のものです。2010/11/11(木) 08:37:55ID:k/Bzbm6c
>>221
別に同人・インディーズなんて縛りを入れたつもりはないんだが・・・
ブラウザゲーでもいいし、誰しもが3Dを触るわけじゃない。
レス内容だけ見ると3D使わないならHSPの方が良いように思えてしまう。

>>229も言ってるけど言語なんて作品内容と関係ないじゃん。
0231名前は開発中のものです。2010/11/11(木) 08:41:42ID:Q/scnOm+
ましてDxLibはCインターフェースのDLLというあらゆる言語で扱いやすいモジュール配布してるしなあ
0232名前は開発中のものです。2010/11/11(木) 09:36:22ID:X/NvVlMo
ん、C/C++で作られたすごいゲームなんてそこら辺にいっぱいあるだろ?
>>217に同意

DxLibで3Dを表示させて動かすとこまでは簡単
機能追加やツール作成して
それなりのゲームを作り終えようとするときつい
現時点ではね
3Dに対応して1年ちょいだろ、あせんなよ
0233名前は開発中のものです。2010/11/11(木) 09:38:24ID:OQVrnJMV
DirectX自体がc形式のインターフェイスで公開されてて、
dll自体、c形式のインターフェイス安定ですしね。

それとは別に幅広いハードで動くように想定するならば、安定してるc択一でしょ。
SDLやluaなんかそうだ。

>>214が書いてるようなcの可読性の話は、プリプロセスと関数ポインタ駆使みたいな所なんだろうな。

てかHSPってようするにインタプリタ型のベーシックだろ?
必要なライブラリは揃ってるみたいだし、作り手の需要にマッチすればHSPで作ればいい話だね。

正直、ゲームのコア部分を作れる人はどんな言語でも作れるでしょw
0234名前は開発中のものです。2010/11/11(木) 10:39:59ID:sjq9Jycp
HSPは構造体と関数ポインタが無いから無理だった
0235名前は開発中のものです。2010/11/11(木) 10:54:07ID:9xVS1cgK
コンピュータ言語も時代とともに変わっていくんだからC/C++もいずれは衰退するだろうけど、
少なくとも現時点では圧倒的な主流。ゲーム分野以外でも。

どうせ1から覚えて勉強するのなら、ほとんど同人ゲームにしか使われないマイナー言語よりは
C/C++をやった方が汎用性があって潰しがきく。

まぁ俺は一向に使いこなせてないわけだが。
0236名前は開発中のものです。2010/11/11(木) 11:18:53ID:sNA7ccKP
各々のニーズに合わせてHSPかC/C++を選べばいいだけのこと
其々一長一短があるってだけでどちらがベターなんてない
0237名前は開発中のものです。2010/11/11(木) 15:26:32ID:DSKqyxfp
>>230
>言語なんて作品内容と関係ないじゃん。
それじゃあJava,C#でもいいんじゃないのって事になるんだけど
でもJavaはゲーム開発に向かない、機能制限で高度な表現が出来ないから駄目って言われるから
より高度な作品を作るために無理してでもC++に切り替えようって言う人は沢山居る
そこでJavaでバリバリ3Dが使えてプロ並みの表現やシステムを見せられたら、どうして?って思っちゃうよ
Java,C#は本当にゲーム開発に使えない言語なのかって
0238名前は開発中のものです。2010/11/11(木) 15:29:02ID:eEG7Kc++
Flashですら立派なゲームと言えるようなものが大量にあるわけで
0239名前は開発中のものです。2010/11/11(木) 16:11:02ID:asx0xGRz
>C/C++って最高に優れた機能を持ったプログラミング言語の筈ではなかったのかな

これは誰に言ってんの?
C/C++以外の言語でゲーム作ろうor作ってたら馬鹿にされて
それがDXライブラリユーザーだったって話?
んでニコ動の観たらしょぼいの多かったと?
0240名前は開発中のものです。2010/11/11(木) 16:26:16ID:+btjdDLD
LL言語がゲーム開発に向かないとかいってる人間は情報が古いだけだからほっとけ
まあ、ID:DSKqyxfpがネット上の古い書き込み(2,3年以上前)を見て勝手に勘違いしてる可能性もあるが
0241名前は開発中のものです。2010/11/11(木) 16:43:04ID:bjGTctLA
言語の機能どうこう言ってるのにC/C++って一括りにしてる時点で釣り
0242名前は開発中のものです。2010/11/11(木) 19:46:31ID:ndQnfG2q
釣りに反応しすぎ
0243名前は開発中のものです。2010/11/11(木) 19:46:50ID:d2rWWJlv
Xboxのインディーズゲームなんか全てC#だけどそこら辺のヘタなフリーのC++製ゲームよりはよっぽど上だろ
できる人は何使っても同じ。
0244名前は開発中のものです。2010/11/11(木) 20:04:20ID:lSdJDzl9
うろ覚えだけどC#しか使えないんじゃなかったか・・・インディーズは

結局、使う人の問題だな
「この言語のせいでかっこいいゲーム作れない><
 僕がダメなんじゃなくて言語が悪いんだ!そうだ!」
と言ってるようにしか見えない
0245名前は開発中のものです。2010/11/11(木) 20:37:49ID:W3Ar9XWp
まだこの話題続いていたのかよ
0246名前は開発中のものです。2010/11/12(金) 19:06:36ID:Izc+C77S
そんな当たり前のことを言うためにクドクド回りくど〜い言い回しでネチネチレスしてたのかよ
これだから日本人は
結論言えよ 小学校で作文書かなかったか?
0247名前は開発中のものです。2010/11/12(金) 19:42:51ID:A0tX93TQ
「たしかに」って言って欲しいだけのレスが多い
0248名前は開発中のものです。2010/11/12(金) 19:45:06ID:yJzUnwS7
>>247
たしかに。
0249名前は開発中のものです。2010/11/12(金) 19:48:19ID:lz6ggLry
>>247
たしかに
0250名前は開発中のものです。2010/11/12(金) 19:49:05ID:hyeX2UnI
>>247
たしかに。
0251名前は開発中のものです。2010/11/12(金) 19:51:49ID:431EpPV4
>>247
たしかに
0252名前は開発中のものです。2010/11/12(金) 22:27:29ID:A2Q0ocUU
やしがに。
0253名前は開発中のものです。2010/11/12(金) 22:51:55ID:rFTFgmLb
屠る
0254名前は開発中のものです。2010/11/12(金) 23:38:14ID:gbuUWr50
言うはやすし、行うはたかし
0255名前は開発中のものです。2010/11/13(土) 07:40:53ID:uX5fbRI5
ひらがなで見ると言いだしっぺのやすし君と、作らされるたかし君に読めた
0256名前は開発中のものです。2010/11/13(土) 22:52:33ID:gWJ/jRll
にしこり
0257名前は開発中のものです。2010/11/16(火) 17:58:43ID:u1hetiBV
やすしはいつも口だけで実作業は全部丸投げだよ。たかしは文句も言わず面倒な作業を黙々とこなしてて偉いと思うね。
0258名前は開発中のものです。2010/11/16(火) 20:48:57ID:LAXu29N4
プログラマ的には正しいのかどうか迷うところだな、たかし
0259名前は開発中のものです。2010/11/16(火) 20:54:22ID:u1hetiBV
そんなやすしに、私はなりたい。
0260名前は開発中のものです。2010/11/16(火) 21:44:25ID:UM1jxdHd
怒るでしかし
0261名前は開発中のものです。2010/11/17(水) 17:19:27ID:4s7mY09u
そこらへんすごいよな >>281
0262名前は開発中のものです。2010/11/17(水) 17:50:36ID:YYjNSsQE
ロングパス期待>>281
0263名前は開発中のものです。2010/11/24(水) 01:02:32ID:xQsYnmWS
>>281
たかしに
0264名前は開発中のものです。2010/11/24(水) 15:34:59ID:/ysmMQ4v
質問です。
7dot×7dotの画像を
DrawRotaGraphで表示させるのと
DrawRotaGraph2でcx,cyに3を設定すれば
同じ画像が表示されると思ったのですが
違う画像が表示されました。
同じ画像を表示させるようにするにはどうすればいいのでしょうか?
0265名前は開発中のものです。2010/11/24(水) 15:35:42ID:vpucFWnU
同じグラフィックハンドルを指定する。
0266名前は開発中のものです。2010/11/24(水) 15:47:17ID:/ysmMQ4v
同じグラフィックハンドルを指定してます
倍率、角度も同じ数値を設定してます。
0267名前は開発中のものです。2010/11/24(水) 15:49:00ID:5H5XiRoi
そういうのはスクリーンショット貼ると簡単に状況説明できるんじゃないかな
0268名前は開発中のものです。2010/11/24(水) 15:57:07ID:vpucFWnU
同じグラフィックハンドルを指定してるのに違う画像が表示されるなら、
間にloadGraphが挟まってるか不正なメモリの書き換えがあるのかのどっちか
02692642010/11/24(水) 16:02:57ID:/ysmMQ4v
http://deaimail.xii.jp/up/src/up2537.bmp
画像アップローダーに画像をアップしました。

・左から1番目はDrawRotaGraphにて回転しないで表示
・左から2番目はDrawRotaGraphにて45度回転して表示
・一番右はDrawRotaGraph2にて中心位置を3、3に設定し45度回転して表示

DrawRotaGraph( 22 , 40 , 1.0f , RAD(0) , GHandle1 , TRUE ) ;
DrawRotaGraph( 32 , 40 , 1.0f , RAD(45) , GHandle1 , TRUE ) ;
DrawRotaGraph2( 70 , 40 , 3, 3, 1.0f , RAD(45) , GHandle1 , TRUE, FALSE ) ;
0270名前は開発中のものです。2010/11/24(水) 16:32:51ID:UfWG7DMl
DrawRotaGraph2F( 70 , 40 , 3.5, 3.5, 1.0f , RAD(45) , GHandle1 , TRUE);

floatつかったらいいんじゃないか
02712642010/11/24(水) 17:56:16ID:/ysmMQ4v
>>270
DrawRotaGraph2F( 70 , 40 , 3.5, 3.5, 1.0f , RAD(45) , GHandle1 , TRUE);
でできましたありがとうございました!

真ん中のドットを指定する場合は
012「3」456
だと思ってました

0272名前は開発中のものです。2010/11/25(木) 18:08:10ID:qwaApSYh
偶数サイズの時はどーしてたんだw
0273名前は開発中のものです。2010/11/26(金) 10:56:43ID:6lzw8Lm/
偶数サイズにはしないとか?
0274名前は開発中のものです。2010/11/26(金) 12:40:15ID:8X19Ayep
DXライブラリでウィンドウを1280x780で表示してるときに
ツクール製のゲームなどを全画面表示にすると
DXライブラリのプログラムが終了する。
0275名前は開発中のものです。2010/11/26(金) 14:24:48ID:j98BRIlo
その辺はさすがにしょうがない気がする
0276名前は開発中のものです。2010/11/26(金) 14:41:58ID:rIJvM/wk
何かが競合してるって事なのかな?
0277名前は開発中のものです。2010/11/27(土) 00:35:08ID:Kg2nuQ19
すいません。LoadGraphToResourceで強制終了する場合があるんですが何が原因か分かりますでしょうか。
プログラムは全く変更せずに、強制終了する場合としない場合があります。

VC++で強制終了時にデバッガ起動すると、
DxLib::GraphColorMatchBltVer2()という関数で落ちてるようなのです。

また逆アセンブル画面では
mov ecx,edi
という行で強制終了しているようです。

何か分かりますでしょうか。
0278名前は開発中のものです。2010/11/27(土) 15:16:55ID:TiTFAo3W
どういう状況で強制終了する?
0279名前は開発中のものです。2010/11/27(土) 15:28:14ID:Kg2nuQ19
プログラム起動直後。

なぜかReleaseフォルダの中のexeをダブルクリックで実行すると落ちない。
そしてなぜか一度Releaseフォルダから実行するとVC++から実行しても落ちない。
再ビルドしてVC++から実行すると落ちる。なんでこんなことになるのかさっぱり分からない
0280名前は開発中のものです。2010/11/27(土) 15:39:39ID:Kg2nuQ19
またウィンドウサイズを変えて再ビルドしてVC++から実行すると落ちなくなったりする
0281名前は開発中のものです。2010/11/27(土) 15:55:49ID:hC8Uxz8I
不定メモリーアクセスで落ちてるんじゃないか?
環境で変わるのはその原因が多い
0282名前は開発中のものです。2010/11/27(土) 17:22:47ID:Kg2nuQ19
リソースが格納されている領域をどこかで壊しちゃってるってことですかねぇ
0283名前は開発中のものです。2010/11/27(土) 17:37:28ID:hC8Uxz8I
壊しているんじゃない、どちらかというと、初期化してない変数を読む。
変数でないところを読む。でしょう
0284名前は開発中のものです。2010/11/27(土) 18:26:42ID:Kg2nuQ19
今気づいたんですが、DXライブラリを新しい版に差し替える前はこのバグは全く発生してませんでした。
で、前のと差し替えてみたら案の定、全く強制終了しなくなりました。
DXライブラリを差し替えたことで壊す領域のアドレスが変わったのか、
ライブラリ自体のバグなのか分かりませんが、とりあえず前の版で進めてみようと思います。
0285名前は開発中のものです。2010/11/27(土) 18:28:56ID:Vs1orcKO
具体的に、今の版と前の版とは どのバージョンとどのバージョンですか?
0286名前は開発中のものです。2010/11/27(土) 18:34:41ID:Kg2nuQ19
3.04から2.24c
0287名前は開発中のものです。2010/11/27(土) 19:05:09ID:o8+yRmGY
俺も変数の初期化し忘れに一票
0288名前は開発中のものです。2010/11/27(土) 19:09:00ID:60+/b29E
DXライブラリのバグだろうから公式に書き込め
バグの発生する最小構成のソース作ってな
0289名前は開発中のものです。2010/11/27(土) 19:20:45ID:YcW+iA1M
まず最新版使ってみたらどうだ
0290名前は開発中のものです。2010/11/27(土) 19:38:25ID:Kg2nuQ19
ちょっとDebug版のDxLibでやってみたら、
DxBaseImage.cppの7961行目の
MOV EAX,[ES1]
で落ちてることまでは分かりました。
0291名前は開発中のものです。2010/11/27(土) 19:52:35ID:yBUBftaS
自分も、DXライブラリのバージョンを上げたら、実行画面のキャプチャが上手くいかなくなったことがあったなあ。
そのあたりで描画に関するシステムが変わったんだろうか。
0292名前は開発中のものです。2010/11/27(土) 20:57:22ID:7mwcXEJP
バージョン上げたらそれなりにチェックしとかないと
後でハマることが割とある
フルスクリーンへの切り替えとか
0293名前は開発中のものです。2010/11/27(土) 21:30:34ID:aLxEp8yG
2.24cって、内部がまだDirectX7の頃のじゃねえの?
0294名前は開発中のものです。2010/11/27(土) 21:48:52ID:1iuknl06
まず環境を書くべきだと思うんだ
0295名前は開発中のものです。2010/11/28(日) 09:43:31ID:ljS2sKij
駅が近くてその割には緑も多く,結構住みやすい環境です。
0296名前は開発中のものです。2010/11/28(日) 10:36:00ID:Ul6znS9a
3Dモデルにモーションつけても
各ポリゴンやオブジェクトって絶対位置データの羅列だよね
モーション以外の首の回転だけしたい場合、自分で回転軸の情報を持って
かつ首から先のデータもオブジェクトとして管理しとかないとだめ?

最初っからボーンでのモーション制御すれば
その辺は楽?
でもボーンからの展開をデフォにすれば処理増えるよね
0297名前は開発中のものです。2010/11/28(日) 11:29:52ID:Ul6znS9a
ところでC#で使う場合、DXライブラリ本体の設定説明がない
C#パッケージの2MちょいしかないDxLib.dll と DxLibDotNet.dllと、DirectX本体だけでいいの?
10M超のC++用DXライブラリはDL不要???
0298名前は開発中のものです。2010/11/28(日) 14:51:49ID:uva/x4Ba
DxLib.csもね
作者、C#版にXMLコメント付けてくれないかなあ
0299名前は開発中のものです。2010/11/28(日) 15:02:04ID:l6k/+RDZ
>>297
>10M超のC++用DXライブラリはDL不要???
ズバリ不要だよ、あれはDLLじゃないしVC++でしか使えない物
.NET用のものはDxLibDotNet.dll(マネージラッパー)とDxLib.dll(DLL化したネイティブライブラリ)の2つがあれば動作できる
ちなみにD言語やほかの言語使う人はC#用同梱のDxLib.dllのみを利用する人も居る
DLLじゃ無いとAPI呼び出せないからね
0300名前は開発中のものです。2010/11/28(日) 15:15:49ID:m3IHKda7
普通にreadmeに使い方書いてあるしw
0301名前は開発中のものです。2010/11/28(日) 15:17:41ID:l6k/+RDZ
追加説明ですが
ライブラリと聞くとどうしてもDLLって考えがちなんだよね
ほとんどのライブラリはDLLで配布されているから
正直VC++用のライブラリは設定とかややこしいと思う
0302名前は開発中のものです。2010/11/28(日) 15:19:58ID:Mtk037/P
日本語でおk
0303名前は開発中のものです。2010/11/28(日) 20:34:40ID:GPARErOo
HSPでいうgsel命令ってないかなあ。
SetDrawScreen( int DrawScreen ) ;でグラフィックハンドルを指定したらイケるかと思ったけど、
DX_SCREEN_BACKを選んだときと同じ動作になるっぽい。(何故か若干重くなるけど)
DX_SCREEN_BACK以外のバッファ画像にDrawGraphとかで描き込んで貯めておきたい。
0304名前は開発中のものです。2010/11/28(日) 20:36:22ID:GeFXchbj
>>303
>>116
0305名前は開発中のものです。2010/11/28(日) 20:44:53ID:GPARErOo
>>304
おお MakeScreen 
そういうのもあるのか
兆dクス
0306名前は開発中のものです。2010/11/28(日) 20:49:02ID:GPARErOo
スマンすageてしもた
0307名前は開発中のものです。2010/11/29(月) 13:46:31ID:HzYnY76j
>>297-298
DxLib.csを使うならDxLibDotNet.dllはいらない
DxLibDotNet.dllを使うならDxLib.csはいらない
0308名前は開発中のものです。2010/11/29(月) 20:30:31ID:sJ2fbJyl
HSP3.2ってC言語とあまり変わらないくらい難しくなってるじゃん
0309名前は開発中のものです。2010/11/29(月) 20:53:13ID:cPWyDYkR
C#使い始めたけどジェネリックスとデリゲート、拡張メソッドがいい感じすね
インターフェイスに拡張メソッド付けると基底クラスに修正入れたみたいになって新感覚だわ
0310名前は開発中のものです。2010/11/29(月) 21:42:25ID:tNdvTPg2
>>308
どんどん拡張されすぎて、初心者向けでなくなりつつあるな。
0311名前は開発中のものです。2010/11/29(月) 22:14:13ID:/JqpG5wI
よくあるパターンだよな。最初機能を限定して入門向けにしたのに
機能不足を補おうと機能を増やしたら、敷居が高くなると。

DXライブラリの公式リファレンスに、全ての関数が存在しない理由の
何割かは、多分この辺の事情なんじゃないかなぁ
0312名前は開発中のものです。2010/11/29(月) 22:24:54ID:6YRFkddo
DXライブラリは、コマンドにランク付けをしなくてはならない。

HSPは、再構成して体系化しなければならない。 継ぎ剥ぎだらけは初心者向け以前の問題
0313名前は開発中のものです。2010/11/29(月) 22:27:07ID:hiHG3jke
HSPの簡単は超初心者でもインストールが簡単という意味だからな
ゲームを作れる程プログラミングに慣れた頃には言語仕様の貧弱さに泣くという狡猾な罠
0314名前は開発中のものです。2010/11/29(月) 22:52:44ID:BHbLz/Ss
お前らDXライブラリなんか使ってないでDirectX勉強しろよw
0315名前は開発中のものです。2010/11/29(月) 22:54:44ID:Z/29+B0D
なんか難しそうだもん(´・ω・`)
win32から学ばなきゃいけないんでしょ?よく分からないけど
0316名前は開発中のものです。2010/11/29(月) 23:06:00ID:1xsfNik1
別にDirectX勉強しなくてもゲーム作れるもんね
俺がやりたいのはゲーム作りであってDirectXの扱い覚える事じゃない
0317名前は開発中のものです。2010/11/29(月) 23:46:14ID:VJvxQjEt
ウィンドウから作るの面倒だもの。
0318名前は開発中のものです。2010/11/30(火) 00:10:29ID:kF2tAR5r
ぶっちゃけ今からDirectX覚えるくらいなら携帯に移植出来るOpenGL4.1覚えた方が良い
0319名前は開発中のものです。2010/11/30(火) 00:50:12ID:RBWDU6I7
まぁ仕事で使わん限りどうでも良いな。
■ このスレッドは過去ログ倉庫に格納されています