[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 02/15 22:43 / Filesize : 234 KB / Number-of Response : 934
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 [2009/03/31(火) 01:14:36 ID:IgyJcgap]
Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。

DXライブラリの詳細ついては
homepage2.nifty.com/natupaji/DxLib/
を参照して頂きたい。

DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

過去スレ:DXライブラリ 総合スレッド
      pc11.2ch.net/test/read.cgi/gamedev/1197468399/
     DXライブラリ 総合スレッド 2008
      pc11.2ch.net/test/read.cgi/gamedev/1224923873/

83 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 17:40:07 ID:29TC1pPK]
プログラム優先度変更オヌヌメ

84 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 17:49:43 ID:9LgVxSaT]
ノートPCでVistaだったら俺と一緒。
実行ファイルのプロパティ開いて、「互換性」→「WindowsXP SP2互換」にチェックを入れてみる。
もしかしたら幸せになれるかもしれない。

85 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 17:53:25 ID:43thkbhn]
>>79
遅くするための処理を導入して重くなったとはどういうことなんだ?

86 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 19:31:53 ID:4cs7HNP3]
>>79
たぶん初心者っぽいからこんなことをあえて言うけど
まずリフレッシュレートとプログラムのfpsを比較しないとね

87 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 00:15:55 ID:GN8f0M0n]
ここぞとばかりに食いつく初心者たちの群れ

88 名前:名前は開発中のものです。 mailto:sage [2009/04/15(水) 15:18:06 ID:I8P/Rh48]
そういやDXライブラリがDirectX9ベースに移植してるって話はどうなった?
あのコード量を移植するのは並大抵じゃないとおもうが、作者ガンバレ!

89 名前:名前は開発中のものです。 mailto:sage [2009/04/15(水) 16:13:43 ID:3g1BJoyH]
うーん、>>79 じゃないけどただ ScreenFlip してるだけで CPU 使用率が 60% くらいになるのはなんで?
Pen4 の 1.6GHz だけど

90 名前:名前は開発中のものです。 mailto:sage [2009/04/15(水) 16:37:47 ID:I8P/Rh48]
それはScreenFlipの仕様。VSyncがくるまで待機するんだが、その待機時間もCPU使用率に含まれる。(実質アイドリングループなのだが)
CPUが100%になるのがいやならVsync待ちを切ればいい。(ティアリングが発生するし、ゲームの速度も変わってしまう)

正しい設計はVsync待ちは有効で、なおかつFPS管理をし60fpsになるようにフレーム毎に適度にsleepを入れること。


91 名前:名前は開発中のものです。 mailto:sage [2009/04/15(水) 18:32:01 ID:lTpXHjBQ]
1か所sleepするだけでもだいぶ変わりそうだねぇ



92 名前:名前は開発中のものです。 mailto:sage [2009/04/15(水) 20:06:35 ID:OTuGa66k]
>正しい設計はVsync待ちは有効で、なおかつFPS管理をし60fpsになるようにフレーム毎に適度にsleepを入れること。

モニタのリフレッシュレートが60でない時はどうなるのかな。

93 名前:名前は開発中のものです。 mailto:sage [2009/04/15(水) 20:43:14 ID:1cQMYjlB]
公式より引用:
>前回の ScreenFlip から 10ミリ秒以下しか時間が経過していない場合のみ Sleep で処理を一時停止するようにしています

>>92
60fpsになるように管理してるんだから60fpsになるだろーがw

94 名前:名前は開発中のものです。 mailto:sage [2009/04/15(水) 21:18:20 ID:I8P/Rh48]
>>93
フルスクリーンにできる or デフォルトのリフレッシュレートが50 であるのであれば、Vsync有効。
ウィンドウモードでリフレッシュレートが60以外の場合は、ティアリングを犠牲にしてVsync切る。
(ウィンドウモードで垂直同期に合わせてしまうとティアリングの線が毎フレーム同じようなところにできてしまって、逆にきたなくなってしまう)

