トップページgamedev
1001コメント347KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2009/12/04(金) 16:49:13ID:7SKA4I5z
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/
0591名前は開発中のものです。2010/01/12(火) 20:04:11ID:VTukhXVT
C++はタブーとイディオムがある程度わかってくればいいんだがそこまでがしんどい
0592名前は開発中のものです。2010/01/12(火) 20:11:01ID:fpWsGGI2
>C言語では小数から整数への変換は小数切捨てになる。
ありがとう
>「型キャスト」で調べてみて。
型のサイズの順位とか知らないことがたくさんありました。

>>でfloorになる?これは一般的にどう書かれる?
>ならない。もっと言えばコンパイルすら通らない。
ちょっと間違えました。
>>589のようにしてコンパイルはとおってますが、何か穴があるかもと心配でした。

ちなみにdoubleを使ってたらたとえば加算する数値をきっちり1.0にすることができないことによる不具合を味わったことがあり、
固定小数点なら100を加えるときっちり1ドットだけ動くのが確定している利点があると思うんです。
0593名前は開発中のものです。2010/01/12(火) 20:36:56ID:vZoY7Utz
>>592
誤:y_for_draw = (y100-99) / 100;
正:y_for_draw = (y100+99) / 100;
やりたいのはこういうことじゃない?

固定小数点数にもデメリットはあるし、個人的には浮動小数点数を使った方が良いと思うんだけどなあ・・・
・表現として分かりづらい(ソースコードが見づらい)
・扱える数値の範囲が狭い
・浮動小数点数を扱う標準関数やその他のライブラリが使用できない
0594名前は開発中のものです。2010/01/12(火) 20:50:28ID:efhBp1Rb
ふと思ったんだけど -0.5 の小数点以下を切り捨てってのは
普通は 0 になると考えるのか -1 と考えるのか。
0595名前は開発中のものです。2010/01/12(火) 21:01:29ID:fpWsGGI2
>>593
>誤:y_for_draw = (y100-99) / 100;
>正:y_for_draw = (y100+99) / 100;
いえ、修正後を再掲すると
 if (y100 < 0)
 {
  y_for_draw = (y100-99) / 100;
 }
 else
 {
  y_for_draw = y100 / 100;
 }
で、"y100"が 0〜99 のときは描画ルーチンはゼロの座標をわたしたくて、
y100が -100〜-1 のときは「-1」の座標、-101のときは「-2」にしたいので
それにはこれで合ってると思います。

ちなみに固定小数点は今回だけのミニゲームで試しにやってみようって感じです。
次からはまた浮動小数点使うようになりそうです。
>・表現として分かりづらい(ソースコードが見づらい)
「y100」って感じの変数名で意外と解決されそうだったり^^;
0596名前は開発中のものです。2010/01/12(火) 23:19:04ID:q3clJG+f
俺も全く同じことしてたわw
変数名の付け方も
マイナスは考慮してなかったけど
y100は表現的にある程度解決できてもそれ以外、それに関わる他の変数とか範囲とかがややこしくなってくるんだよねえ

>・浮動小数点数を扱う標準関数やその他のライブラリが使用できない
キャストすればいいんじゃないの?
0597名前は開発中のものです。2010/01/13(水) 00:33:55ID:c62gE9Ki
>>595
ごめん、勘違いしてたみたい。
floor関数の動作なら>>595で大丈夫そう。

>>596
>キャストすればいいんじゃないの?
誤差を無くすために固定小数点数を使っているのでそれをやると駄目だと思うんだけど・・・

