トップページ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/
0450名前は開発中のものです。2010/12/19(日) 01:22:57ID:+27O0883
>>449
初期化とウィンドウ作成までは簡単に出来るけど、モデルやテクスチャの読込みはねぇ
結局自力でアルゴリズム組まないといけない
内部を理解しないで一発関数に頼り切ってるここの連中のスキルでは無理でしょう
0451名前は開発中のものです。2010/12/19(日) 01:45:38ID:xI8rh7Nq
いちいち人の事を見下さないと気がすまないようだが
何か嫌な思い出でもあるのか?
0452名前は開発中のものです。2010/12/19(日) 01:52:36ID:SyJcrf1E
自己紹介でしょう
0453名前は開発中のものです。2010/12/19(日) 01:53:19ID:4YdgrRk8
ワロス
0454名前は開発中のものです。2010/12/19(日) 06:16:20ID:HuI9xccs
高学年様の砂場荒らし
0455名前は開発中のものです。2010/12/19(日) 08:27:41ID:XqHGWTLJ
モデルよりも前にOpenGLで組むなら入力や音楽周りどうするかを考えないといけないんじゃないかな
0456名前は開発中のものです。2010/12/19(日) 08:29:09ID:qo3uHK5U
実際OpenGLでやるなら入力とか音声ってどうするんだろうね?
そういうのOpenなになにとかで有るの?
0457名前は開発中のものです。2010/12/19(日) 10:27:14ID:OfvIJlfD
全員が全員スキルが無いからライブラリを使ってるとかおめでたい頭だな
0458名前は開発中のものです。2010/12/19(日) 10:35:17ID:qo3uHK5U
そういう意味じゃないけど、ここで聞くのはスレ違いだな
ちょっと調べてみるか
0459名前は開発中のものです。2010/12/19(日) 10:35:35ID:KvUZZ3zi
スキルとか言っちゃうから荒れるのに。
「GLUTにはDXライブラリ相当の便利な機能は残念ながらない」で終わりでしょう。
0460名前は開発中のものです。2010/12/19(日) 10:42:56ID:OfvIJlfD
あ、おまえに言ったんちゃうで すまんな
0461名前は開発中のものです。2010/12/19(日) 12:26:01ID:TPV4ATUy
どしたー
0462名前は開発中のものです。2010/12/19(日) 16:28:52ID:iA8tL9Km
わざわざ内部を理解するコストを払いたくないからライブラリを使うのに
何言ってんだあいつ
0463名前は開発中のものです。2010/12/19(日) 16:49:05ID:zT2jZQ7X
いやさすがにその言い方だと逆に住人側(自分を含む)を貶してる事になると思う。
0464名前は開発中のものです。2010/12/19(日) 16:52:33ID:INe7QSX2
どこが?
0465名前は開発中のものです。2010/12/19(日) 17:19:30ID:zT2jZQ7X
「ライブラリを一から自作するコストを払いたくない」ならともかく
「内部を理解するコストを払いたくない」ってのは、
要するに「勉強するのが嫌」っていう子供っぽい主張なだけ。

確かにその通りなんだけどさ。少なくとも俺は。
0466名前は開発中のものです。2010/12/19(日) 18:37:18ID:Nwlx5SdC
必要になってから調べればいいだけだからな
全部理解しないと気が済まないというスタンスでは、いつまでたってもプログラムが完成しないよw
0467名前は開発中のものです。2010/12/19(日) 18:50:27ID:1UhsOYlq
ハードウェアの中身を理解するまでゲーム作ったらダメ
0468名前は開発中のものです。2010/12/19(日) 19:00:25ID:o91wyRDL
勉強する意志を失うな、と。
0469名前は開発中のものです。2010/12/19(日) 19:09:10ID:ZY/SyrYr
電子レンジの仕組みは詳しくは良く分らんが
温められるのには変わりない
0470名前は開発中のものです。2010/12/19(日) 19:11:18ID:1UhsOYlq
回路設計で半田ごてするまでPCに触れたらダメ
0471TJJ2010/12/19(日) 19:36:05ID:KShcs6b5
もしもし
0472名前は開発中のものです。2010/12/19(日) 19:42:40ID:6KIQrmWe
黙ってゲーム作れよお前らw
0473名前は開発中のものです。2010/12/19(日) 20:04:05ID:kLp3bR+v
採掘と冶金から始めよう
0474名前は開発中のものです。2010/12/19(日) 20:44:08ID:+ZwCYATR
DXLIB叩くのは良いから具体的な問題点を挙げて欲しいな