現状、DirectX7ベースのDXライブラリではウィンドウモードでのVsync無効だから、どうしようもないぜ。

95 名前:名前は開発中のものです。 mailto:sage [2009/04/15(水) 21:20:12 ID:I8P/Rh48]
すまん。誤字がすごい。レスは>>92へだ。
あと、50じゃなくて60。

96 名前:名前は開発中のものです。 mailto:sage [2009/04/15(水) 21:20:56 ID:lTpXHjBQ]
ん? 50?

97 名前:名前は開発中のものです。 mailto:sage [2009/04/15(水) 21:21:42 ID:lTpXHjBQ]
リロードしろ俺 orz

98 名前:名前は開発中のものです。 mailto:sage [2009/04/15(水) 21:43:40 ID:OTuGa66k]
>>60fpsになるように管理してるんだから60fpsになるだろーがw

だからどう管理するのかなーと。

単純に「1/60秒 - 前回のScreenFlipから経過した時間」でSleepかけると
モニタのリフレッシュレートが70の時、いざScreenFlipしようとした時には
すでに1フレーム経過しちゃうんだから、次のVsync信号待ちまで待っちゃうよね。
そしたら1フレーム 2/70 秒になって 35FPSって事なっちゃうのでは。

いや、当然こんな事解決する方法はあるんだろうけど
俺の頭じゃ難しくて。

99 名前:名前は開発中のものです。 mailto:sage [2009/04/16(木) 02:52:38 ID:12a1chsH]
>>94
>ウィンドウモードでのVsync無効だから

って言われるけどウィンドウモードで、どう見てもScreenFlipでVsync待った方が明らかにティアリングなしできれいなんだがなぜ?
リフレッシュレートを変えても同じ。
ただ、fps調整無しでリフレッシュレートのfpsになるように単純にVsyncを待った場合、
ウィンドウモードよりフルスクリーンの方が明らかに滑らか(高fps)を体感できる。もうよくわかんない。


100 名前:名前は開発中のものです。 mailto:sage [2009/04/16(木) 02:58:08 ID:uc3ezfKA]
70の時は1/70だから1/60よりも速いからその分だけ待てばいいのでは

101 名前:名前は開発中のものです。 mailto:sage [2009/04/16(木) 05:02:47 ID:XS+5u9bO]
>>99
OSはVistaかい?
VistaだとDesktopWindowManagerが自動でティアリング防止するように描画順を待機するようになるからティアリング無いかもね。(未検証でゴメン)
詳しくはここ。d.hatena.ne.jp/enra/20081014#p2
で、XPでDirectX7環境だとティアリングが発生します。でもXPでもDirectX9が検出できた場合に限ってScreenFlipで垂直同期待ちになる模様。
(もしくはティアリングが発生していても、線がウィンドウの領域と被ってないので見えてないだけかもしれない)



102 名前:名前は開発中のものです。 mailto:sage [2009/04/16(木) 05:18:57 ID:WR6HuXg0]
>>90
なるほどなるほど
VSync まちでいろいろやってるループより sleep の方が軽いのは当然てことか

103 名前:名前は開発中のものです。 mailto:sage [2009/04/16(木) 05:27:06 ID:12a1chsH]
>>101
2000/XPです。
下方向に高速スクロールする画面で、Vsync同期/非同期を切り替えられるようにしてます。
明らかに違いが出てきますね。
ティアリングに敏感な人なら確実に分かると思います。
同期してないとガリガリしてるような気がします。

でも、フルスクリーンの方がさら〜って感じでさらにきれいに見えるのも謎。
60Hzと70Hzじゃ描画回数が違うので当然なんだけど。(見た目にも描画回数が多いのがはっきりわかる)
でもこれはウィンドウモードとフルスクリーンじゃ絵柄自体の大きさが違うので錯覚してるだけかも。