「y100」という変数名が分かり易いというのはかなり疑問を感じるな。
最初に見たとき「y+100」か「y-100」の書き間違いかと思ったし。
あと小数第2位までしか扱えないのはかなり精度が低いと思う。
アクション性の高いゲームだと誤差の影響が出そう。
0598名前は開発中のものです。2010/01/13(水) 00:47:43ID:ikjcXzx3
そもそも固定小数点使ってるのは誤差を無くす為だったのか
まあ y100 というのは苦肉の策でそのまま yを使うよりはまだ分かり易いだろうということと、
そら他人からみたらあれっとは思っても自分で使う分には若干間違い減らす可能性が上がるかなといった程度だろ
あくまで少数第2位までを使うのは表示上の問題だけじゃないの?
表示する場合は整数しか扱えないが内部的には小数で記憶しておきたいという
そもそも別に少数第2位までしか扱えないわけではないと思うがなあ
ただ座標の値を少数第2位まで持ちたいってだけで
計算まで少数第2位までしか使えないってわけじゃないでしょ
0599名前は開発中のものです。2010/01/13(水) 11:01:12ID:5DwaMjit
log.txtを勝手に生成されるんですけど
生成しないようにするには可能?
0600名前は開発中のものです。2010/01/13(水) 11:13:13ID:c62gE9Ki
>>599
SetOutApplicationLogValidFlag(FALSE);
0601名前は開発中のものです。2010/01/13(水) 11:54:25ID:e0BJb6Ws
2.25bなんだが、
vista で CheckHitKey( KEY_INPUT_RSHIFT );
がうまく動作しない。
XPだと動く。RSHIFTだけ動かないんだよな。
なんでだろう?
0602名前は開発中のものです。2010/01/13(水) 12:44:41ID:c62gE9Ki
>>601
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1352
0603名前は開発中のものです。2010/01/13(水) 13:01:04ID:b/PQw5gR
質問です。
画像などをロードするとっきって、パスをいつもちまちま指定しないといけないのでしょうか?

例えば、画像をロードする場合、
Load("Data\\img\\hoge.png");
みたいな感じではなく、単に
Load("hoge.png");
のようにロードできたら楽なのになぁと思った次第です。
ファイルが増えるに従って、管理がしやすくするためにパスも長くなっていきますし……。

もちろん自分でパスをセットしてくれる関数を組むのもアリなのですが、
VC#みたいに、リソース追加&ファイル名指定でさっくり使えたら楽だなと思ったので……。

リソースからの読み込みができる関数はみつけたのですが、
IDでの指定なので、どのファイルがどのIDなのか覚えるのが面倒となってしまい使いにくいorz
0604名前は開発中のものです。2010/01/13(水) 13:22:01ID:qeehEc52
>>603
自動的にDataフォルダを検索してhoge.pngを探してロードするってこと?
win32APIの関数使えば出来なくも無いと思うけど多分労力に見合うほどのメリットはないと思うよ
何回もロードするもんでもないし
0605名前は開発中のものです。2010/01/13(水) 13:26:47ID:HfkhU9/3
>>601-602

俺は601じゃないけど、2.25bをまだ使ってる。
で、601の様な現象知らなかったわけだが、602の解決してる時点で9月だよな。
俺が持ってる2.25bはタイムスタンプが5月だし、公式でDLできる2.25bも5月のものだ。

602の示してるレスで公開されてるtestバージョンはバージョンアップされるたびに上書きされてるから、
(今落として確認したが)つい先日のものになってるな。

2.25bバージョンの最新って管理人さん持ってるかなぁ……。
0606名前は開発中のものです。2010/01/13(水) 13:35:20ID:c62gE9Ki
>>603
>IDでの指定なので、どのファイルがどのIDなのか覚えるのが面倒となってしまい使いにくいorz
IDをファイル名と同じにするとか分かり易い名前に変えてしまえばいいだけでは?
0607名前は開発中のものです。2010/01/13(水) 13:46:41ID:H0QsxNXz
最近バージョンだと何か問題でもあるのか?
0608名前は開発中のものです。2010/01/13(水) 15:49:43ID:Yyh3OrXE
DXライブラリが最新バージョンだと動画をLoadGraphで読んでPlayMovietoGraph使って表示したとき透明色が適用されない
(といっても透明色にするにはエンコード方式は古いMicrosoft Video 1くらいしか使えない諸刃の剣)
0609名前は開発中のものです。2010/01/13(水) 16:07:06ID:HfkhU9/3
俺が過去に作ったゲームを最新のDXライブラリでリコンパイルすると透過色が無視されるてるなー。
0610名前は開発中のものです。2010/01/13(水) 16:39:46ID:fVXUl//w
孔明の罠
0611名前は開発中のものです。2010/01/13(水) 17:47:10ID:b/PQw5gR
>>604
その通りです。
ロードする際に使った文字列を、ハンドル代わりにつかっているので、
メリットとしては、指定をいちいちしなくてすむので楽になります。

たとえば、
Draw("hoge.png");
とかで、色々操作できるような設計にしています。

Win32APIの関数でできるのですか。
直接MSDNから探し出すスキルがない残念スキルですが、調べてみようと思います。