批判内容がいつもそいつの経験則ばっかりで全く同意出来た事が無い
0475名前は開発中のものです。2010/12/19(日) 21:24:10ID:rbPb9cCO
リファレンス読む気が起きないからしばらくはDXライブラリでアルゴリズム勉強するでござる
0476名前は開発中のものです。2010/12/19(日) 22:46:45ID:GGVtqJa3
Hey、改行コードを含む文字列を画面に表示するための最短のコードを教えてくれYO
もしくはフォント情報を得るためのコードを教えてください
0477名前は開発中のものです。2010/12/19(日) 23:13:15ID:INe7QSX2
「内部を理解するコストを払いたくない」ってののどこが「勉強するのが嫌」っていう子供っぽい主張なんだ
何勉強しようがそいつの勝手だろ
何を勉強すべきかは個人個人が決めるべきことであっててめえが決めることじゃねえ
0478名前は開発中のものです。2010/12/20(月) 01:35:50ID:sIJmlu4W
メタな方向へのシフトがナウなトレンドだって婆っちゃが言ってた
0479名前は開発中のものです。2010/12/20(月) 01:47:31ID:VYtmH2vK
コンピューターお婆ちゃん
0480名前は開発中のものです。2010/12/20(月) 11:15:34ID:n69/xNct
8bitの魔術師
0481名前は開発中のものです。2010/12/21(火) 00:18:57ID:DHIbrxnf
>>466
自分で調べないですぐ他人に答え求める教えて君が多いと思うんだけど
特にOpenGLスレではグラフィックのロードに関して同じような質問が多い
同人ゲームも主流はWindowsだしMSがシェア無くすことはまずないと思うが、iPhoneやAndroidへの進出も必要になる時が来るかもしれない
関数が無ければ自分で作ればいい、それをやらないで>>427のように「使い物にならない」というのは間違いなのでは
欧米ではiPhoneで溢れるだけのゲームが作られている訳だ、OpenGLが欠陥なんてことはない
別にGLライブラリなるものは無くてもゲームは作れるんだよ
0482名前は開発中のものです。2010/12/21(火) 01:02:05ID:+c+3emdv
寝言かよw
0483名前は開発中のものです。2010/12/21(火) 02:43:40ID:XIX4F+z3
ここ勘違いしてる人多すぎだね
どういうものか分かってないで語り始めてるから、わけわからん比較になってる
0484名前は開発中のものです。2010/12/21(火) 04:06:33ID:HdLnpVMd
※彼の頭の中では関数を作るのは特殊技能です
0485名前は開発中のものです。2010/12/21(火) 11:20:02ID:FgPzdMsq
DXライブラリでアルファ付きPNGを読み込む方法ってありませんか?
なにか代替になるものでもあればいいんですが
0486名前は開発中のものです。2010/12/21(火) 11:23:42ID:RjqgC6O3
>>485
int handle = LoadGraph("alphapng.png");
0487名前は開発中のものです。2010/12/21(火) 11:27:30ID:FgPzdMsq
あれ?読み込めた……
すみませんなんか画像ファイルの方がなんかおかしかったっぽいです
透明になってたと思ったんだけどな
0488名前は開発中のものです。2010/12/21(火) 11:27:30ID:j9bZ2425
ワロタ
0489名前は開発中のものです。2010/12/21(火) 11:32:55ID:RjqgC6O3
どうせMSペイントでPNGでも作ったんじゃねーのか
詐欺PNG吐くからなアレ
0490名前は開発中のものです。2010/12/21(火) 11:47:46ID:ndrygf5C
あれjpgかなんかでも詐欺ってる
0491名前は開発中のものです。2010/12/21(火) 14:08:15ID:FBnJPMIL
大丈夫?マイクロソフトのペイントだよ?
0492名前は開発中のものです。2010/12/21(火) 17:53:21ID:3HpC4+2F
>>487
画像作ったソフトの問題かも。
DXライブラリはちゃんと読んでくれるけど、アルファ付きPNGを
作るのは結構メンドい気はするし。
たとえばPhotoshopでも、PNGはαチャンネルを透明情報として
書き出してくれないし(TGAとかだといけるけど)。
キャンバスの透過部分が透明情報になる仕様だったと思う。