>でもXPでもDirectX9が検出できた場合に限ってScreenFlipで垂直同期待ちになる模様。

これはかなり興味深いですね。初めて聞きました。
ウィンドウモードでも間違いなく同期してると思ってる派なので調べてみます。

104 名前:名前は開発中のものです。 mailto:sage [2009/04/16(木) 15:55:17 ID:U7PVHoMj]
>>100
>70の時は1/70だから1/60よりも速いからその分だけ待てばいいのでは

そしたら70FPSになるんじゃないか。

70FPSは60FPSより1秒間に10フレーム多い事になるから、
6フレームごとに1回、空待ちさせれば60FPSを実現させる事はできるけど、
ゲームの処理時間が、「60FPSだと余裕があるが、70FPSだと足りない」
って時に処理落ちがひどくなる。

105 名前:名前は開発中のものです。 [2009/04/16(木) 19:22:11 ID:/YbqE5Rh]
14歳からはじめるC++ わくわくゲームプログラミング教室

って本に間違いってないですか?
何度書き直しても、サンプルプログラムにエラーが発生します
(P118です)

106 名前:名前は開発中のものです。 mailto:sage [2009/04/16(木) 19:37:00 ID:D5YSrYi0]
なにそれこわい

よくわからないけど、4章-01の最後、P125まで全部入れてひとつのプログラムだぞ。
・main.cpp
・gameframe.h
・gameframe.cpp

107 名前:名前は開発中のものです。 [2009/04/16(木) 19:41:32 ID:D5YSrYi0]
なんかわかった気がする。

gameframe.h の先頭で、#include "DxLib.h" 宣言しておかないとむりぽ

これ、本文に書いてない。
P120上の画面写真のプログラムには、しれっと入ってるけど。

108 名前:名前は開発中のものです。 mailto:sage [2009/04/16(木) 20:44:04 ID:uc3ezfKA]
エラーが発生したならその内容も書いておかないと

109 名前:名前は開発中のものです。 mailto:sage [2009/04/16(木) 23:14:39 ID:BmH0FmoL]
その本動画あったよ
誤植多いそうです

110 名前:名前は開発中のものです。 mailto:sage [2009/04/16(木) 23:53:51 ID:LfSelEBA]
確かに、誤植は多いな。まぁ、ソースも付いているんだからWinMergeを使うのも勉強だと思えばいい。

111 名前:名前は開発中のものです。 mailto:sage [2009/04/17(金) 00:52:02 ID:EZBCVXFE]
>>104
int nowtime = GetNowCount();
static int oldtime = 0;
static int frametime = 1000 / 60

int diftime = nowtime - oldtime;

while(1)
{
if(diftime >= frametime)
{
oldtime = nowtime;
break;
}
else
{
Sleep(1);
nowtime = GetNowCount();
diftime = nowtime - oldtime;
}
}
こんな感じでScreenFlip()の前に書いてみて。
今ちょっと60Hz以外選べない環境なので今は確かめられないけど、
たしか以前試したときはちゃんと60Hz以外でも60fps出てたはずだよ。



112 名前:名前は開発中のものです。 mailto:sage [2009/04/17(金) 05:23:57 ID:WaZv4/Kc]
たぶん>>104が言わんとしていることと、>>111が出したコードには相関性が無い

113 名前:名前は開発中のものです。 mailto:sage [2009/04/17(金) 05:51:08 ID:Zvoaz6Vb]
>112
俺もそんな気がしてきた

114 名前:名前は開発中のものです。 mailto:sage [2009/04/17(金) 09:10:19 ID:Ulw/lN4/]
今回の流れで試しに自作ゲームのタイトルのキー入力待ちでSleep(1)入れてみたら
CPU使用率100%から0%になった/(^o^)\ナンテコッタイ

例えばタイトル画面とか即時性のない入力待ちの時って
ちょっと長めにSleep入れたりするほうがいいのかな?
20msぐらいなら問題ないのだろうか・・・

