DXライブラリ 総合スレッド その3
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2009/03/31(火) 01:14:36ID:IgyJcgapGUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリの詳細ついては
http://homepage2.nifty.com/natupaji/DxLib/
を参照して頂きたい。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
過去スレ:DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
0146名前は開発中のものです。
2009/04/28(火) 22:24:39ID:MfOPTYG9ありがとうorz
すみません。ウインドウモードの項ばかり探してました
0147名前は開発中のものです。
2009/04/28(火) 23:44:24ID:AAXsWLBJ0148名前は開発中のものです。
2009/04/29(水) 00:04:40ID:fznxD5WLやあ、俺
0149名前は開発中のものです。
2009/04/29(水) 00:57:49ID:8JDzhdlg何でこんな仕事を選んだんだろう……相談する同僚がいない
>30歳 ←いまここ
俺
0150名前は開発中のものです。
2009/04/29(水) 12:12:40ID:0KNrHYhz中学生 PC98買ってもらってtakeruとかでゲーム買ったりベーマガ買ってBASICで遊ぶ
高校生 女遊びでPCなんていじらない
大学生 にはならずにバイト生活。PCなんて無縁
20代 実家に帰るとWindows98とネットがあったので暇だったのでいじってみる。
ここでwebの世界やプログラミング熱再発。色々物色する。
そしてそのまま引きこもり。
30代 ←もうすぐここ
0151名前は開発中のものです。
2009/04/29(水) 12:23:18ID:Id8MNKk30152名前は開発中のものです。
2009/04/29(水) 13:15:43ID:0KNrHYhz0153名前は開発中のものです。
2009/04/29(水) 14:34:34ID:DcEbzAT60154名前は開発中のものです。
2009/04/29(水) 14:49:56ID:eqm+L+6k0155名前は開発中のものです。
2009/04/29(水) 15:17:03ID:GO8Ds4lj0156名前は開発中のものです。
2009/04/29(水) 19:22:33ID:sy8jjFeIプランナーや絵描きなどで生きられるだけの資産がなければ、そのままスクラップだ
ゲーム会社も高齢化が進んでて、新しい概念が作れなくなってきている
0157名前は開発中のものです。
2009/04/29(水) 19:25:35ID:eqm+L+6k新しい概念が作れないのはゆとりが増えたから
0158名前は開発中のものです。
2009/04/29(水) 20:32:14ID:2b50vk1R0159名前は開発中のものです。
2009/04/29(水) 21:37:02ID:Dpfb2ylv0160名前は開発中のものです。
2009/04/30(木) 00:27:05ID:JN4PBkevDXライブラリで実現できますでしょうか?
GetDragFilePath()の使い方がいまいちわかりません。
ご教授お願い致します_ _
0161名前は開発中のものです。
2009/04/30(木) 00:58:25ID:qZvDrEy3D&Dに関しては、GetDragFilePathでググって出てきたページの内容を見る限り、
この関数は毎フレーム呼び出し、戻り値はD&Dされていれば0、されていなければ-1となる。
D&Dされてたら、引数で渡したバッファにD&Dされたファイルのパスが入ってくる。
ちなみにD&Dされたファイルの個数はGetDragFileNum()で取得できる。
複数ある場合は、その数だけGetDragFilePathを呼べば1つずつファイルパスを取得できる。
ちなみにこれらは毎フレームに一度DragFileInfoClear()で初期化してから使うべき。
ただ情報が古い可能性もあるし、実際試したわけじゃないから、
今のDXライブラリでできるかどうかは知らない。
0162名前は開発中のものです。
2009/04/30(木) 01:05:34ID:qZvDrEy30163名前は開発中のものです。
2009/04/30(木) 01:56:07ID:JGk3snwAint WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow){
ChangeWindowMode(TRUE);
SetMainWindowText("(´・ω・`)");
if(DxLib_Init() == -1 ){return -1;}
int open,tdn,cc;char file[256];
SetDragFileValidFlag(TRUE);SetDrawScreen(DX_SCREEN_BACK);SetFontSize(32);
while(ProcessMessage()==0){
ClearDrawScreen();
open=GetDragFilePath(file);//D&Dでファイル獲得する open:ファイル獲得が成功か失敗か判定
if(open==-1&&CheckMusic()==0)DrawFormatString(0,100,-1," なんか音楽を食わせろ!ESCキーで終了");
if(CheckMusic()==0&&cc==0){SetMainWindowText("(´・ω・`)");cc=1;}
if(CheckMusic()==1)DrawFormatString(0,100,-1," 音楽を止めるのならスペースを押せ!");
if(CheckHitKey(KEY_INPUT_SPACE)==1)StopMusic(); //スペースで音楽を止める
if(CheckHitKey(KEY_INPUT_ESCAPE)==1)break; //エスケープで終了
if(open!=-1){ //ファイル獲得成功
cc=0;SetMainWindowText(file);tdn=PlayMusic(file,DX_PLAYTYPE_LOOP);}
ScreenFlip();Sleep(20);
//音楽ファイル以外を食わせた場合w
if(tdn==-1){MessageBox(NULL,"(゚Д゚)ゴルア!"," それ再生できねーし",0x0000030);StopMusic();break;}
DragFileInfoClear();
}
InitSoundMem();
DxLib_End() ;
return 0 ;
}
0164名前は開発中のものです。
2009/04/30(木) 02:04:43ID:JN4PBkev>>163さんにはサンプルまでご用意いただいて感激です!
これでBGMをプレイヤーに指定させることができます。
即レス感謝!ありがとうございました!!
0165名前は開発中のものです。
2009/04/30(木) 09:08:28ID:QAaf0WGA0166名前は開発中のものです。
2009/04/30(木) 13:16:31ID:Nu0gAO100167名前は開発中のものです。
2009/05/01(金) 08:16:49ID:OvJuayUs見栄えや諸々の理由で画像ファイルとして文字を作ることにした。
インストールされてるフォントを使って12x16のサイズのカタカナを
ほぼそのまま描いてるんだけど、どうしてもエッジが目立っちゃう。
縁取りとか、影とか、ぼかしとか色々試したんだけど難しい。
みんなはどうやってるの?あと、デザインとか凝ったりするの?
0168名前は開発中のものです。
2009/05/01(金) 09:46:27ID:g5JaObohその辺は、普通に。 まずは、見栄えとかよりも、完成が先だしね。
「文字 CG 講座」とか「ロゴ 制作」とかで検索すrば、やりたい事の方法が見つかると思う。
0169名前は開発中のものです。
2009/05/01(金) 10:22:40ID:SX1l7Niwセリフとかそんなヤツなら、何も工夫せずにそのままDrawStringで表示してる。
>デザインとか凝ったりするの?
デザインが大事なのは理解してるが、センスが壊滅的なので
あきらめて最低限で済ませてる。
0170名前は開発中のものです。
2009/05/01(金) 14:38:00ID:OvJuayUsありがとう。俺もデザインが壊滅的です。
しょぼ画像で今まで普通にやって来たんだけど、
先日ゲーセンで業務用のゲームを見たのがいけなかったw
最近はフォントを一文字ずつ手打ちでドット修正して、
気付いたら4、5時間経ってて結局上手くいかなかったとかあって。
まあでも、「この方法では出来ない」っていうのが少し分かったのは収穫だけどw
ゲーム作るのってやっぱり色々な知識が必要だね。
0171名前は開発中のものです。
2009/05/01(金) 21:45:00ID:n+u5dqvm0172名前は開発中のものです。
2009/05/02(土) 08:08:52ID:Sn/Kauilそれで飯食っている奴がいるくらいだから奥が深いよな。
フォントの選定とか字間とか決めるだけでも大変。
0173名前は開発中のものです。
2009/05/02(土) 13:50:47ID:BkuXnv3v台詞に使って日本語漢字とかまでなるとやってられないから普通に既存フォントのでやってるな。
フリーのフォントいくらでもあるから、それ使えばいいんじゃないか?
テキストに文字書いておけば、指定フォントのを画像ファイルにして出力するソフトなかったっけか。
0174名前は開発中のものです。
2009/05/02(土) 14:40:37ID:M7HWaCGQ0175名前は開発中のものです。
2009/05/04(月) 16:41:52ID:FkdRsV2LSetAlwaysRunFlagで非アクティブでも処理を実行し続けるようにして
アクティブ時はCPU使用率15〜20%ぐらいでスムーズに動いてるけど
非アクティブ時は、CPU使用率が0近くになってしまいます。
処理もカクカクになってしまうのですが、
どうにも原因や解決法について手詰まりになってしまったので
何かアドバイスをいただけませんでしょうか?
0176名前は開発中のものです。
2009/05/04(月) 16:47:43ID:dGZpGfbHこれが参考になるかも
ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1224
0177名前は開発中のものです。
2009/05/04(月) 17:21:31ID:FkdRsV2LΣ (゚Д゚;)うおー解決したー!!
DXライブラリ自体の仕様的問題だったとは・・・
ありがとうございましたー
0178名前は開発中のものです。
2009/05/05(火) 23:39:46ID:klIXgzed0179名前は開発中のものです。
2009/05/06(水) 01:59:46ID:36dZu90f0180名前は開発中のものです。
2009/05/07(木) 01:34:26ID:cIvk0VJgどんな簡単な条件でもだめ
whileは全然問題なし、仕方ないからfor文で代用した
0181名前は開発中のものです。
2009/05/07(木) 01:39:44ID:AtAjM9gE0182名前は開発中のものです。
2009/05/08(金) 13:06:52ID:H40Fz4tQ条件を逆にしてみれば?
0183名前は開発中のものです。
2009/05/08(金) 17:28:23ID:mPd9shMxhello world的なコンソールアプリだとなんともないのに
DXライブラリだと動かないのか?
またまたご冗談を○ノ
0184名前は開発中のものです。
2009/05/08(金) 21:29:41ID:1gmuUpcC3Dも触ってみたくなったら次はどの辺のライブラリがお勧めかな?
0185名前は開発中のものです。
2009/05/08(金) 21:43:28ID:mPd9shMxライブラリを使うにしても。
0186名前は開発中のものです。
2009/05/08(金) 23:03:24ID:1gmuUpcC直かー、興味はあるけど難しそうだね
その辺もライブラリのソースを見てみたい感じ
DXライブラリ3Dを引き継いでる(?)のがSiv3Dで公開はまだしていないのか
0187名前は開発中のものです。
2009/05/09(土) 03:40:25ID:lfg6KlkW0188名前は開発中のものです。
2009/05/09(土) 10:18:06ID:K91OINFM現時点ではDarkGDKがお勧め。
DarkBasicをC言語で使えるようにしたライブラリだが、DXライブラリ並に簡単に3Dが使える。
資料もDarkBasicのものが使えるから検索すればかなり見つかると思う。
0189名前は開発中のものです。
2009/05/09(土) 11:47:43ID:kLkdvUF6直叩きはいいけど、ウインドウズと付き合うのがイヤなんだ俺は。
今の俺の技術なら、WinProcの多重switch〜caseの悪夢から逃れられるかもしれないけど。
ここが奇麗にラッピングできたら、DxLibから離れられる。
0190名前は開発中のものです。
2009/05/09(土) 19:21:56ID:jAmZ4VAacでも動く?
0191名前は開発中のものです。
2009/05/09(土) 19:40:27ID:E8u7Mo3p意味も分らずに質問してるのか?それとも釣りか?荒らし?
>(使用する際はC言語の知識だけで大丈夫です)
と、Topページにすら書いてあるが・・・・・
0192名前は開発中のものです。
2009/05/09(土) 19:55:55ID:lCTV4YZ7その回答だと、それはそれで微妙じゃないか?
0193名前は開発中のものです。
2009/05/09(土) 20:07:46ID:IQdWMaEzOpenGLも基礎の基礎ぐらいは分かる。
しかしC++は全くやったことないから、Cのソースコードでも動くのかなぁって思ってさ
つうかこの俺のこの程度のレベルで開発できるのか?w
0194名前は開発中のものです。
2009/05/09(土) 20:14:03ID:trjZI4JPBASICくらいしかまともに使えなかった俺でも作れてる。
0195名前は開発中のものです。
2009/05/09(土) 20:46:52ID:eADherQO0196名前は開発中のものです。
2009/05/09(土) 20:58:33ID:IQdWMaEz自分も通らなかったから、やっぱりcppでやらないとダメか…。
でもcとc++の違いって引数の所とかreturn 0;を入れる事ぐらいだよね
それなら俺にも作れそうだ
0197名前は開発中のものです。
2009/05/09(土) 21:35:15ID:mrxl7P60http://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0415zip.html
0198名前は開発中のものです。
2009/05/09(土) 21:37:34ID:lCTV4YZ7そりゃ細かいところは違うけど。
0199名前は開発中のものです。
2009/05/09(土) 22:24:26ID:yqvEK1UxCのつもりで書いてるけど特に問題は起こってない。
0200名前は開発中のものです。
2009/05/09(土) 22:42:09ID:trjZI4JPきっぱり乗り換えた方が早いと思うよ。
0201名前は開発中のものです。
2009/05/09(土) 22:43:16ID:5QjZvH8Cってことでしょ
CからC++の関数呼べないだろうし
0202名前は開発中のものです。
2009/05/09(土) 23:17:11ID:mrxl7P60http://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0416zip.html
0203名前は開発中のものです。
2009/05/10(日) 01:23:34ID:ZcEG6Uji0204名前は開発中のものです。
2009/05/10(日) 03:57:46ID:LkvOOs8Z184じゃないけど良いなコレ
まあスレ違いだからここではやめとくが
0205名前は開発中のものです。
2009/05/10(日) 09:08:13ID:rPuqylL4それはDXライブラリと関係ない、C言語の領域だからぐぐって探せばみつかるでしょう。
まぁひとつ言っておくなら、読み込むだけなら
テキストファイルだろうとバイナリファイルだろうと関係ねーって事でしょうか。
それがテキストファイルかバイナリファイルかを区別するのは人間の仕事。
コンピュータにとってはどっちも数字の羅列です。
0206名前は開発中のものです。
2009/05/10(日) 09:16:50ID:rPuqylL4おお、簡単そうでいいな。
と思ったが商用だとライセンス必要なのか。
0207名前は開発中のものです。
2009/05/10(日) 09:27:04ID:SuvqbuIWメーカーのひと?
0208名前は開発中のものです。
2009/05/10(日) 10:31:11ID:fyec3Pfk0209名前は開発中のものです。
2009/05/10(日) 15:37:12ID:3Fci4lbQ動かすのに必要な環境とかあるのかな
0210名前は開発中のものです。
2009/05/10(日) 15:49:58ID:pxkMQo3W0211名前は開発中のものです。
2009/05/10(日) 15:54:27ID:QdEuQjX4>>205
せっかくだから DxLib でやろうぜ。
以前、なんかダサイ感じのやつを作った記憶あったのでうp
int MapInit()
{
int FileHandle = FileRead_open("StageData.txt");// ファイルのオープン
int FileSize = FileRead_size("StageData.txt");// ファイルサイズを取得して
char* FileImage = new char[FileSize];// その大きさだけ領域確保
FileRead_read( FileImage,FileSize,FileHandle);// 一気読み
FileRead_close(FileHandle);// ファイルを閉じて終了
const char* d = FileImage;
while(*d != '\0'){ // NULL文字(終端)ではない間
switch( *d ){
:
:
0212名前は開発中のものです。
2009/05/10(日) 16:04:32ID:pxkMQo3W0213名前は開発中のものです。
2009/05/10(日) 16:27:43ID:hIOF9W71曲がはじめに戻る時に一瞬無音部分が挿入されてしまうのは仕方の無い事なんですかね?
0214名前は開発中のものです。
2009/05/10(日) 16:53:15ID:jnxHmucW0215名前は開発中のものです。
2009/05/10(日) 18:54:17ID:rCuDH3cs俺使ってるから間違いない。
0216名前は開発中のものです。
2009/05/10(日) 19:18:26ID:hIOF9W710217名前は開発中のものです。
2009/05/10(日) 20:22:30ID:rCuDH3csてか空白が頭なのか終わりなのか区別つくのか?
俺はoggでやってるけどそんな現象は出ていない。
oggでなくてmp3だから空白が出てるってのも考えにくいし……。
たとえば、
// 音声をループ再生する
PlaySoundMem( SoundHandle, DX_PLAYTYPE_LOOP ) ;
// キーの入力待ち
WaitKey() ;
こんな感じで音楽鳴らしてWaitKeyで待たせてるだけの状態でも空白は出る?
0218名前は開発中のものです。
2009/05/10(日) 21:46:31ID:a1w4zsI+0219名前は開発中のものです。
2009/05/10(日) 21:59:26ID:CorOGe62それでまず音楽データ自体に空白が入ってないか確認するのが先かな。
(俺は古いけどspwaveっての使ってる)
0220名前は開発中のものです。
2009/05/10(日) 23:33:01ID:UtduPSoDいまいちヘッダーファイルに何書けば良いのか分からん。
ヘッダーファイルに書くのって基本的に
構造体、グローバル変数、クラス
で良いんだよな?
でもグローバル変数はそのまま書くより、メインの実行処理を書いたソースでグローバル宣言して、externしたのをヘッダーに書いた方が良いのか?
中々難しい
0221名前は開発中のものです。
2009/05/11(月) 00:02:53ID:MkdOym7I必要性を感じたらやればいいなと。
0222名前は開発中のものです。
2009/05/11(月) 00:25:28ID:HAsszTiW他のプロジェクトで同じヘッダーを使いたいって時があるはず
stdlib.hやwindows.hなどは、頻繁に共有して使う定義をまとめてあるわけだな
ゲーム開発では、バージョンアップや拡張版を作る時に意識する
そういうのが前提になくて、ただ使い捨てのマイナープログラムを作りたいだけなら
ヘッダーに書こうがソースに書こうが大した違いにはならん
集団開発ではこういう実動的な概念を知ってないと、プロジェクトに致命的な遅れを引き起こす原因になる
読めないソース、意味のわからない変数名、再利用性の全くないヘッダー
そういうのを書く奴はとても多い
同僚から「早くクビになれ」と睨まれてるのに、大抵は自覚がない
0223名前は開発中のものです。
2009/05/11(月) 00:37:43ID:h5MMChCx無音部分のないoggを作れば大丈夫だと思う
0224名前は開発中のものです。
2009/05/11(月) 01:25:34ID:SJM28vd6これでmp3にした場合だけループに空白が出来る。
でも編集ソフトでmp3ファイルを見てみても無音が入っていないので
ファイル自体じゃなくてループ再生時に無音が入っちゃってると予想してる。
>>223のような情報もあるのでwavからoggでやってみようと思います。
むしろmp3でちゃんとループしてる人がいるなら是非そのファイルをくれませんか?
0225名前は開発中のものです。
2009/05/11(月) 01:55:23ID:vfkeltZY0226名前は開発中のものです。
2009/05/11(月) 10:32:30ID:Y/ATwNUTグローバル変数を何の工夫もなくヘッダに書くのはありえない。
でも、1つのソースファイルからしかincludeしないなら
ヘッダの意味もないが、トラブルも出ないし好きにしたらいい。
0227名前は開発中のものです。
2009/05/11(月) 23:27:48ID:+oDxJ+XL例のセガの人の本によれば
ヘッダファイルは、そのモジュールの顔のようなものなので、
自分からしか参照しないものはヘッダに書くな、だそうな。
0228名前は開発中のものです。
2009/05/12(火) 20:59:39ID:TP6i3fOM0229名前は開発中のものです。
2009/05/13(水) 00:34:03ID:S36sOxw7リファレンス嫁
0230名前は開発中のものです。
2009/05/13(水) 00:45:59ID:Vux89+qG0231名前は開発中のものです。
2009/05/13(水) 02:31:33ID:SfL0C2tMディーエックス?デラックス?
0232名前は開発中のものです。
2009/05/13(水) 02:39:25ID:SMqynftrてかそもそもデラックスなんて意味込められてたっけか?
0233名前は開発中のものです。
2009/05/13(水) 04:37:24ID:+PRxmC7L今度、自分用のライブラリを作る時は超合金ライブラリという名前にしよう。
0234名前は開発中のものです。
2009/05/13(水) 04:45:57ID:S6Vidvv60235名前は開発中のものです。
2009/05/13(水) 05:27:57ID:WYplVFDZ0236名前は開発中のものです。
2009/05/13(水) 11:01:09ID:+PRxmC7L0237名前は開発中のものです。
2009/05/14(木) 23:52:26ID:JXz6JeNmhttp://www.vector.co.jp/soft/dl/win95/art/se202196.html
アドウェア臭いのついてるから本体以外キャンセル(Jwordとかプレーヤーとか)
http://www.vorbis.com/files/1.0/tobias/OggDS0995.exe
これインスコすればOGGをメディアプレーヤーで直再生できる
0238名前は開発中のものです。
2009/05/16(土) 18:21:08ID:RrtE4NOXこのことによって何か出来なくなる(制限される)ことってありますか? ウインドウズプログラム的に。
0239名前は開発中のものです。
2009/05/20(水) 18:05:19ID:XKq5DK9VDrawRectGraphでその都度座標を指定して描画するのと
LoadDivGraphやDerivationGraphで新しくグラを作成するのってどっちがいいとかありますか?
面倒なのですがDrawRectGraphの方が軽そうな感じがして…
0240名前は開発中のものです。
2009/05/20(水) 19:14:49ID:cd8SaRtc実際に試してみるのが一番いいと思うけど
0241名前は開発中のものです。
2009/05/20(水) 22:50:34ID:XKq5DK9V0242名前は開発中のものです。
2009/05/21(木) 01:24:36ID:nDXZOisY0243名前は開発中のものです。
2009/05/21(木) 14:53:13ID:f26CXGR7メモリに読み込んでハンドル返す方法は高速に描ける
速度を必要とする場面かどうか検討するといい
使い捨ての場面ならメモリに確保しない方が開発の負担が小さいし
何度も使うのならメモリに読み込んだ方が処理の負担が小さい
一般的には後者に統一することが多い
似たような話で、画像にjpgやpngを使ったり、mp3を使うのはCPUに負荷を掛けるので
通常素材にはbmp、効果音にはwavを使うのを勧める
(企業開発で形式を隠蔽したいわけでもないし)
0244名前は開発中のものです。
2009/05/21(木) 17:07:42ID:nDXZOisY0245名前は開発中のものです。
2009/05/21(木) 17:31:35ID:d1JBtW4A■ このスレッドは過去ログ倉庫に格納されています