…というか書き出せるソフトないような気もする。
04934852010/12/21(火) 18:22:52ID:6gKaW02Y
もともとは拾い物の素材のアルファ付きPNGだったのですが、GIMPで読み込み&書き出しなおししたら問題なく読み込めました
お騒がせしてすみません
0494名前は開発中のものです。2010/12/21(火) 19:03:17ID:DCmOZWo0
ゲーム用の画像編集に超オススメなPictBear☆
TGAとかマイナーな形式が使えないのが玉に瑕だけど
0495名前は開発中のものです。2010/12/21(火) 20:49:15ID:dprW29GT
EDGE+SAI+PictBearな俺
0496名前は開発中のものです。2010/12/21(火) 21:08:41ID:ze0dEhj7
blenderでレンダリングvixで複数画像の結合padieで減色edgeで修正
時々gimpで何かを作成
0497名前は開発中のものです。2010/12/22(水) 06:00:04ID:7o5DLzcA
あっそう
0498名前は開発中のものです。2010/12/22(水) 07:51:06ID:8pODspNp
Paint。NETなんてーのもあるでよ
なにげに対応形式が多めで結構良い
0499名前は開発中のものです。2010/12/22(水) 09:15:31ID:e2TM10Kv
bullet対応マダー?
0500名前は開発中のものです。2010/12/22(水) 13:35:34ID:MUMnoYe4
ゲーム内で作ったポリゴンを指定の座標におこうと思ったら
各頂点の座標と、法線のデータを行列かなんか使って変更して
DrawPolygon3Dで描画するしかないってことでOKですか?

MV1SetMatrixみたいな使い方をする関数は、
用意されてないので自作するでOKですか?
0501名前は開発中のものです。2010/12/22(水) 13:37:28ID:IvccD/N9
召喚魔法か
0502名前は開発中のものです。2010/12/25(土) 00:06:34ID:PX+W0VeN
PlayMusicMem()でMIDI以外(具体的にはMP3)って再生する方法ある?

兄弟分のPlayMusic()はMP3も可能とあるから、出来そうな気もするんだけれど、
LoadSoundMem()でファイルを読んでも再生されないし、LoadMusicMem()だと読み込めない。
0503名前は開発中のものです。2010/12/25(土) 14:00:42ID:WWDdjJ+m
PlayMusicMemじゃ出来ないんじゃないかな……
多分、その周辺の関数はメディアプレーヤーの機能を呼び出してるだけだと思う。

そっちの方では、MIDIはファイルサイズが小さいからメモリに読み込んでから再生するのがデフォだけど
MP3だとメモリに展開すると数十メガバイトっていう膨大なメモリが必要になっちゃうから、そういう機能が用意されてない。

DXライブラリだとLoadSoundMemでデコードしてPlaySoundMemで再生する機能があるからそっち使うしか




ところで自分も質問なんだけど、DXライブラリの機能だけで同一の効果音を多重再生することってできないのかな……?
0504名前は開発中のものです。2010/12/25(土) 14:47:38ID:PX+W0VeN
>>503
ありがとう。
どこかで覚えておいて、振り分けるか…
0505名前は開発中のものです。2010/12/25(土) 15:05:02ID:IK10YbI2
>>503
鳴らしたい数だけハンドル用意して複製していくしかないと思う

int hSnd[2];

hSnd[0] = LoadSoundMem("Sound.way");
hSnd[1] = DuplicateSoundMem(hSnd[0]);

//同時に同じ音が鳴る
PlaySoundMem(hSnd[0], DX_PLAYTYPE_BACK, TRUE);
PlaySoundMem(hSnd[1], DX_PLAYTYPE_BACK, TRUE);
0506名前は開発中のものです。2010/12/25(土) 22:21:50ID:B5WG/q/C
>>505
ありがと
やっぱりそうなのか……
勝手にそれをやってくれるようにライブラリラップするかな
0507名前は開発中のものです。2010/12/26(日) 02:17:47ID:RaeFlSg/
>>506
1つのサウンドに対してハンドルをたくさん用意して、複製で埋めておく
再生要求が来たら、たくさんある中から再生中でないハンドルを探して再生する
毎回ハンドル確保してると数が増えると重い…
メモリは食うけど処理は軽い、他にいい方法がありそうな気もするけどw
0508名前は開発中のものです。2010/12/26(日) 02:28:14ID:vG7GTSX0
あらかじめ多重化したサウンドを作っておくとか
範囲攻撃とか迫力を出したいものはそうしようかなと思ってる
0509名前は開発中のものです。2010/12/26(日) 15:39:56ID:+OSey92T
NumSitei系隠し関数ってもう無くなっちゃったんだっけ?
0510名前は開発中のものです。2010/12/28(火) 15:04:59ID:ePTPtX4H
グレップも出来ない男の人って…
0511名前は開発中のものです。2010/12/28(火) 22:04:16ID:mz1FzYji
GetPixelで得られる色コードの仕様ってどうなってますか?
0x00rrggbb
になってるかと思ったんですが違うようですね。
0512名前は開発中のものです。2010/12/28(火) 22:06:45ID:mz1FzYji
もしくは色コードからr成分g成分b成分を取り出す関数はありますか
0513名前は開発中のものです。2010/12/28(火) 22:20:47ID:mz1FzYji
softimageとか言うのを使ったらできたわw
0514名前は開発中のものです。2010/12/28(火) 22:20:48ID:WLmNs1bp
色コードはプレイする環境によって変わってくる仕様なので解析するのはちょっと面倒だと思いますが
GetColor2という、ドキュメント化されてない関数でRGB値は取れるみたいですよ
extern int GetColor2( int Color, int *Red, int *Green, int *Blue ) ; // 画面モードに対応した色データ値から個々の3原色データを抜き出す
0515名前は開発中のものです。2010/12/29(水) 18:15:22ID:G0RIxFok
SaveDrawScreenToBMPってサイズ制限ある?
250x8000くらいで試すと強制終了したんだが
0516名前は開発中のものです。2010/12/29(水) 18:23:36ID:G0RIxFok
サンプルコードも貼っとくか。SaveDrawScreenToBMP関数の先で強制終了している。