115 名前:名前は開発中のものです。 mailto:sage [2009/04/17(金) 09:45:55 ID:0V/Re1GH]
>例えばタイトル画面とか即時性のない入力待ちの時って
>ちょっと長めにSleep入れたりするほうがいいのかな?

少なくとも俺は入れてる。

>20msぐらいなら問題ないのだろうか・・・

全然問題ないと思う。
もっと入れてもいいくらいでしょ。
実際にやってみて自分でストレス感じるなら減らせばいい。

116 名前:名前は開発中のものです。 mailto:sage [2009/04/17(金) 13:46:09 ID:WaZv4/Kc]
入れすぎると、キー入力が飛ばされる可能性もあるので、注意したほうがいいよ。
20msぐらいなら大丈夫だけどね。

117 名前:名前は開発中のものです。 mailto:sage [2009/04/17(金) 16:20:15 ID:Zvoaz6Vb]
むしろ、何故キー入力待ちだけでループさせてることに突っ込もうぜ

118 名前:名前は開発中のものです。 mailto:sage [2009/04/17(金) 19:34:30 ID:LNYxAbHW]
タイトル画面が動くゲームもあるのだよ
あと音楽のループ再生する時はScreenFlipを毎フレーム呼ぶ必要があるみたいだし

119 名前:名前は開発中のものです。 mailto:sage [2009/04/17(金) 20:21:09 ID:jcPGGnUF]
>>111はオレ的には神です
マジサンクス

120 名前:名前は開発中のものです。 [2009/04/17(金) 20:22:40 ID:xbUmRi3d]
WaitKey(笑)

121 名前:名前は開発中のものです。 mailto:sage [2009/04/17(金) 20:22:58 ID:erDEgGZV]
まぁ少なくともProcessMessage()はいれておくべきだよな。



122 名前:名前は開発中のものです。 mailto:sage [2009/04/17(金) 22:03:28 ID:EZBCVXFE]
>>118
音楽再生とScreenFlipは関係ないと思うよ。
CPUが100%になるのは明らかに異常だからちゃんとProcessMessage()かSleep()出来てるか確かめた方がいいよ。
たぶんウィンドウ自体をドラッグすらままならない状態だと思うから。
OSにタスクさえ返してあげられてればCPUが多少高くても気にしなくていいと思うけどなぁ。
ゲームって常駐させたり多重起動させたりするものじゃないし。

123 名前:名前は開発中のものです。 mailto:sage [2009/04/17(金) 22:17:35 ID:ZoeUfmZ7]
ProcessMessageさえ入れとけば大丈夫だと思ってた

124 名前:118 mailto:sage [2009/04/18(土) 02:18:14 ID:k17DhjXo]
うへあーw
素で間違えてたorz
何と言う勘違い 恥ずかしい限りです しばらくROMってます

125 名前:名前は開発中のものです。 mailto:sage [2009/04/18(土) 21:37:09 ID:okbqytId]
ディスプレイ2台の環境でウィンドウを左右に振ると
片側のディスプレイだけ明らかに画面がぼやけるんだけど
DirectXの設定かビデオカードの設定がおかしいんだよなこれ?

126 名前:名前は開発中のものです。 mailto:sage [2009/04/18(土) 22:23:48 ID:okbqytId]
言い忘れ
SetEmurationやSetGraphModeで画面を引き延ばすと起こるっぽい
ディスプレイの設定なのかよく分からん・・・

127 名前:名前は開発中のものです。 mailto:sage [2009/04/19(日) 00:37:44 ID:BefQR+3B]
ディスプレイ二台の環境使ってる人はそういないだろうから
同意求められても答えられる人ほとんどいないんじゃない?

128 名前:名前は開発中のものです。 [2009/04/20(月) 22:52:47 ID:eX32oi4P]
保守

