DXライブラリ 総合スレッド 2008
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2008/10/25(土) 17:37:53ID:BCFbbKcoGUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリの詳細ついては
http://homepage2.nifty.com/natupaji/DxLib/
を参照して頂きたい。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
過去スレ:DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
0428名前は開発中のものです。
2009/01/18(日) 22:57:46ID:d7+8UZEGありがとうございます
やることとしては>>426に書いたとおり
>描画先のウィンドウハンドル(ここではノベゲー)を取得して、内部でDXライブラリ製のソフトを呼び出した時
>ウインドウを新規で作らず、いまあるウインドウを描画先に指定(取得したハンドルを用い)みたいなことができれば可能なのかな?
描画先を既存のウィンドウにすればいいんですよね
これってどうやるんだろう・・・・
0429名前は開発中のものです。
2009/01/18(日) 23:10:15ID:3xnYsDJWできるぞ、(ただし、元のプログラムが自作かせめて、DLLを使えるのが前提だが。)
>>426
>ウインドウを新規で作らず、いまあるウインドウを描画先に指定(取得したハンドルを用い)みたいなこと・・・・
は、難しいと思う。
見た目的には、同等の事も可能だと思うが、実際にそのウィンドウに・…はややこしいと思う。
(内部的にその元アプリがどんな事してるか次第だけど、DXlib使うとDX内処理もあるから
フック掛けて完璧に使えるとは思えないから。)
>>425じゃないけど、参考になりそうな。
ttp://funini.com/kei/vs/named_pipes.shtml
ttp://www.fides.dti.ne.jp/~tokai/vc/vcpipe.html
ttp://msdn.microsoft.com/ja-jp/library/cc430103.aspx
ttp://msdn.microsoft.com/ja-jp/library/cc429587.aspx
ttp://msdn.microsoft.com/ja-jp/library/cc429021.aspx
ttp://www.02.246.ne.jp/~torutk/cxx/sharedmemory/win32_shmem.html
ttp://www.alpha-net.ne.jp/users2/uk413/vc/VCT_FileMapping.html
0430名前は開発中のものです。
2009/01/18(日) 23:14:26ID:d7+8UZEGベースプログラムは吉里吉里かSystem4.0を考えてるので多分dllの読み込みは可能かとも居ます
実際色々プラグイン公開されてるし
色々ありがとうございます
調べてみます
0431名前は開発中のものです。
2009/01/19(月) 10:34:52ID:X5SZs/u2亀だがやってみた
とりあえず途中から敵固すぎワロタ
ボンバーなしじゃ無理な気がww
俺のシューティングは随分昔にシューティングスレに投下してから弾幕に凝っててあんまり見た目の進歩がないぜ
0432名前は開発中のものです。
2009/01/19(月) 17:31:41ID:yZM1xSvo固さは面とレベルの兼ね合いにしたいと思います。
最近見かけばかりに力を入れてて肝心のゲーム内容は…。
0433名前は開発中のものです。
2009/01/19(月) 17:42:09ID:IkXU3fd80434名前は開発中のものです。
2009/01/19(月) 20:32:05ID:j6ExWModゼビウスみたいのなら楽勝だろとか思ってました、ごめんなさい
0435名前は開発中のものです。
2009/01/20(火) 11:58:06ID:dMyWKq6o質問なのですが、ゲームのBGMで
最初に戻って繰り返すときBGMをとぎれてしまわないようにする方法はありますでしょうか
例えばRPGの戦闘音楽のようにずっと放置していてもきれいにループするような方法です
0436名前は開発中のものです。
2009/01/20(火) 12:40:01ID:/e+EiVUH俺はやったことないけど
http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_sound.html#R8N13
これできれいにループするんじゃない?
0437名前は開発中のものです。
2009/01/20(火) 12:51:49ID:dMyWKq6oありがとうございます!勉強してチャレンジしてみます!
0438名前は開発中のものです。
2009/01/20(火) 15:22:07ID:A5DSi9Sdあと、姑息な手段で申し訳ないが
MIDIのようにサイズを気にしなくて済むようなものなら、最初から10分続くファイルにしてしまうという手もある。
0439名前は開発中のものです。
2009/01/21(水) 22:18:20ID:2s5lyHkK>>435がファイル形式を言ってないのでわからないけどwavなら綺麗にループする。
0440名前は開発中のものです。
2009/01/22(木) 15:31:01ID:Xr8Aa3cYたぶん>>435が使っているファイルは曲の最初と最後が繋がってないやつなんだろう。
だから、普通にループ指定すると音が途切れずにループしない。
けど、市販ゲームでもこういうBGMあるし、俺は気にしないけどな
0441名前は開発中のものです。
2009/01/22(木) 17:11:41ID:q+tQcJ7A無音時間の全くない完全なシームレスループにしたい場合、下のページが参考になると思います。
ttp://www13.plala.or.jp/kymats/study/MULTIMEDIA/waveOut_multibuf.html
API使わないといけないのとWAV限定ですが。
0442名前は開発中のものです。
2009/01/22(木) 17:15:00ID:9/RQfEqVFF10のジェクト戦みたいにボーカルいれた音楽をBGMとして使えそうだな
すげえ
0443名前は開発中のものです。
2009/01/22(木) 17:34:21ID:Bh2KGHfp「最初に戻って」って書いてあるからなぁ。
でも途切れる方法が書いてないところが色んな憶測を呼ぶよね。
まぁここまでで解決方法出たと思うからいいんだけどさ…。
0444名前は開発中のものです。
2009/01/26(月) 16:05:31ID:2mzhNCi2'/O2' と '/RTC1' は同時に指定できません ってコンパイルエラーが出る。
プロジェクトの設定でO2→Odにしてるんだけれども。
RTC1の方を切ればコンパイルできるんだけど、なんでだー!
0445名前は開発中のものです。
2009/01/30(金) 19:51:30ID:Wy6ip41+どうやったらできるんでしょうか?
0446名前は開発中のものです。
2009/01/31(土) 06:27:02ID:mi0nZoft0447名前は開発中のものです。
2009/01/31(土) 08:53:12ID:dFEgAXD4どこかにそれっぽいサンプルがあったような……。気のせいかな。
0448名前は開発中のものです。
2009/01/31(土) 09:07:06ID:KRmQ80GsSetGraphModeで直接指定ができるね
なんとかして使ってるモニタの解像度を取得して当て込めば出来るかも
だけど処理速度は厳しいだろうな
0449名前は開発中のものです。
2009/01/31(土) 10:47:56ID:rbcO49fB右上の最大化のボタンを押せば、標準的なアプリと同じような
動作にしたいです、
画面全体にきっちり広がって間違ってマウスでドラッグしても動かないような感じです
0450名前は開発中のものです。
2009/02/01(日) 00:40:50ID:XJc1/NhO0451名前は開発中のものです。
2009/02/01(日) 10:34:54ID:lmI58fq8普通にフルスクリーンモードじゃなくてウインドゥモードにすれば
いいだけじゃないの?
そういう関数あったと思うけど。
0452名前は開発中のものです。
2009/02/01(日) 12:40:27ID:8EnnwsB0最大化ボタンも押すことができない
これを変えたいってことなら
サイズの手動変更の場合は>>448
あとはSetUseASyncChangeWindowModeFunction()で最大化ボタン有効化だと思うんだが
ちょっとこっちの使い方が分からないorz
0453名前は開発中のものです。
2009/02/01(日) 22:16:17ID:2n+Oqc2F480x640で起動することってできますか?
0454名前は開発中のものです。
2009/02/01(日) 22:20:08ID:90n+ELwGhttp://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_graph.html#R4N1
0455名前は開発中のものです。
2009/02/01(日) 22:30:43ID:2n+Oqc2Fできた!
ありがと^^
起動時に640x480になってるのが気になるけど、まいっか
0456名前は開発中のものです。
2009/02/01(日) 22:34:51ID:90n+ELwGもっと早い段階で呼び出せば良いよ
DxLib_lint()より上で呼べば最初からそのサイズになる
0457名前は開発中のものです。
2009/02/04(水) 01:44:28ID:igrRGuw3C++でプログラミングするにあたって、横スクロールアクション(マリオとかロックマンみたいな)
の作り方のサンプルを紹介してるサイトってないですかね?
↓シューティングゲームについては四聖龍神録さんのページが非常に役に立ちました!
http://dixq.net/rp/
0458名前は開発中のものです。
2009/02/04(水) 09:38:48ID:2Cf0XhT+公式HPのサンプル
0459名前は開発中のものです。
2009/02/04(水) 14:27:42ID:CO3XfILg0460名前は開発中のものです。
2009/02/04(水) 16:43:08ID:KduT8vdnC++でのサンプルはどこにもない。と言い切っていい。
JAVAだが、考え方としてはいいかもしれないのでこれを見て、自分で考えてはどうか。
http://javagame.skr.jp/index.php?FrontPage
これもC++ではないが、考え方としては(以下同文
http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/231306/?ST=swd-tech
やはり、自分で考えて試行錯誤するしかないのではと思う今日この頃
0461名前は開発中のものです。
2009/02/04(水) 21:32:21ID:6meQrl/q次に構造体をグローバルにして使いまくって
次に構造体をポインタで書き換えるようにして
引数に構造体のポインタがどんどん増えていき
次に各構造体の先頭のポインタをまとめた構造体をつくってそれを引数にしたんだけど
だいたいみんなこんな感じ?
0462457
2009/02/04(水) 22:20:44ID:igrRGuw3レスサンクスです!
>>460
まさにこういうページ探してました!
横スクロールと敵の制御とか参考になりまくりです。
言語は問わないんですが、STGの情報は多いのにACTはなかなか無かったので。
↓自分でも探してたんですが専門学校(?)のゲームの作り方ページもよかったです。
http://rina.jpn.ph/~rance/directx8/
Web上だとなかなか情報が無いから、専門学校の
教科書が欲しいなんて思っちゃいました。笑
0463名前は開発中のものです。
2009/02/05(木) 03:42:29ID:GjXLMUdb前から気になってはいたんだけど、構造体とかグローバルで使うのって何かまずいことでもあるの?
ポインタにする利点をずぶの素人の俺にも分かり易く教えて欲しい。
引数で構造体を直に渡してなければ余り関係ない気がしてるんだけど。
0464名前は開発中のものです。
2009/02/05(木) 07:27:08ID:rTUW0rFPいちいち考えないといけないんだよな
プログラムの複雑さが増すので乱用は慎しめと言われてる
0465名前は開発中のものです。
2009/02/05(木) 08:09:33ID:ojur6QxZ注意して組む自身があるならグローバルでも問題ないと思う。
0466名前は開発中のものです。
2009/02/05(木) 08:48:42ID:9t4FKbe4俺は、あえて 「昨日の自分は他人」だと思って、
可能な限り、必要性のない限り グローバル変数は使わない方がいいと思うけどね。
(特に、携帯機器とかメモリ節約とか求められてない時は余計に。)
>>463
“普通の”ポインタの利点は、微妙だな。ただ、まだまだある所じゃ、速度的に値のコピーよりも
参照して行った方が効率が良かったり、処理の記述がしやすくなったり。
ただ、あるClassのポインタ(関数ポインタ含む)は処理の委譲に頻繁に利用される。
利点として、全体像が綺麗にできるし、コードの混雑が大きく減る。
cf.Strategy パターン Decorator パターン 双方向リスト 動的確保
0467名前は開発中のものです。
2009/02/05(木) 09:31:40ID:Qc5+f5Cjグローバル構造体自体は普通に使うよ。
グローバルクラスが普通に使われるように。
C++においては構造体=クラスだからね。
問題は、構造体に使われるpublic変数なんだと思う。
GetXX(),SetXX()にすればいいって問題でもないとは思うけど、もしクラスならメンバ変数は基本的にみんなprivateでしょ?
0468名前は開発中のものです。
2009/02/05(木) 10:35:01ID:4io8tQ0w0469名前は開発中のものです。
2009/02/05(木) 17:44:21ID:B8Cz6uqn461です
俺は今年からプログラミング初めた素人
まだグローバル変数使って困ったことはないけど
勉強しつつゲーム製作やってるから今はポインタ使って試してる
次はクラスってのを使ってみる予定
0470名前は開発中のものです。
2009/02/06(金) 00:33:01ID:O6HFVvT00471名前は開発中のものです。
2009/02/06(金) 00:35:30ID:O6HFVvT0すいません
DXライブラリで検索したら即効見つかりました
お騒がせしました
0472名前は開発中のものです。
2009/02/06(金) 00:57:03ID:O6HFVvT0下のようなコードで何か問題ってありますでしょうか
動画が真っ黒の画像で再生されてしまいます
test.aviはexeファイルと同じディレクトリにあります
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
PlayMovie( "test.avi" , 1 , DX_MOVIEPLAYTYPE_BCANCEL ) ;
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
0473名前は開発中のものです。
2009/02/06(金) 08:46:48ID:7KSAHxxq原因を調べるにはまずどこがおかしいか調べようぜ
PlayMovieの戻り値は調べた?
まあおそらくtest.aviが開けないんだと思うけど。
exeと同じディレクトリでもカレントがそことは限らないよ、どうやって実行した?
フルパスで指定してみるのがいいかもね
0474名前は開発中のものです。
2009/02/06(金) 10:04:24ID:T3lftGPa#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
if(PlayMovie( "test.avi" , 1 , DX_MOVIEPLAYTYPE_BCANCEL ) ==-1)
{MessageBox(NILL,"ファイルが開けません","読み込みエラー",MB_OK);}
WaitKey();
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
こう変えて確認してみたら?
PlayMovieは、ファイルの読み込みに失敗すると-1を返す(成功は0)
もし、これでMessageBox表示されたら上手くファイル指定ができてないってこと
もしかしたらコーデックなんかの問題もあるかもしれないけどそこは分からない
あと、PlayMovieはそこでムービー停止するまで処理とまるんだっけ?
そうじゃないならムービーの再生が終わるまで処理終わらないようにする工夫が必要
どれもこれもリファレンスにあるから一度目を通してね
0475名前は開発中のものです。
2009/02/06(金) 10:36:49ID:7KSAHxxqこれで問題ありますか?って、、、、
今後もサンプルがうごかないたびにコメントごとそのまま貼り付けるつもりか。
0476名前は開発中のものです。
2009/02/06(金) 10:44:57ID:RXpavouuフルパス指定を推奨しろよ
0477名前は開発中のものです。
2009/02/06(金) 22:13:54ID:bune21hQ0478名前は開発中のものです。
2009/02/07(土) 00:40:47ID:9/tOLDQPファイルが無いときも黒画面のフルスクリーンまでいって帰ってくる
0479名前は開発中のものです。
2009/02/07(土) 00:50:47ID:XZUozGI6音は鳴ってるの?
0480472
2009/02/07(土) 12:23:31ID:m2CcO09N解決しました
原因は動画のサイズが大きかったことでした
試しに400*300の小さい動画を再生したところ画面左端にきちんと表示されました
0481名前は開発中のものです。
2009/02/07(土) 16:43:56ID:5JGvk0Ld0482名前は開発中のものです。
2009/02/07(土) 18:57:56ID:fLtGYl8p0483名前は開発中のものです。
2009/02/07(土) 21:03:54ID:lpCM/pFJ0484名前は開発中のものです。
2009/02/07(土) 23:54:45ID:winQ4pAR0485名前は開発中のものです。
2009/02/09(月) 20:19:32ID:1pnOXqGt合成するにはどうしたらいいですか?
0486名前は開発中のものです。
2009/02/09(月) 21:02:42ID:r4CYwpcrファイル名_a.拡張子で指定。プログラムは変更不要で元ファイルといっしょに読み込む。
グレースケール(白黒)で256階調。
0(黒)が完全透過で255(白)がマスク、中間値で半透明処理できる。
0487名前は開発中のものです。
2009/02/09(月) 21:16:29ID:hQLvxnkO0488名前は開発中のものです。
2009/02/09(月) 21:39:39ID:kpyVvUs40489名前は開発中のものです。
2009/02/09(月) 22:04:30ID:1pnOXqGtアルファブレンド試してみました
ファイル一つ用意するだけで出来たんですね
美しい描画に感動しました
アルファチャンネル付きpngは今から作ってみます
作ったことないからグーグルから始めますが
今日中にがんばってみます
0490名前は開発中のものです。
2009/02/09(月) 22:37:00ID:1pnOXqGtありがとうございました
0491名前は開発中のものです。
2009/02/10(火) 01:17:10ID:4F920hOP0492名前は開発中のものです。
2009/02/10(火) 10:00:17ID:XFgx+1B+0493名前は開発中のものです。
2009/02/10(火) 10:05:10ID:rFLiGfwYpngを知ったら他の形式なんてとても使えたものじゃない。
0494名前は開発中のものです。
2009/02/10(火) 11:14:35ID:vQYvbazz0495名前は開発中のものです。
2009/02/10(火) 20:29:18ID:tnQHyXfF0496名前は開発中のものです。
2009/02/10(火) 22:37:01ID:vQYvbazz透過処理ってなんか重そうだから多用しないようにしてたんだけど、心配なかったのか。
0497名前は開発中のものです。
2009/02/11(水) 01:39:50ID:EiHo01Mu0498名前は開発中のものです。
2009/02/11(水) 02:00:10ID:v+EsJNk0その辺の表記なんたらは何にも必要ないよ
0499名前は開発中のものです。
2009/02/11(水) 03:56:50ID:abcckAid読み込んで表示させるプログラムの著作権じゃない?
>・下記の機能を使用した場合は、配布するソフトウエアのドキュメント等に各機能に応じた
> 著作権表示を含めてください。
>
> PNG 画像を読みこむ機能を使用した場合
>
> libpng Copyright (c) 1998-2004 Glenn Randers-Pehrson.
> zlib Copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler.
http://homepage2.nifty.com/natupaji/DxLib/dxlicense.html
0500名前は開発中のものです。
2009/02/11(水) 08:50:36ID:swUZoApZ>>495はアルファブレンドとアルファチャンネル付きPNGが一緒ってことじゃないかな?
透過処理は普通の描画に比べたら遅いよ。
0501名前は開発中のものです。
2009/02/11(水) 09:51:46ID:1w4T1utS491がなんでもかんでもって言ってるから
普通の描画と同じくらい軽いのかと思ってしまった。
0502名前は開発中のものです。
2009/02/11(水) 10:55:48ID:n8G83FSO圧縮アルゴリズムが単純だからPNGよりファイルサイズが大きくなるけど・・・
0503名前は開発中のものです。
2009/02/11(水) 19:22:37ID:AZ7K07ik0504名前は開発中のものです。
2009/02/11(水) 19:36:20ID:qrNBhwtd0505名前は開発中のものです。
2009/02/11(水) 21:30:38ID:EO0e2yUS0506名前は開発中のものです。
2009/02/12(木) 04:09:43ID:T7mGdx780507名前は開発中のものです。
2009/02/12(木) 09:22:15ID:g2cVI1Rq0508名前は開発中のものです。
2009/02/12(木) 10:15:43ID:S0rR+p5uうま
を思い出したwww作者どうなったんだw
0509名前は開発中のものです。
2009/02/12(木) 15:51:55ID:T7mGdx780510名前は開発中のものです。
2009/02/12(木) 19:27:06ID:g2cVI1Rq0511名前は開発中のものです。
2009/02/12(木) 19:28:31ID:V7VMrK+q0512名前は開発中のものです。
2009/02/12(木) 19:45:30ID:g2cVI1Rq0513名前は開発中のものです。
2009/02/13(金) 04:49:14ID:qd9k9XJd0514名前は開発中のものです。
2009/02/13(金) 08:52:43ID:gm7Wlof80515名前は開発中のものです。
2009/02/13(金) 09:20:00ID:Tj50RFPE前に使ってて一時期離れてたとか
DXライブラリの事を最近知ったなら今更とか関係ないし
てか、なんでそな事を疑問に思うのか疑問だ
0516名前は開発中のものです。
2009/02/13(金) 09:31:26ID:gsDT3swS失礼した。
0517名前は開発中のものです。
2009/02/13(金) 10:00:20ID:KHzspSCY0518名前は開発中のものです。
2009/02/13(金) 10:08:42ID:Gs8dKfU50519名前は開発中のものです。
2009/02/13(金) 13:24:47ID:OFBqMPYi0520名前は開発中のものです。
2009/02/13(金) 17:52:53ID:gamtZzLZ面倒なDirectX初期化周りやレンダリング処理を全部任せられるのがすごく便利。
今まで何度も1人でゲーム作ろうとしてゲームのライブラリ化までで燃え尽きてたけど、いけそうな気がする。
ただ、メッセージプロシージャ周りを完全に独立させて、他に譲渡できればいいんだけど、
DirectXの特性上難しいのが残念かな。
ウィンドウモードでデバッグウィンドウ周りを実装してたときに感じた愚痴です。
0521名前は開発中のものです。
2009/02/13(金) 19:27:10ID:6Q+KDpbI0522名前は開発中のものです。
2009/02/13(金) 19:33:25ID:OFBqMPYi0523名前は開発中のものです。
2009/02/13(金) 20:41:49ID:Br6f/DrZ3D版の作者のサイト、移転してたんだ
0524名前は開発中のものです。
2009/02/13(金) 21:15:25ID:vieAChNU日記の内容からして
もうDXライブラリの方は手をつけないんだろうか
0525名前は開発中のものです。
2009/02/13(金) 21:54:45ID:KHzspSCYそのうち書き込むんじゃない?
0526名前は開発中のものです。
2009/02/13(金) 22:01:18ID:6Q+KDpbIああ、移転だったのか。
あんなイカレた閉鎖文なんか載っけてどうしたのかと思ったよ。
0527名前は開発中のものです。
2009/02/13(金) 22:26:23ID:Tj50RFPE過去を全部捨てて仕切りなおしたって感じだな
もうライブラリとかそう言うのは作っても公開しない気がする
■ このスレッドは過去ログ倉庫に格納されています