#include "DxLib.h"

// プログラムは WinMain から始まります
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode(TRUE);
if( DxLib_Init() == -1 ) { return -1 ; }

int W = 256;
int H = 8000;

int screen = MakeScreen(W, H);
SetDrawScreen(screen);
DrawBox(0, 0, 0,2000, GetColor(0xff, 0x00, 0x00), TRUE);
DrawBox(0,2000, 0,4000, GetColor(0x00, 0xff, 0x00), TRUE);
DrawBox(0,4000, 0,6000, GetColor(0x00, 0x00, 0xff), TRUE);
DrawBox(0,6000, 0,8000, GetColor(0xff, 0xff, 0x00), TRUE);

SaveDrawScreenToBMP(0, 0, W, H, "output.bmp");

DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
0517名前は開発中のものです。2010/12/29(水) 22:06:16ID:SA3aEaKL
おまえのスクリーン環境がそのサイズに対応してないんじゃないのか?
0518名前は開発中のものです。2011/01/01(土) 06:38:58ID:jkvcK/MP
あけましておめでとう
今年もDXライブラリにお世話になります
0519名前は開発中のものです。2011/01/07(金) 11:39:21ID:8D9xj+sX
新年早々バージョンアップきてるな
0520名前は開発中のものです。2011/01/07(金) 16:38:30ID:ksMhJX/5
ConnectNetWorkってスレッドで実行すると
GetLostNetWorkが取れなくなるだね...
接続を非同期でやる場合どーすりゃいいだ?
0521名前は開発中のものです。2011/01/09(日) 15:07:16ID:riAmXpMv
最近じゃ動画サイトを利用したアピールも多くなってきたけど、
実際、プレイ動画のキャプチャってどうやってる?

フリー版に挿入されるロゴが目立ちすぎる(ゲームの重要情報と被る)とか、
相性が悪いのか上手くキャプチャ出来ないとか、そんなのばっかりだ。
0522名前は開発中のものです。2011/01/09(日) 15:19:11ID:DphiUSmk
WMEのPC用の高品質VBRかアマレココ(外部コーデック使えばロゴ出ない)で撮ってaviutlでエンコこれ最強
0523名前は開発中のものです。2011/01/10(月) 04:40:56ID:98VKFiRq
「ふぬああ」と「SCFH」で録って「aviutl」でエンコ
0524名前は開発中のものです。2011/01/10(月) 15:27:41ID:3Lnx4KMp
あとはコーデックかな。
プレイ動画に適したシェアウェアってだけに、アマレココのコーデックはかなり使いやすいと感じた。
0525名前は開発中のものです。2011/01/11(火) 18:50:23ID:ahTB1MTp
ロゴ入ったらすげぇ安っぽい
0526名前は開発中のものです。2011/01/12(水) 23:59:17ID:IX6UcwL7
アマレココ使ってる。
アマレココ + AMV3ならロゴも出ないし。
0527 [―{}@{}@{}-] 名前は開発中のものです。2011/01/13(木) 17:14:55ID:gTveb5NK
ひょっとしてLoadGraphで読み込む画像のサイズが大きい程、
実際に描画するサイズに関わらず、その画像の描画速度が落ちる?
0528名前は開発中のものです。2011/01/13(木) 18:27:31ID:KfPfaEX5
日本語でおk
0529名前は開発中のものです。2011/01/13(木) 19:04:43ID:d0pyhd8k
DrawRectGraphとかLoadDivGraphの話っしょ
0530名前は開発中のものです。2011/01/14(金) 10:40:57ID:uYO5nSwA
同じ画面で使う画像はできるだけ一つに纏めた方が一般に描画は速くなる
0531名前は開発中のものです。2011/01/14(金) 10:58:09ID:npwMhXbr
この場合は、そのまとめた画面が大きくなれば描画が遅くなるのか、って質問だけどね。