129 名前:名前は開発中のものです。 [2009/04/21(火) 15:00:56 ID:UkM4PCid]
最初 ScreenFlipとScreenCopyの違いがわからんかった
ScreenFlipは裏画面と表の内容を交換するで
ScreenCopyは裏画面の内容を表に上書きコピーなんだったんだなー

130 名前:名前は開発中のものです。 mailto:sage [2009/04/24(金) 01:45:21 ID:Zjz+Ahwz]
C#の練習にDXライブラリ使ってみよう

131 名前:名前は開発中のものです。 mailto:sage [2009/04/25(土) 02:57:38 ID:jgu2I7ss]
>>125
シャギるな。俺もだ。
設定次第ではどうにかなるのかもしれんけど。

どっちにせよわざわざウィンドウを引っ張って画面を跨らせることもなかろう。



132 名前:名前は開発中のものです。 [2009/04/27(月) 18:31:23 ID:FIDn8lAk]
かっこいい爆発がつくれない

133 名前:名前は開発中のものです。 mailto:sage [2009/04/27(月) 21:58:22 ID:z25pzrXj]
それはスレチ

134 名前:名前は開発中のものです。 mailto:sage [2009/04/28(火) 00:04:23 ID:eksjqOvu]
DXライブラリの本を読んだけど、とても14歳から始めるような話じゃねーな
大学生が入門書に読んでちょうどいいレベルだろコレ


135 名前:名前は開発中のものです。 mailto:sage [2009/04/28(火) 00:10:39 ID:HkJlrRjH]
14歳から始めて30歳くらいで読み終わるっていう意味じゃないかな

136 名前:名前は開発中のものです。 mailto:sage [2009/04/28(火) 00:34:07 ID:m4cMSkq6]
14歳っつーと中二くらいか。
俺はBASICがせいぜいだったが、
マシン語とかやってる友人もいたし
決して無理じゃないだろう。

137 名前:名前は開発中のものです。 mailto:sage [2009/04/28(火) 00:45:01 ID:NnZtX6wz]
やっぱ0x14歳だったか

138 名前:名前は開発中のものです。 mailto:sage [2009/04/28(火) 01:53:08 ID:OFMPoMrl]
むしろ厨二がガツンとやられるための本

139 名前:名前は開発中のものです。 mailto:sage [2009/04/28(火) 08:20:28 ID:6tVcbqW6]
14歳の新版(VS2008対応版)は、3章までと4章以降のレベル差がひどい。
簡単に作れるように自前ライブラリ用意してるけど
そのせいでDxLib関数なのか自前関数なのかごっちゃになってるし。

間に20章ぐらい入れて10本以上ゲーム作って、本の厚さが倍になってもいいぐらい。

140 名前:名前は開発中のものです。 mailto:sage [2009/04/28(火) 09:19:39 ID:nBjz8W9W]
>>139
そしたら、値段も倍になるがな

141 名前:名前は開発中のものです。 mailto:sage [2009/04/28(火) 10:17:56 ID:eksjqOvu]
世間一般の流れ

