DXライブラリ 総合スレッド その6
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2010/02/25(木) 23:29:14ID:hEXp+gEaGUIのゲームを比較的容易に作成する事を可能にする、
「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/
0202名前は開発中のものです。
2010/03/22(月) 18:26:18ID:/ZrA42+90203名前は開発中のものです。
2010/03/22(月) 18:32:54ID:XicM9SHz今まで地味になにやってたんだろう俺(笑)
0204名前は開発中のものです。
2010/03/22(月) 18:46:02ID:Y44rl97h0205名前は開発中のものです。
2010/03/22(月) 21:11:09ID:Ylkk32ctまぁ描画クラスをラッピングしてもいけるけど。
0206名前は開発中のものです。
2010/03/22(月) 21:17:51ID:/ZrA42+9拡大縮小時のアルゴリズムを設定するAPIがあるけどその設定も無視される。
従って俺様が正解。
0207名前は開発中のものです。
2010/03/22(月) 21:19:43ID:mFq/Yxd90208名前は開発中のものです。
2010/03/22(月) 21:39:29ID:/ZrA42+90209名前は開発中のものです。
2010/03/22(月) 21:40:22ID:mFq/Yxd90210名前は開発中のものです。
2010/03/22(月) 21:56:47ID:/ZrA42+90211名前は開発中のものです。
2010/03/22(月) 22:01:35ID:EaQBZTnY整数倍なら普通に存在するし常套手段。
ただし>>199の言うとおり複数パターンの解像度があるなら、ニアレストネイバーだと酷い見た目になる
0212名前は開発中のものです。
2010/03/22(月) 22:12:58ID:XicM9SHz他人様に見せるレベルじゃないとは言え、一応ドット絵だからなあ。
ちなみに512x384という変則サイズでゲームを作って、それを640x480か800x600に引き伸ばしたいと思ってた。
いっそのこと2倍にしてしまおうか。
0213名前は開発中のものです。
2010/03/22(月) 22:20:21ID:Xkjz6Cweそりゃやめた方がいい。見栄えがとてもアレなことになるw
つーか、なんでわざわざそんな半端な解像度で作るんだ。ツクールVXの関係か?
素材はちゃんと想定解像度で揃えた方がいいよ。クオリティが全然変わってくる。
拡大縮小機能はあくまでオマケとして考えること。
0214名前は開発中のものです。
2010/03/22(月) 22:21:11ID:EaQBZTnY別にバイリニアでいいんじゃね そこまでおかしくなることもない
0215名前は開発中のものです。
2010/03/22(月) 22:33:53ID:+2vRg2cR0216名前は開発中のものです。
2010/03/22(月) 22:42:24ID:XicM9SHz・フルスクリーンにも対応できる
この2つの条件を満たしたいのよね。
フルスクリーンにするには、画面を標準的なサイズ(640x480や800x600など)に変更する以くらいしか思いつかない。
前にやったときは、2つの解像度で画面配置とか色々変えてやってみたんだけど、
さすがにこれは労力がかかりすぎた。
0217名前は開発中のものです。
2010/03/22(月) 22:52:41ID:rV1Y0nX10218名前は開発中のものです。
2010/03/22(月) 22:58:01ID:0x3obs8gフルスクリーンにするなら512×384も640×480もあんま変わらん。
512×384のままフルスクリーンにしてしまえばいい。
まあ、今時のディスプレイドライバが対応してるかは知らんが。
0219名前は開発中のものです。
2010/03/22(月) 23:06:24ID:XicM9SHz一番最初に考えて、ひどいなと思ってやめたw
>>218
少なくともウチの環境じゃ対応してなかったからなー。
さすがに確認できないのは色々と面倒くさい。
0220名前は開発中のものです。
2010/03/22(月) 23:08:47ID:0x3obs8gそもそもなんでそんなレガシーな解像度で作ってるんだ?
0221名前は開発中のものです。
2010/03/23(火) 00:19:20ID:GS8iVKAj0222名前は開発中のものです。
2010/03/23(火) 00:23:14ID:ISljKIQv0223名前は開発中のものです。
2010/03/23(火) 08:54:11ID:AXCuQ29/0224名前は開発中のものです。
2010/03/23(火) 09:14:42ID:gxCnh1tj0225名前は開発中のものです。
2010/03/23(火) 11:58:44ID:YXMSMc8V画像を縮小してメモリに保持する方法って無いですか
0226名前は開発中のものです。
2010/03/23(火) 12:16:26ID:yjI7ZKJL事前に縮小した画像を読み込まない理由はなんなの?
こっちこそ、それが知りたい
利用目的によって解決方法は様々だから
そうしたい理由を述べた方がいいよ
0227名前は開発中のものです。
2010/03/23(火) 12:20:15ID:Cw6AOstL縮小アルゴリズムは適当にネットで探す
0228名前は開発中のものです。
2010/03/23(火) 12:29:01ID:l82knREaそれだけでニコ動の解像度に合わせるのは十分ありだと思うぞ
0229名前は開発中のものです。
2010/03/23(火) 12:36:20ID:GBZ9iaKq640×480で製作したのを512×384に変換しても、
そもそもニコニコの画質がたかが知れてるから気にするほどの劣化は無い。
あと、有象無象の自作ゲームをアップしたところで宣伝効果はたかが知れてる。
閲覧数4桁行かんよ。
0230名前は開発中のものです。
2010/03/23(火) 12:37:29ID:Cw6AOstL撮影した動画を512*384に縮小するほうが明らかに良いと思うが
0231名前は開発中のものです。
2010/03/23(火) 13:13:36ID:oi8iyMuN0232名前は開発中のものです。
2010/03/23(火) 13:17:51ID:l82knREa品質>宣伝になってるのはほんと一握りのメーカーだけだよ
0233名前は開発中のものです。
2010/03/23(火) 13:25:13ID:Cw6AOstL宣伝のために品質を下げることはまず無い。強いて言えば宣伝費に圧迫されることによって表に出ない潜在的な研究成果が生まれること位。
0234名前は開発中のものです。
2010/03/23(火) 13:49:09ID:9vEQhXzn>>217わかるけど
512*384なんて解像度はドライバ側からありえない
0235名前は開発中のものです。
2010/03/23(火) 14:11:01ID:++pj2kz7http://www.elsa-jp.co.jp/products/graphicsboard/resolution/quadro.html
0236名前は開発中のものです。
2010/03/23(火) 14:12:25ID:++pj2kz7てかこれ何の商品だ?
0237名前は開発中のものです。
2010/03/23(火) 14:41:31ID:sE6KKUKg0238名前は開発中のものです。
2010/03/23(火) 15:33:13ID:WhugOCXV0239名前は開発中のものです。
2010/03/23(火) 15:43:03ID:z4Sj0akk0240名前は開発中のものです。
2010/03/23(火) 16:42:33ID:GS8iVKAj0241名前は開発中のものです。
2010/03/23(火) 16:49:09ID:wMJQRn7hエンコでどうとでもなるし画質劣化なんてわからないぐらいに抑えられる
別の理由があると思うんだが、なぜなんだぜ?
0242名前は開発中のものです。
2010/03/23(火) 20:01:35ID:5QVJzgJf誰にも出し抜かれないうちに実現したいんだろ。
自力で出来もしないのにケチなことには知恵が回る。
この手のガキには付き合わないほうがいいよw
0243名前は開発中のものです。
2010/03/23(火) 20:12:48ID:IlgZgFTs0244名前は開発中のものです。
2010/03/23(火) 20:23:45ID:7xtWgBdZ俺には、その発想なかったわ。
経験者は語るってやつかな。
0245名前は開発中のものです。
2010/03/23(火) 20:33:42ID:IlgZgFTsホント、出来ない奴ほど自分のアイデアが素晴らしいものだと思いこんで、
つまらないことばかりするんだよ。どっかの福本も言ってたじゃないか。
0246名前は開発中のものです。
2010/03/24(水) 01:02:14ID:eqD7xz7Kウィンドウ時はそのまま512*384で最大化時に640*480で枠付けたらいいと思う
そうなってるゲームあるし
0247名前は開発中のものです。
2010/03/24(水) 01:37:26ID:0baBlkEl0248名前は開発中のものです。
2010/03/24(水) 04:03:58ID:aLvqmjzQ画像を4枚表示してるだけなのに
FPSが42〜45くらいしか出ないんだぜ・・・
30カウンントごとにGetNowCount()して
(double)(30000/経過時間)ってやってる
ググッたらVistaでそういう症状が出たとかあったけど、俺XPだし・・・
DXライブラリでFPS制御って自動でやってたりするのん?
0249名前は開発中のものです。
2010/03/24(水) 06:24:19ID:DzrNVZ570250名前は開発中のものです。
2010/03/24(水) 11:45:55ID:eFhpq7n1毎フレーム画像読み込みやってんじゃない。
0251名前は開発中のものです。
2010/03/24(水) 12:49:01ID:yQ424YF50252名前は開発中のものです。
2010/03/24(水) 12:58:20ID:ZCmo6FOF0253名前は開発中のものです。
2010/03/24(水) 16:07:19ID:aLvqmjzQ確かめてみた
モニタのリフレッシュレートは60Hzだった
なんにもしないでFPS表示するだけのプログラム組んでみたけど
やっぱり43ぐらいしか出なかった
んで、DXライブラリのバージョンを3.00fから2.24cに落としたら
なんにもしない状態だとFPSは60出たけど
なんかやたらちらつくし、やりたい処理入れるとクソ重くて
使い物にならんかった・・・
DirectXとの相性なのか・・・?
0254名前は開発中のものです。
2010/03/24(水) 16:13:15ID:H1MROAKcとりあえずバージョンは3.02を入れれ
LoadGraphScreenはやってないんだな?
0255名前は開発中のものです。
2010/03/24(水) 16:25:00ID:6hYmxPv70256名前は開発中のものです。
2010/03/24(水) 16:31:28ID:aLvqmjzQ3.02で試してみた・・・が、やはりダメだた・・・
メインループ内の処理の内容は以下の通り
// 30カウントごとにFPSの更新を行う
// カウンター表示
// FPS表示
// ESCが押されたら終了
// カウンター加算
ScreenFlip();
ScreenFlip外すと7000FPSくらい出る
0257名前は開発中のものです。
2010/03/24(水) 16:44:27ID:H1MROAKcだ・か・ら・DrawGraphなのかLoadGraphScreenなのかと。
あと、裏画面設定はしてるよな?
0258名前は開発中のものです。
2010/03/24(水) 16:45:24ID:bIWSnw+J0259名前は開発中のものです。
2010/03/24(水) 16:54:02ID:aLvqmjzQんや、なーんもしないサンプルプログラムを
ちょっといじっただけだから
そもそも画像を描画してないんよ。
それでもFPSが45くらいまでしかでないんよ。
本来のソースでは、メインループ前に
SetDrawScreen( DX_SCREEN_BACK )してる
0260名前は開発中のものです。
2010/03/24(水) 16:56:03ID:bIWSnw+J0261名前は開発中のものです。
2010/03/24(水) 17:29:53ID:v/kSHX+iとりあえず、そのFPSを表示するプログラムのソースをうぷればいいじゃないの
0262名前は開発中のものです。
2010/03/24(水) 17:32:54ID:pNKd88tFていうか>>248で「画像を4枚表示してるだけ」と言ってるのに
「画像を描画してない」とはこれいかに。
0263名前は開発中のものです。
2010/03/24(水) 17:37:30ID:8+pX2m6J>>253
>なんにもしないでFPS表示するだけのプログラム組んでみたけど
>やっぱり43ぐらいしか出なかった
0264名前は開発中のものです。
2010/03/24(水) 17:43:43ID:aLvqmjzQ>>248は本来のプログラムの方の話で
>>259はサンプルプログラムをいじったテスト用のヤツの話ってことっす
わかりづらくてすまん
ではソースを晒してみる
まず変数宣言とプロトタイプ宣言
// ここにサンプルプログラムをペーストしてください
// 初期状態では LoadGraphScreen のサンプルプログラムが入力されています。
#include "DxLib.h"
static int KeyState[256];
static int before; /* パフォーマンス計測用 */
static int after; /* パフォーマンス計測用 */
static int time; /* 経過時間 */
static int gSTGCounterNow = 0;
static double gSTGFps = 0.0;
/* プロトタイプ宣言 */
int MainLoop();
int GetHitKeyPadStateAll();
int CheckKeyState( unsigned char keyhandle );
double GetFps();
0265名前は開発中のものです。
2010/03/24(水) 17:45:15ID:aLvqmjzQint WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode(TRUE); /* ウィンドウモード */
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{return -1;}
//// BMP画像の表示
//LoadGraphScreen( 0 , 0 , "test1.bmp" , TRUE ) ;
DWORD color = GetColor(255,255,255);
/* メインループ */
while( MainLoop() == 0 ){
/* 30カウントごとにFPSの更新を行う */
if( gSTGCounterNow % 30 == 0 ){
gSTGFps = GetFps();
DrawFormatString( 0, 40, color, "GET!" );
}
DrawFormatString( 0, 0, color, "COUNT:%d", gSTGCounterNow );
DrawFormatString( 0, 20, color, "FPS:%f", gSTGFps );
if( CheckKeyState(KEY_INPUT_ESCAPE) == 1 )
break; /* ESCが押されたら終了へ */
gSTGCounterNow++;
// ScreenFlip();
}
// WaitKey() ; // キーの入力待ち((7-3)『WaitKey』を使用)
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
0266名前は開発中のものです。
2010/03/24(水) 17:48:08ID:aLvqmjzQ/* 必須処理 */
int MainLoop(){
if( ProcessMessage() != 0 ) return -1; /* メッセージ処理 */
if( ClearDrawScreen() != 0 ) return -1; /* 画面をクリア */
if( GetHitKeyPadStateAll() != 0 ) return -1; /* キーの入力状態を保存 */
return 0;
}
/* キーとパッドの入力状態を取得 */
int GetHitKeyPadStateAll(){
char keybuff[256];
int i, padinput, mask = 1;
if( GetHitKeyStateAll( keybuff ) != 0 ) return -1; /* キーの状態を取得 */
for( i = 0; i < 256; i++ ){
if( keybuff[i] == 1){
KeyState[i]++;
} else {
KeyState[i] = 0;
}
}
return 0;
}
0267名前は開発中のものです。
2010/03/24(水) 17:49:27ID:aLvqmjzQ/* キーの押下状態を返す */
int CheckKeyState( unsigned char keyhandle ){
return KeyState[ keyhandle ];
}
double GetFps()
{
double fps;
after = GetNowCount();
fps = (double)(30000.0/(after - before));
before = after;
return fps;
}
0268名前は開発中のものです。
2010/03/24(水) 17:52:40ID:aLvqmjzQあ、ScreenFlip()コメントアウトしたままだった、ごめん
0269名前は開発中のものです。
2010/03/24(水) 17:58:31ID:bIWSnw+J0270名前は開発中のものです。
2010/03/24(水) 18:01:25ID:XTDZYbeS0271名前は開発中のものです。
2010/03/24(水) 18:04:46ID:rXfEfHUn0272名前は開発中のものです。
2010/03/24(水) 18:36:51ID:ye7/bw96程度の差はあれ、オレオレライブラリになるんじゃないかな。
0273名前は開発中のものです。
2010/03/24(水) 18:47:59ID:6hYmxPv7DrawFormatStringとCheckKeyStateをコメントアウトして画像だけを表示させるとどうなる?
ていうかなんでKeyState入れてんのにCheckKeyStateで書いてるんだ
0274名前は開発中のものです。
2010/03/24(水) 18:48:51ID:ZOsQwzUDSetDrawScreen(DX_SCREEN_BACK);
入れて、ScreenFlip();のコメント外せば、60FPS出たけど
0275名前は開発中のものです。
2010/03/24(水) 18:48:53ID:krUcGKfC0276名前は開発中のものです。
2010/03/24(水) 19:00:33ID:aLvqmjzQ0277名前は開発中のものです。
2010/03/24(水) 19:03:36ID:aLvqmjzQあれから検証した結果
どうやらグラフィックドライバーが主犯らしいということがわかりました
ドライバーを削除してWindowsデフォルトのドライバで動作させたら60FPS出ました。
んで再インスコしたらまた45FPSくらいになりました
>>273
龍神録は今のドライバちゃんと動くんです・・・不思議です・・・
0278名前は開発中のものです。
2010/03/24(水) 19:13:23ID:6hYmxPv7>>274-275
グラボ機能使わなかったら挙動が変わるのは当たり前だろ 阿呆か
0279名前は開発中のものです。
2010/03/24(水) 19:14:25ID:bIWSnw+J0280名前は開発中のものです。
2010/03/24(水) 19:17:07ID:aLvqmjzQサンプルをいじった方は
SetDrawScreen(DX_SCREEN_BACK)がなかったから
本来の方はSetGraphModeをDxLib_Init()をしてからやってた
ってのが原因だったみたいです
現象がおんなじだったから原因も同じかと思ってました
色々参考になるご意見ありがとうございましたm(_ _)m
0281名前は開発中のものです。
2010/03/24(水) 21:31:00ID:cmQcN6G9DxLibModelViewerで全マテリアルをトゥーンにして表示したけど
上手く表示できない。
PGの中で全マテリアルにMV1SetMaterialTypeでDX_MATERIAL_TYPE_TOONを設定してもダメ。
DxLibModelViewerでは上手く表示出来てるのに、上手くいった人どうやった??
ちなみに、Ver3.02aです。
0282名前は開発中のものです。
2010/03/25(木) 02:17:52ID:kfN5fJMW俺も表示がおかしくなった
でっかい陰みたいなのができる
0283名前は開発中のものです。
2010/03/25(木) 09:39:43ID:Kg5O4e1K過去ログはきちんと漁ってからな
0284名前は開発中のものです。
2010/03/27(土) 07:24:23ID:XgOQfTM/BCCやmingw分ける必要ないし。
0285名前は開発中のものです。
2010/03/27(土) 07:26:49ID:XgOQfTM/作者に行ってきてくれよ。
0286名前は開発中のものです。
2010/03/27(土) 08:49:37ID:FnjJsP0S0287名前は開発中のものです。
2010/03/27(土) 09:40:44ID:RRFAwMcI0288名前は開発中のものです。
2010/03/27(土) 10:11:11ID:nI3evfos0289名前は開発中のものです。
2010/03/27(土) 10:58:06ID:PCyuG3EX0290名前は開発中のものです。
2010/03/27(土) 11:27:38ID:wsq+iJuv0291名前は開発中のものです。
2010/03/27(土) 11:35:47ID:Qjh/kp520292名前は開発中のものです。
2010/03/27(土) 11:40:22ID:J0EWxEDJ0293名前は開発中のものです。
2010/03/27(土) 15:20:54ID:UQaDi0hI0294名前は開発中のものです。
2010/03/27(土) 15:28:49ID:XgOQfTM/windowsのどのコンパイラでも動かせて、開発の導入難易度が下がる。
その構成を元にしてオプションで、静的な埋め込みも出来るようにする。
コンパイル時にdefineを一個追加するだけとか。
0295名前は開発中のものです。
2010/03/27(土) 15:30:51ID:dJ5aNetY0296名前は開発中のものです。
2010/03/27(土) 15:44:47ID:5M0WY+wBてめえで作れ
0297名前は開発中のものです。
2010/03/27(土) 15:58:46ID:qLoi4LH00298名前は開発中のものです。
2010/03/27(土) 16:14:20ID:PCyuG3EX改造するとかでもないとショートカット以外に興味ないよ普通
興味あったとしても素人じゃセーブファイルぐらいだ
0299名前は開発中のものです。
2010/03/27(土) 19:18:04ID:R/ivjBrgプレイヤーとしてはファイル構成とかどうでもいいのが実情だろうな
>>294みたいに抽象的に書くのでは無く、どのコンパイラでこういう風に使えるから開発者が増えると具体的に書いてみたらどうだろう
0300名前は開発中のものです。
2010/03/27(土) 21:37:17ID:Qjh/kp52そう?
0301名前は開発中のものです。
2010/03/28(日) 00:40:16ID:QOdDqYRO別に用意しなくちゃダメかな?
■ このスレッドは過去ログ倉庫に格納されています