ちなみに俺は知らん。
0532名前は開発中のものです。2011/01/15(土) 23:02:05ID:EUnBWKwY
320×320の画像ファイルを32x32で表示すんのと
64×64の画像ファイルを32x32で表示すんのとでは速度違うの?
ってことじゃね
0533名前は開発中のものです。2011/01/15(土) 23:26:11ID:/eCruyJX
二日も経つのに質問の正しい意図の説明がないとか。
0534名前は開発中のものです。2011/01/15(土) 23:45:05ID:9C1Hf1/U
サブ関数中でWaitKey中にウインドウが閉じられたりして終了されたときに
プロセスが残るんだけどどうすればいいのかな
0535名前は開発中のものです。2011/01/15(土) 23:46:02ID:9C1Hf1/U
ミスった
×WaitKey ○WaitTimer
0536名前は開発中のものです。2011/01/16(日) 00:51:04ID:c7K8Nuaq
サーセン自己解決しましたww
0537名前は開発中のものです。2011/01/16(日) 02:19:17ID:1qe/HxOd
解決したなら、結果も書けよ
0538名前は開発中のものです。2011/01/17(月) 20:35:56ID:CJVx/DXa
どうせDxLib_Endしてなかったって落ちでしょ
0539名前は開発中のものです。2011/01/20(木) 20:32:07ID:fPAiy4d6
やっぱり画像サイズが小さい方が高速なようだぞ

http://msdn.microsoft.com/ja-jp/library/ee422132(v=VS.85).aspx
>テクスチャー サイズ
>テクスチャー マッピングのパフォーマンスは、メモリーの速度に大きく依存します。
>アプリケーションのテクスチャーをキャッシュする際のパフォーマンスを最大限に高める方法がいくつかあります。

>?テクスチャーを小さくする。テクスチャーが小さいほど、メイン CPU の 2 次キャッシュに格納される可能性が高くなります。
0540名前は開発中のものです。2011/01/21(金) 01:10:43ID:W9RTX3n7
その解釈で大丈夫か?
俺はその下に書いてあることの方が気になる
0541名前は開発中のものです。2011/01/21(金) 02:09:10ID:wzKupONA
サイズを統一しろとか、正方形のほうがいいとか?
0542名前は開発中のものです。2011/01/23(日) 08:33:51ID:q+kP4u3W
>>540
キャッシュに格納されればその方が高速だろうからいいんじゃね?
0543名前は開発中のものです。2011/01/23(日) 17:06:43ID:nWmDlCxz
>>539
サイズが小さいほどキャッシュヒットしやすくてGPU処理が高速になるのは確かだけど
それでテクスチャの切り替えが増えたらCPUネックになって結果遅くなるけどね。

32x32のテクスチャ数十枚用意してチップ並べるよりは1枚のでかいテクスチャに並べたほうが全体では遥かに速い。
0544名前は開発中のものです。2011/01/23(日) 17:13:16ID:f1kvmWCd
UV座標の変化で画像の切り替えをシミュレートした方が速いってこと?
0545名前は開発中のものです。2011/01/23(日) 17:21:24ID:nWmDlCxz
DXLibレベルの3Dや2DでGPUパワー使い切るなんて事はまずないし大半がCPUネックだからね。
0546名前は開発中のものです。2011/01/23(日) 17:39:36ID:H9c8Zqw4
2Dゲームは意外にグラフィック関係の負荷が大きいぞ
CPUのほうが遥かに余裕がある
0547名前は開発中のものです。2011/01/23(日) 18:35:47ID:nWmDlCxz
>>546
確かにシェーダーバリバリ使ってればそうなる可能性もあるね。
シェーダー使うでもない弾幕STG程度ならGPUだけ安物とかじゃなきゃ逆転しないけど。
0548名前は開発中のものです。2011/01/23(日) 19:38:33ID:IvAtt79g
DXライブラリ使っててネックになりがちなのはソフトウェアイメージだと思う
シェーダ使いまくってもGPU使い切るのは難しいけど
それと同じことをCPUでやったらすぐ遅くなる
0549名前は開発中のものです。2011/01/23(日) 20:25:57ID:0zyiUhkk
シェーダ使うような人ってDirectXを直に叩いてそうなイメージあるんだけど、なんでDXライブラリわざわざ使うん?
やっぱり楽だからなのかな
■ このスレッドは過去ログ倉庫に格納されています