小学生 ゲーム遊ぶのおもしれえwww
中学生 ツクールおもしれえwww
高校生 VisualBASICとかC言語を始めるか
大学生 C++とかJAVAで2Dゲームでも作るか
20代 3Dゲーム、オンラインゲーム作るよ!
30代 何でこんな仕事を選んだんだろう……
40代 クビになった。新しい仕事探すか……
50代 息子よ。おれは昔、ゲーム開発をやっててなあ
60代 年金安いのう……
70代 孫よ。わしは昔、ゲーム開発を(ry
80代 開発の仲間……もうみんなこの世におらん……
90代 ゲーム? 何のことかいね
100代 「おじいちゃん! それはご飯じゃないよ、ゲームだよ!」
晩年 「おじいちゃんは亡くなる前に、大好きな『ハレハレユカイ』を唄っていました」




142 名前:名前は開発中のものです。 mailto:sage [2009/04/28(火) 10:28:58 ID:FvUt88Xp]
大往生だな。いい人生だった

143 名前:名前は開発中のものです。 mailto:sage [2009/04/28(火) 16:15:43 ID:6TTz0S/c]
>30代 何でこんな仕事を選んだんだろう……

いまここ

144 名前:名前は開発中のものです。 [2009/04/28(火) 22:07:41 ID:MfOPTYG9]
なんか画面のドット範囲が640×480で固定されてるんですが
これいじる方法はDXライブラリには無いんですか?

145 名前:名前は開発中のものです。 mailto:sage [2009/04/28(火) 22:15:25 ID:GpFUP3xe]
公式のリファレンスくらい嫁と言いたいが
つSetGraphMode

146 名前:名前は開発中のものです。 [2009/04/28(火) 22:24:39 ID:MfOPTYG9]
>>145
ありがとうorz
すみません。ウインドウモードの項ばかり探してました


147 名前:名前は開発中のものです。 mailto:sage [2009/04/28(火) 23:44:24 ID:AAXsWLBJ]
「これいじる方法はDXライブラリには無いんですか?」って訊くくらいなら全部読めよ!

148 名前:名前は開発中のものです。 mailto:sage [2009/04/29(水) 00:04:40 ID:fznxD5WL]
>>143
やあ、俺

149 名前:名前は開発中のものです。 [2009/04/29(水) 00:57:49 ID:8JDzhdlg]
>21歳 卒業とともに小さな会社に一人だけ入社
     何でこんな仕事を選んだんだろう……相談する同僚がいない

>30歳 ←いまここ




150 名前:名前は開発中のものです。 mailto:sage [2009/04/29(水) 12:12:40 ID:0KNrHYhz]
小学生 ゲーム好きだけどファミコン買ってもらえなかったから友達んちに通ってうざがられる
中学生 PC98買ってもらってtakeruとかでゲーム買ったりベーマガ買ってBASICで遊ぶ
高校生 女遊びでPCなんていじらない
大学生 にはならずにバイト生活。PCなんて無縁
20代   実家に帰るとWindows98とネットがあったので暇だったのでいじってみる。
      ここでwebの世界やプログラミング熱再発。色々物色する。
      そしてそのまま引きこもり。
30代   ←もうすぐここ


151 名前:名前は開発中のものです。 mailto:sage [2009/04/29(水) 12:23:18 ID:Id8MNKk3]
それは報告しなくてもいいです



152 名前:名前は開発中のものです。 mailto:sage [2009/04/29(水) 13:15:43 ID:0KNrHYhz]
してもいいです

153 名前:名前は開発中のものです。 mailto:sage [2009/04/29(水) 14:34:34 ID:DcEbzAT6]
そうですか

154 名前:名前は開発中のものです。 mailto:sage [2009/04/29(水) 14:49:56 ID:eqm+L+6k]
そうでづよ

155 名前:名前は開発中のものです。 mailto:sage [2009/04/29(水) 15:17:03 ID:GO8Ds4lj]
そうでちゅわ

156 名前:名前は開発中のものです。 mailto:sage [2009/04/29(水) 19:22:33 ID:sy8jjFeI]
プログラマーは35歳で引退だからな
プランナーや絵描きなどで生きられるだけの資産がなければ、そのままスクラップだ
ゲーム会社も高齢化が進んでて、新しい概念が作れなくなってきている


157 名前:名前は開発中のものです。 mailto:sage [2009/04/29(水) 19:25:35 ID:eqm+L+6k]
なぜ35なのかというと、部下ができたりしてプログラムどころじゃなくなるから。
新しい概念が作れないのはゆとりが増えたから

158 名前:名前は開発中のものです。 mailto:sage [2009/04/29(水) 20:32:14 ID:2b50vk1R]
それでも将来は……。

159 名前:名前は開発中のものです。 mailto:sage [2009/04/29(水) 21:37:02 ID:Dpfb2ylv]
それはスレ違い

160 名前:名前は開発中のものです。 mailto:sage [2009/04/30(木) 00:27:05 ID:JN4PBkev]
ドラッグ&ドロップで音楽を再生したいのですが
DXライブラリで実現できますでしょうか?
GetDragFilePath()の使い方がいまいちわかりません。
ご教授お願い致します_ _

161 名前:名前は開発中のものです。 mailto:sage [2009/04/30(木) 00:58:25 ID:qZvDrEy3]
>>160
D&Dに関しては、GetDragFilePathでググって出てきたページの内容を見る限り、
この関数は毎フレーム呼び出し、戻り値はD&Dされていれば0、されていなければ-1となる。
D&Dされてたら、引数で渡したバッファにD&Dされたファイルのパスが入ってくる。
ちなみにD&Dされたファイルの個数はGetDragFileNum()で取得できる。
複数ある場合は、その数だけGetDragFilePathを呼べば1つずつファイルパスを取得できる。
ちなみにこれらは毎フレームに一度DragFileInfoClear()で初期化してから使うべき。

ただ情報が古い可能性もあるし、実際試したわけじゃないから、
今のDXライブラリでできるかどうかは知らない。



162 名前:名前は開発中のものです。 mailto:sage [2009/04/30(木) 01:05:34 ID:qZvDrEy3]
読み返して気付いたが、ひどい日本語だ・・・まぁいいや

163 名前:名前は開発中のものです。 [2009/04/30(木) 01:56:07 ID:JGk3snwA]
#include "DxLib.h"
int 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 ;
}