>>606
おおなるほど、これは盲点でした……。
0612名前は開発中のものです。2010/01/13(水) 19:35:30ID:KRarygD9
>>611
良い方法じゃないかもしれないけど、マクロと
stringかsprintf系の関数使って文字列つなげば
一応Load()には、ファイル名渡すだけでもすむよ。
//--------------------------------------
#define HOGE_PATH "..\\iData\\img\\"

void Hoge::LoadData(const char* data_name)
{
char path[255];
sprintf(path, HOGE_PATH "%s.png", data_name);
Load(path);
}
//--------------------------------------
みたいな感じで(エラー処理とかは省略)。
ちなみにHogeのコンストラクタ内とかで、APIのFindFirstFile()
とか使って、フォルダ内の任意の形式のデータ名を列挙して
読み込むようにすれば、Hogeの生成時にpngの形式だけ自動で
読み込むとかも可能。

ただスクリーンショット取れるゲームとかでない限り、画像
データの名前や数は変わらないはずだから、ハードコーティング
するよりパス含んだデータ名を列挙したテキストとかを作って
おくのがいい気もする(もちろんこれも手動では作らない)。
そうしておけば、画像の数とかに変更あってもプログラムの方は
何もいじる必要ないし。
0613名前は開発中のものです。2010/01/13(水) 20:53:47ID:fVXUl//w
なんというレベル・・・
0614名前は開発中のものです。2010/01/13(水) 22:45:52ID:K/6CPc2l
俺はstd::mapを使ってるな。値を画像ハンドルにしてる。
キーを文字列にすれば分かりやすいし。
0615名前は開発中のものです。2010/01/14(木) 02:11:03ID:842AZX10
同じファイル名が来ることはないのか
0616名前は開発中のものです。2010/01/14(木) 02:36:14ID:Y9GNPZz3
画像ファイル名一覧(分割するなら分割数なども)を
外部のテキストファイルに置いて、それを読み込む手法は便利ちゃ便利だし美しいな。

ツクール系や画像ビューワなどのアプリを作りたいというなら別にしても、
結局、その画像を使うにはプログラムの修正が必要だったりするわけで、
そこまで外部化するメリットが無い気がする。

それならファイル名をプログラム側で固定してしまうというのも十分アリじゃないかな。
「趣味で!」「勉強のため」というなら好きにやるべきだし、そういうこだわりは重要だと思うけれど。


>>615
拡張子無しとか、拡張子を固定するとか、
あとは最初はbmpで次はjpg…みたいに読み込む優先度を決めておくとか。

06176162010/01/14(木) 02:42:40ID:Y9GNPZz3
送信してから思った。

最近は個人レベルのゲームプログラミングでも、
ゲームの内容を外部のスクリプトファイルで定義するスタイルが増えてきてるみたい。

全部をスクリプト化しろとは言わないけど、
例えばメニュー画面の挙動とか、何らかのキャラクターのアニメーションの仕方とか、
そういう部分的にでも外部に出しちゃう作りにすれば活かせるかもね。

まあ、非常に手間ですが。
0618名前は開発中のものです。2010/01/14(木) 10:10:33ID:DPt8d+Sq
外部ファイルにパスや必要な情報書いて読み込み、
それをクラスに格納して処理、コンテナに追加して保持、分割も自動でやってる
ハンドルはアドレスをクラスに用意したポインタのメンバ変数に格納して
再ロードしても画像ハンドルへのアクセス先は変わらないようにしてる
SetRestoreGraphCallbackに↑で書いたコンテナから再ロードする関数登録

ハンドルの情報が消えてしまうときって、それまでに画像読み込んで取得したハンドル全て消えるよね?
何が消えるかよくわからなかったから
描画関係全て再設定させてるんだけど、皆さんは再ロード処理どのようにしてますか?
0619名前は開発中のものです。2010/01/14(木) 11:35:51ID:f9B4N6q6
>>618
何を言っているのかわからない
0620名前は開発中のものです。2010/01/14(木) 11:42:32ID:Wuk1wnH6
>>618
>ハンドルの情報が消えてしまうときって、それまでに画像読み込んで取得したハンドル全て消えるよね?
まずこれがよく分からない・・・
リファレンスに全部書いてあると思うけど。
0621名前は開発中のものです。2010/01/14(木) 12:57:05ID:GEhjs3wb
ドラクエとかマップとかキャラ動かすプログラムは1個つくったら
流用が基本だよな あとはちょくちょく改造

現にSFCのドラクエ3ってSFCドラクエ6の流(ry
06226182010/01/14(木) 12:59:53ID:DPt8d+Sq
ごめん、書き方悪かった
何が消えるってか何が初期化されるのか、
ハンドル以外にもあったようなのでそれもききたかった
(DXライブラリのスレだったかな?カメラがどうとか)
ってハンドルは全て消えるよね・・・

で、リファレンスに全部書いてあるのか
見落としてたっぽい、すまねえ見てくる
0623名前は開発中のものです。2010/01/14(木) 13:11:27ID:GEhjs3wb
ffshowの取り込み機能使うと紙芝居のような連番のjpgが作れる
(例:0.jpg〜1000.jpg (画像の形式:jpgにフレーム番号の桁数は0に設定))
(画像の形式はpngやbmpとかできるけどファイル容量が馬鹿でかくなる)
プログラムテストで使う大量の連番JPG1個ずつくるのめんどせーって人はおすすめ
0624名前は開発中のものです。2010/01/14(木) 13:53:55ID:842AZX10
俺も各クラスの画像にはハンドルのポインタ渡して
ウィンドウ⇔フルスクリーンにするときとか再ロードする場合は一括でやれるようにしてる
0625名前は開発中のものです。2010/01/14(木) 14:22:58ID:f9B4N6q6
めんどくせーのでエスパーすると
ハンドル情報が無効になった場合の対処でよろしいアルか?
06266182010/01/14(木) 21:00:02ID:DPt8d+Sq
いやもう、まじでわかりづらくてすまん
>>624と同じやり方だし、これはこれでいいかな
カメラもライトもモーション状態も全部復元できた
つーわけでスルーしてくだされ
0627名前は開発中のものです。2010/01/15(金) 12:18:57ID:MEm+h6H+
更新通知はオブザーバーパターンかな
0628名前は開発中のものです。2010/01/15(金) 23:03:18ID:GfBht2fI
WinSockを使ってオンラインのゲームを作りたいと思っています。
非同期通信にした後、
ウィンドウメッセージをどうやって受け取ればいいのでしょうか
0629名前は開発中のものです。2010/01/15(金) 23:16:16ID:mIIIz4fa
通信とウィンドウズメッセージ処理は別スレッドで
0630名前は開発中のものです。2010/01/15(金) 23:20:44ID:MEm+h6H+
bccとvc++以外のコンパイラで使いたい場合はDLL化するしかないかな?
0631名前は開発中のものです。2010/01/16(土) 14:25:40ID:q2B4ABrd
C#用のDLLが使える
普通のCインターフェイスだから
06326282010/01/16(土) 16:27:15ID:rUwaGg5H
開発環境はVisual Studio 2008 Express Editionです。
>通信とウィンドウズメッセージ処理は別スレッドで
これは、マルチスレッドにする、ということでしょうか?
あと、ウィンドウメッセージを受け取るにはPeekMessage関数を使うのでしょうか?
0633名前は開発中のものです。2010/01/16(土) 16:40:06ID:jHRnZJbI
まだ、はやい
0634名前は開発中のものです。2010/01/18(月) 15:10:04ID:NiKHIjeB
どうにかgifアニメを表示できないでしょうか?
0635名前は開発中のものです。2010/01/18(月) 15:50:40ID:ocST5QSJ
ばらして一つ一つ表示すれば
0636名前は開発中のものです。2010/01/18(月) 16:17:33ID:1VuUUtA0
コマごとに読み込んでハンドルを配列に入れて回しながら表示してみろ
0637名前は開発中のものです。2010/01/18(月) 16:19:59ID:Y1kYbBl9
みんなアニメーションの抽象化ってどうやってんの?
0638名前は開発中のものです。2010/01/18(月) 16:36:31ID:ZRf7R4pO
>>637
デザ・・・と言いたいところだが、キチガイ扱いされるので言わない^^b
0639名前は開発中のものです。2010/01/18(月) 16:36:50ID:AJVbiEYR
アニメーションの抽象化ってなに。
0640名前は開発中のものです。2010/01/18(月) 16:37:28ID:ocST5QSJ
14歳に乗ってたな
0641名前は開発中のものです。2010/01/18(月) 17:21:08ID:NiKHIjeB
ありがとうございます!
gif自体がDXライブラリで表示できないみたいなので
ばらしてbmpに変換して表示させます。
0642名前は開発中のものです。2010/01/18(月) 18:17:21ID:/YEQVsc4
ソフトによってはgifアニメを書き出す要領でアニメーション用にずらっと並べた形で排出してくれるものもあるから要チェック
0643名前は開発中のものです。2010/01/18(月) 18:40:53ID:NiKHIjeB
Giamっていうツールで分解してみます。
gifが表示できたらなあ・・・
0644名前は開発中のものです。2010/01/18(月) 19:23:22ID:p6A/ppr3
gifの表示だけは諦めた方がいい
と思ったけど何年か前にライセンス切れたとかだったっけ?
0645名前は開発中のものです。2010/01/18(月) 19:34:01ID:YzUndEty
gifアニメ、
PlayMovie()で出来たはず。
0646名前は開発中のものです。2010/01/18(月) 19:40:04ID:NiKHIjeB
>>645
うおおおおおおおおおおおおおおおおおおおおおお
できたあああああああああああああああああああああああああ
ありがとおおおおおおおおおおおおおおおおおおおお
0647名前は開発中のものです。2010/01/18(月) 19:44:19ID:/YEQVsc4
playmovieが使えるのか、初めて知った
0648名前は開発中のものです。2010/01/18(月) 19:44:24ID:aB6jW3dA
でもgifアニメ表示する利点というか利用価値が思いつかない
0649名前は開発中のものです。2010/01/18(月) 19:46:09ID:YzUndEty
これは作者も知らないと思う、osの機能だから。
0650名前は開発中のものです。2010/01/18(月) 19:57:40ID:NiKHIjeB
本当にありがとうございました。
ただのビューワを作ろうかと・・・
できないと諦めかけてたので>>645さんありがとう!
0651名前は開発中のものです。2010/01/18(月) 21:14:28ID:ZRf7R4pO
>>645
APIの旅からの帰還
お待ちしておりました
全員敬礼!
0652名前は開発中のものです。2010/01/20(水) 21:26:19ID:ZmWqqE9G
#define MAX_MOVIE_NUM (100) // 同時に持てるムービーハンドルの最大数
と、DxLib.hの中に書いてあったのですが、
この(100)の値を変えても100以上読むことができません
変更を適応する方法とかありますでしょうか・・・
0653名前は開発中のものです。2010/01/20(水) 21:37:33ID:ZmWqqE9G
ライブラリの改造で事足りました
スレ汚しすまそ
以下スルーお願いします
0654名前は開発中のものです。2010/01/20(水) 21:42:45ID:SKKsOccv
俺は言われるとスルーできねえ太刀なんだよ
どうしてくれんんだてめえ
0655名前は開発中のものです。2010/01/20(水) 22:09:33ID:q0DDgX3G
キレやすそうだな。
0656名前は開発中のものです。2010/01/20(水) 23:52:50ID:cMpODo4B
真面目なかたなのね
0657名前は開発中のものです。2010/01/20(水) 23:59:20ID:zuhGGFh3
太刀だけにキレやすいってか
うまいこと言うじゃねーか
0658名前は開発中のものです。2010/01/21(木) 06:53:57ID:zKTatolx
だれうま
0659名前は開発中のものです。2010/01/21(木) 17:26:19ID:VSiukrvi
おれうま
0660名前は開発中のものです。2010/01/21(木) 17:42:38ID:ASaFDbPd
きみのためならうま
0661名前は開発中のものです。2010/01/21(木) 18:34:21ID:f/5KsMY8
かゆ・・・うま・・・
0662名前は開発中のものです。2010/01/21(木) 21:15:18ID:3z0s89gO
昨日、この屋しきから逃げ出そうとした研究いんが一人、射さつされた、て はなしだ。
夜、からだ中 あついかゆい。
胸のはれ物 かきむしたら 肉がくさり落ちやがた。
いったいおれ どうな て
May 19, 1998

やと ねつ ひいた も とてもかゆい
今日 はらへったの、いぬ のエサ くう
May 21, 1998

かゆい かゆい スコットーきた
ひどいかおなんで ころし
うまかっ です。
4

かゆい
うま
0663名前は開発中のものです。2010/01/24(日) 17:17:54ID:t3rqV2es
MV1GetFramePositionでフレームの座標取れた人いる?
0664名前は開発中のものです。2010/01/24(日) 17:45:49ID:eNyArIdy
>>663
何かそれと関連するような書き込みみた
MV1Frame系の根本辺りにバグでてるのかもよ
試してないから憶測な
0665名前は開発中のものです。2010/01/24(日) 18:30:40ID:t3rqV2es
>>664
そうなのか・・・
0666名前は開発中のものです。2010/01/24(日) 18:53:34ID:mtzPnJPW
SetWindowStyleModeのあと
ドラッグ&ドロップが効かなくなるのは仕様ですか
0667名前は開発中のものです。2010/01/24(日) 19:30:56ID:mtzPnJPW
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
char Key[MAX_PATH];
char File[MAX_PATH];
int open;
bool flag=false;
SetAlwaysRunFlag(TRUE);//アクテイブでも動作
if(ChangeWindowMode(TRUE)!=DX_CHANGESCREEN_OK || DxLib_Init()==-1) return-1;
SetDrawScreen(DX_SCREEN_BACK);
SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可
while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll(Key)){
open=GetDragFilePath(File);
if(open!=-1){
clsDx();
printfDx("%s",File);
}
DragFileInfoClear();
if(Key[KEY_INPUT_Z]==1){//zキーでスタイル変更
if(flag==false){
flag=true;
SetWindowStyleMode(2);
SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可
}
else{
flag=false;
SetWindowStyleMode(0);
SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可
}
}
if(Key[KEY_INPUT_ESCAPE]==1)break;
ScreenFlip();
}
0668名前は開発中のものです。2010/01/24(日) 19:33:03ID:mtzPnJPW
DxLib_End();
return 0;
}
//ソースここまで
スタイル変更のあとはどんなことやっても無駄でした。
なにか解決方とかありますでしょうか・・・
0669名前は開発中のものです。2010/01/25(月) 13:30:00ID:KA8nsg8v
SetWindowStyleMode(2);
SetDragFileValidFlag(FALSE);
SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可

SetWindowStyleMode(0);
SetDragFileValidFlag(FALSE);
SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可

ほい
0670名前は開発中のものです。2010/01/25(月) 14:54:28ID:RTDsX0xD
同じプログラムでもBCCとVCでコンパイルすると微妙に絵画スピード違う?
BCCの方が重いんだが
0671名前は開発中のものです。2010/01/25(月) 17:04:41ID:okvPpsG4
絵画? 描画?

まあ、別のアルゴリズムでビルドされている以上、違いがあってもおかしくはないな。
もしかすると最適化の設定とかもあるかもしれない。
0672名前は開発中のものです。2010/01/25(月) 17:30:21ID:0o6Nm1jn
描画の速度は同じだと思われるが最適化の性能はコンパイラによって大分違う
っつっても今は両方同じくらいだと思うが
古いのは効率悪い
0673名前は開発中のものです。2010/01/25(月) 17:32:24ID:LL1ffQYA
CPU メモリ グラフィックカード MMX 他のソフトが動作してないか
などなど
条件を一致させるのは至難の技
0674名前は開発中のものです。2010/01/25(月) 19:00:44ID:6DMAN8Oi
>>669
ありがとうございます!
無事ドラッグ&ドロップがスタイル変更後も効くようになりました
なんだかくやしいです
0675名前は開発中のものです。2010/01/26(火) 01:58:18ID:tj2S0wJn
隠し関数一覧とかないの?
リファレンスに機能の半分くらい乗ってなくね?
0676名前は開発中のものです。2010/01/26(火) 02:34:26ID:PVZ337CH
そんなあなたにおすすめ、DxLib.h
0677名前は開発中のものです。2010/01/26(火) 02:43:45ID:tj2S0wJn
既に見ながら発掘してるけど、使い方分からんのが沢山あるし。
0678名前は開発中のものです。2010/01/26(火) 03:09:22ID:p39VC7Ub
LoadSoundMem("ファイル名");
SetSoundCurrentTime(時間,サウンドハンドル);
PlaySoundMem(サウンドハンドル,DX_PLAYTYPE_LOOP,*2 BGMを最初から再生するかというフラグ);

*2 TRUEで最初から再生(デフォルト) FALSEで途中から再生できる

int bgm;

bgm=LoadSoundMem("a.wav");
SetSoundCurrentTime(5000,bgm);
PlaySoundMem(bgm,DX_PLAYTYPE_LOOP,FALSE);

a.wavの5秒後から再生する(BGMファイルの曲の長さ仮に5秒以内のファイルなら最初からになる ・・・と思う)
0679名前は開発中のものです。2010/01/26(火) 13:26:42ID:PVZ337CH
>>677
内部用の関数だったり、試験的に実装した関数なんかが多いから、
公式リファレンスが無いのは仕方ない。

仮に第三者がリファレンスを作ったとしても、
内部用関数である以上、いつ仕様が変更されてもおかしくないわけだし。
…以前、DXライブラリのWikiを作ろうとした人がいたけれど、あれどうなったのかなあ。


DxLib.hにはしっかり丁寧にコメントが書かれてるし、実用レベルでそんなに困ることはないと思うけどな。
コメントを読んでも意味がわからない関数は、たぶん今の自分には関係ない関数だと思っていい。
0680名前は開発中のものです。2010/01/27(水) 02:10:49ID:+9fTCg9n
まあ PlayBeep()なんて
誰得な関数もあるしな
0681名前は開発中のものです。2010/01/27(水) 02:46:02ID:wVIH00tk
それってBeep音鳴らすの?
だとしたらエラーの警告音とかに使えそうじゃない?
0682名前は開発中のものです。2010/01/27(水) 12:43:56ID:bk5n/QgN
エラーが発生したなら、素直にOSへ投げた方が良さそうだしなあ。
Beep音に限らずね。

逆に、ゲーム内で「エラー」の演出をしたいというなら、
それ専用のサウンドファイルを用意するべきだろう。
0683名前は開発中のものです。2010/01/27(水) 13:28:51ID:VlaGcRFB
SetDrawBlendMode( DX_BLENDMODE_ALPHA, 128);
LoadGraphScreen( 30, 10, "a.bmp", TRUE);
SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0);
をやると一気にfpsが小さくなるんだけど、それを避ける方法ある?
丁寧に教えてください。断片じゃ分からないんで。
0684名前は開発中のものです。2010/01/27(水) 13:34:10ID:eUrMXCBM
ハハッ
公式見てこいよ 根本から間違ってる
0685名前は開発中のものです。2010/01/27(水) 13:43:01ID:D7qew4lJ
ハハッワロス
0686名前は開発中のものです。2010/01/27(水) 14:40:35ID:eQLJYwgf
宣言 int LoadGraphScreen( int x , int y , char *GraphName , int TransFlag ) ;
概略 画像ファイルを読みこんで画面に表示する

要するに、ハードディスクから画像を”読み込んで”表示するわけだ。
毎フレーム、データ読み込んでたら重くなるの当たり前。
0687名前は開発中のものです。2010/01/27(水) 15:40:40ID:VlaGcRFB
>>686
ttp://dixq.net/g/39.html
ここの人の見てαブレンド処理したんだけどそんな変なの?
できれば、αブレンド処理の速いやり方教えてほしい。
0688名前は開発中のものです。2010/01/27(水) 15:44:59ID:eQLJYwgf
違う!
αブレンドのやり方はそれでいい!

一つ訊きたいが、fpsがどうとか言ってるって事は、ある程度形は出来てるんだよな?
アクションかシューティングか、何作ってるのか知らないけど。

てことは、キャラなりなんなりを毎フレームに表示させてるんだよな?

そのキャラを表示する時に LoadGraphScreen を使って表示してるのか!?
0689名前は開発中のものです。2010/01/27(水) 15:50:10ID:eQLJYwgf
君はさ、学校に通う時、

朝、本屋へ行って教科書買って、学校行って勉強して、終わったら教科書捨てて、
次の朝、また本屋で教科書買って、学校行って勉強して、終わったら教科書捨てて、
また次の朝、本屋で教科書買って、学校行って勉強して、終わったら教科書捨てて……

ってやるか? やらないだろ?

毎フレーム LoadGraphScreen を使うってのは毎日教科書買ってるようなもんなんだよ。
0690名前は開発中のものです。2010/01/27(水) 15:52:15ID:VlaGcRFB
>>688
キャラはDrawGraphで表示してる。
オプション画面に切り替えた時、点数などを表すボードみたいものに
LoadGraphScreenを使ってる。だから、ゲームには影響ないんだけど。
オプション画面に切り替えた時fpsが一気に下がって気になって今回
聞きました。
0691名前は開発中のものです。2010/01/27(水) 15:59:36ID:eUrMXCBM
>>690
オプション画面に切り替えたら画面停止でもすんの?
プログラムのフロー分かってる?
■ このスレッドは過去ログ倉庫に格納されています