164 名前:名前は開発中のものです。 mailto:sage [2009/04/30(木) 02:04:43 ID:JN4PBkev]
>>161-163 ありがとうございます!!
>>163さんにはサンプルまでご用意いただいて感激です!
これでBGMをプレイヤーに指定させることができます。
即レス感謝!ありがとうございました!!

165 名前:名前は開発中のものです。 mailto:sage [2009/04/30(木) 09:08:28 ID:QAaf0WGA]
個人的にはAPI使って、ファイル開く形式を勧めたいが……


166 名前:名前は開発中のものです。 mailto:sage [2009/04/30(木) 13:16:31 ID:Nu0gAO10]
最初からサンプル書いてくれと露骨に頼めば可愛げもあるのに。

167 名前:名前は開発中のものです。 mailto:sage [2009/05/01(金) 08:16:49 ID:OvJuayUs]
暫定的にDrawStringで文字を描いていたんだけど、
見栄えや諸々の理由で画像ファイルとして文字を作ることにした。
インストールされてるフォントを使って12x16のサイズのカタカナを
ほぼそのまま描いてるんだけど、どうしてもエッジが目立っちゃう。
縁取りとか、影とか、ぼかしとか色々試したんだけど難しい。
みんなはどうやってるの?あと、デザインとか凝ったりするの?

168 名前:名前は開発中のものです。 mailto:sage [2009/05/01(金) 09:46:27 ID:g5JaOboh]
>>167
その辺は、普通に。 まずは、見栄えとかよりも、完成が先だしね。
「文字 CG 講座」とか「ロゴ 制作」とかで検索すrば、やりたい事の方法が見つかると思う。

169 名前:名前は開発中のものです。 mailto:sage [2009/05/01(金) 10:22:40 ID:SX1l7Niw]
なんの為の文字かってのにもよるだろうけど、
セリフとかそんなヤツなら、何も工夫せずにそのままDrawStringで表示してる。

>デザインとか凝ったりするの?

デザインが大事なのは理解してるが、センスが壊滅的なので
あきらめて最低限で済ませてる。

170 名前:名前は開発中のものです。 mailto:sage [2009/05/01(金) 14:38:00 ID:OvJuayUs]
>>168-169
ありがとう。俺もデザインが壊滅的です。
しょぼ画像で今まで普通にやって来たんだけど、
先日ゲーセンで業務用のゲームを見たのがいけなかったw
最近はフォントを一文字ずつ手打ちでドット修正して、
気付いたら4、5時間経ってて結局上手くいかなかったとかあって。
まあでも、「この方法では出来ない」っていうのが少し分かったのは収穫だけどw
ゲーム作るのってやっぱり色々な知識が必要だね。

171 名前:名前は開発中のものです。 mailto:sage [2009/05/01(金) 21:45:00 ID:n+u5dqvm]
その試行錯誤が楽しくもあり面倒くさくもあり



172 名前:名前は開発中のものです。 mailto:sage [2009/05/02(土) 08:08:52 ID:Sn/Kauil]
ロゴはなぁ…
それで飯食っている奴がいるくらいだから奥が深いよな。
フォントの選定とか字間とか決めるだけでも大変。

173 名前:名前は開発中のものです。 mailto:sage [2009/05/02(土) 13:50:47 ID:BkuXnv3v]
英数字だけ程度ならフォトショとかで作るけど、
台詞に使って日本語漢字とかまでなるとやってられないから普通に既存フォントのでやってるな。
フリーのフォントいくらでもあるから、それ使えばいいんじゃないか?
テキストに文字書いておけば、指定フォントのを画像ファイルにして出力するソフトなかったっけか。


174 名前:名前は開発中のものです。 mailto:sage [2009/05/02(土) 14:40:37 ID:M7HWaCGQ]
2009/5/1更新 2.25b

175 名前:名前は開発中のものです。 mailto:sage [2009/05/04(月) 16:41:52 ID:FkdRsV2L]
ちょいと質問です。
SetAlwaysRunFlagで非アクティブでも処理を実行し続けるようにして
アクティブ時はCPU使用率15〜20%ぐらいでスムーズに動いてるけど
非アクティブ時は、CPU使用率が0近くになってしまいます。
処理もカクカクになってしまうのですが、
どうにも原因や解決法について手詰まりになってしまったので
何かアドバイスをいただけませんでしょうか?

176 名前:名前は開発中のものです。 mailto:sage [2009/05/04(月) 16:47:43 ID:dGZpGfbH]
>>175
これが参考になるかも
ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1224


177 名前:名前は開発中のものです。 mailto:sage [2009/05/04(月) 17:21:31 ID:FkdRsV2L]
>>176
Σ (゚Д゚;)うおー解決したー!!
DXライブラリ自体の仕様的問題だったとは・・・
ありがとうございましたー

178 名前:名前は開発中のものです。 mailto:sage [2009/05/05(火) 23:39:46 ID:klIXgzed]
GetRandを使って1回だけ乱数を取得するってどうやるの?

179 名前:名前は開発中のものです。 mailto:sage [2009/05/06(水) 01:59:46 ID:36dZu90f]
意味がわからないけど、一回だけGetRandすればいい……って事じゃないの?

180 名前:名前は開発中のものです。 mailto:sage [2009/05/07(木) 01:34:26 ID:cIvk0VJg]
do while文使うとループ処理終わらないんだけど俺だけ?
どんな簡単な条件でもだめ
whileは全然問題なし、仕方ないからfor文で代用した

181 名前:名前は開発中のものです。 mailto:sage [2009/05/07(木) 01:39:44 ID:AtAjM9gE]
環境とかソース示してくれない事にはなんともいえん。




182 名前:名前は開発中のものです。 mailto:sage [2009/05/08(金) 13:06:52 ID:H40Fz4tQ]
>>180
条件を逆にしてみれば?

183 名前:名前は開発中のものです。 mailto:sage [2009/05/08(金) 17:28:23 ID:mPd9shMx]
>>180
hello world的なコンソールアプリだとなんともないのに
DXライブラリだと動かないのか?

またまたご冗談を○ノ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<234KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef