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


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

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



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

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

【公式】
homepage2.nifty.com/natupaji/DxLib/

【過去スレ】
DXライブラリ 総合スレッド
pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
pc11.2ch.net/test/read.cgi/gamedev/1238429676/

101 名前:97 mailto:sage [2009/08/20(木) 13:58:30 ID:/tnemE9L]
>>100
できました!
ありがとうございました

102 名前:名前は開発中のものです。 mailto:sage [2009/08/20(木) 17:07:09 ID:0+koOsTw]
DrawGraphなどで有効になる透過色を白色にできないでしょうか?

103 名前:名前は開発中のものです。 mailto:sage [2009/08/20(木) 17:20:54 ID:yefoTBGX]
>>102
SetTransColor( r, g, b ) で透過色設定出来るよ

104 名前:名前は開発中のものです。 mailto:sage [2009/08/20(木) 17:22:51 ID:0+koOsTw]
ありがとうございます

105 名前:名前は開発中のものです。 mailto:sage [2009/08/21(金) 22:44:36 ID:a6lala98]
SetDrawScreenってふつうのグラフィックハンドルも指定できるのか・・・
どこで知ったんだ?実験の賜物とか?

106 名前:名前は開発中のものです。 mailto:sage [2009/08/21(金) 22:50:03 ID:U8PTrxx1]
最初のスレの頃にはもう発見されてたような……

107 名前:名前は開発中のものです。 mailto:sage [2009/08/21(金) 22:53:25 ID:U8PTrxx1]
あ、最初に描画可能なグラフィックを作るフラグをオンにする必要があるのを忘れてた……
>>101は大丈夫だっただろうか

108 名前:名前は開発中のものです。 mailto:sage [2009/08/21(金) 23:02:23 ID:6L4KzEGj]
105のおかげで100の意味が初めて理解できた。
何を言ってるんだろうと思ってた。

ありがとう100と105。

109 名前:名前は開発中のものです。 mailto:sage [2009/08/21(金) 23:16:16 ID:6oCpfJQO]
俺も初めて知った



110 名前:名前は開発中のものです。 mailto:sage [2009/08/21(金) 23:20:00 ID:oiLCSSry]
初めて知った
感動した

111 名前:名前は開発中のものです。 mailto:sage [2009/08/22(土) 04:26:19 ID:4ewWT7wa]
SetDrawScreen という関数に画像ハンドルを渡すことで
レンダリングターゲットを変更することが出来ます。

ただ、どんな画像ハンドルでも良いと言うわけではなくて、
レンダリングターゲットにすることが出来る画像ハンドルである必要があります。
 レンダリングターゲットにすることができる画像ハンドルを作成する為には、
レンダリングターゲットにすることができる画像ハンドルを作成するかどうかを
設定する関数 SetDrawValidGraphCreateFlag に TRUE を渡して呼び出した後、
MakeGraph 関数で画像ハンドルを作成します。

int SubScreen;

SetDrawValidGraphCreateFlag( TRUE );
SubScreen = MakeGraph( 640, 480 );
SetDrawValidGraphCreateFlag( FALSE );

 こうして作成した画像ハンドルは SetDrawScreen で描画先とすることが出来ます。

SetDrawScreen( SubScreen );

 普通の画像として描画することも出来ます。

DrawGraph( 0, 0, SubScreen, TRUE );

 ただ、この機能は他の機能に比べて正常に動作するグラフィックチップの
敷居が高いので、余りお勧めできません。
(ソフトウエアレンダリングモードでしたら確実に動作しますが)

112 名前:名前は開発中のものです。 mailto:sage [2009/08/22(土) 09:14:50 ID:4ewWT7wa]
透過も使いたい場合
hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=past&no=399

113 名前:名前は開発中のものです。 mailto:sage [2009/08/22(土) 11:24:00 ID:4ewWT7wa]
うちのPCじゃ透過できなかったorz

114 名前:名前は開発中のものです。 mailto:sage [2009/08/22(土) 14:54:20 ID:qJPnhRZH]
ひとの形をしていなかったッ

115 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 16:41:05 ID:S7Qhx8zZ]
製作中のゲームのメモリ使用量が300MBと半端ないんだが…。
どういう所を削ってけばいいんだろう。
それと、DXで製作されたソフトは内容にもよるだろうけど、
どのくらいの使用量が打倒?

116 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 16:47:53 ID:GkvvlwQe]
画像や音楽データのフォーマット変換

117 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 16:48:57 ID:GkvvlwQe]
実行中にメモリ使用量が除所に増えていくようならメモリリークの可能性がある

118 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 16:50:31 ID:GkvvlwQe]
あとは、リソースは使いたいときだけオープンして使い終わったら開放するとか

119 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 20:32:02 ID:GokZTUUA]
俺のパソコンだけかも試練が、

↑キーまたは↓キーを押している間、文字キーは1個しか入力できないの?
←キーまたは→キーを押している間は文字キーを2個入力できるのに。



120 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 20:35:50 ID:GokZTUUA]
ゲームのボタン配置変えたら解決した。
X → S
Z → A

121 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 20:38:29 ID:omMMPR8c]
現在のPCの仕様だから問題ない
同時押しできるキーがある程度決まってるんで、
動的なゲームだとパッド対応にしないと辛かったりする

122 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 20:54:06 ID:BIZKogr3]
今のPCゲーは1G2G推奨があるから300M使ったぐらい問題ないだろう

123 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 21:30:33 ID:f9+n1yyL]
>>122
それで収まってるならいいけどリークしてる場合1G超えちゃったりするから

124 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 23:57:34 ID:fzVvbF1D]
>>119
キーボードは一部のキー(Shiftなど)を除いて、同時押し出来るように作られてないからな。

>>121
PCの仕様というか、キーボードの仕様だな。
しかも物理的な回路レベルでの話だから、プログラムで解決できる問題じゃない。

125 名前:名前は開発中のものです。 mailto:sage [2009/08/24(月) 03:15:56 ID:04E2ZlIh]
いいキーボードを使えば回避できるらしいというのを聞いた頃がある
マジ?

126 名前:名前は開発中のものです。 mailto:sage [2009/08/24(月) 03:20:12 ID:I4p4xHvy]
全てのキーの同時押しに対応しているキーボードもある

127 名前:名前は開発中のものです。 mailto:sage [2009/08/24(月) 03:34:59 ID:NKOKVJpx]
>同時押しが出来ない
コスト削減のためらしいしね。


128 名前:名前は開発中のものです。 mailto:sage [2009/08/24(月) 08:14:30 ID:D9SJqUdL]
パソコンによってはできない組み合わせで押すと本体から電子音がでるよね

129 名前:名前は開発中のものです。 mailto:sage [2009/08/24(月) 15:39:22 ID:fDqh5B1I]
Nキーロールオーバーでぐぐれ



130 名前:名前は開発中のものです。 mailto:sage [2009/08/24(月) 16:16:31 ID:wBD0oA5j]
画像描画するときに画面の外に描画しようとしたらスキップみたいな親切なことはライブラリのほうではやってもらえない?
自分で計算しないとだめかな


131 名前:名前は開発中のものです。 mailto:sage [2009/08/24(月) 17:05:40 ID:m/vASYf5]
>>130
自分で計算っていっても難しいことじゃなくない?
画面サイズの最大値か0を超えようとしたら画像に合わせて処理すればいいだけだし

132 名前:名前は開発中のものです。 mailto:sage [2009/08/24(月) 17:16:05 ID:2t9nwqgt]
描画範囲を指定すると、そこからはみ出したら自動的に描画スキップしてくれてるんだぜ!
指定しなかった場合でも描画先の画面はみ出したらスキップされたような……

画面内に1000回描画→凄く処理落ち
画面外に1000回描画→処理落ちなし
ってことから推測しただけだけど

133 名前:名前は開発中のものです。 mailto:sage [2009/08/24(月) 18:28:42 ID:2+sT6dWW]
俺は画面の内外で当たり判定の有無も変えるようにしてるから
結局判定は自前でやってる。

単純な矩形なら簡単だけど、回転ありにしたらちょっと面倒なんだよね。
まぁ最大半径求めて大雑把に判定させるだけだけど。

134 名前:名前は開発中のものです。 mailto:sage [2009/08/25(火) 22:51:52 ID:YgczeX4M]
ウィンドウのサイズを変更できるようにしたいと思います
それで例えば画面いっぱいに一枚絵表示したいときは、
画像をウィンドウサイズにあわせて縮小、みたいなことを全ての場面でしなくてはならないのでしょうか?


135 名前:名前は開発中のものです。 mailto:sage [2009/08/25(火) 23:01:16 ID:DAVmGBeA]
つ[マニュアル]

136 名前:名前は開発中のものです。 mailto:sage [2009/08/26(水) 00:37:14 ID:fiAN9ZAo]
135凄いな。
134の言いたい事理解できるんだ……俺は無理だった。

137 名前:名前は開発中のものです。 mailto:sage [2009/08/26(水) 04:38:25 ID:sFUkJOAt]
>>134
コンパイルして実行すりゃすぐわかることを何故聞く。

138 名前:名前は開発中のものです。 mailto:sage [2009/08/26(水) 18:36:58 ID:qUt4mYH3]
>>137
いちいち手間かけなくても画面をストレッチできるように指定できるかどうかを
聞きたかったんだと思うよ
わかりにくいけど

139 名前:名前は開発中のものです。 mailto:sage [2009/08/26(水) 20:19:51 ID:vFoh53HS]
最初から解像度大きめに作っておいて、SetWindowSizeExtendRateで調節がベターか?



140 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 00:07:53 ID:T/6Db6QY]
mp3で四曲合計16Mほどロードしたらメモリー消費量が300Mになったんだけどこんなもんかな?


141 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 00:13:07 ID:7m3osaFh]
>>140
多分そんなもん
ついでにいうと、特にメモリ内にロードしなくちゃいけない理由がない限りは
ストリーム再生したほうがいいと思うよ

142 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 00:18:39 ID:PkUzIv2U]
関数一覧とか見てニヤニヤするのは俺だけじゃないはず
使いこなしきれてないけどなwww

143 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 00:25:58 ID:QySx8uSH]
なんで四曲合計16Mほどなのに300Mになってしまうのん?

144 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 00:28:36 ID:T/6Db6QY]
そんなもんですかサンクス
PlayMusicだとループ先頭がセットできないようなんでSoundのほう使ってます

145 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 00:29:55 ID:v/FuG6jC]
>>143
詳しくないがよくわからんが
jpegとかpngだって展開したら結局BMPと同等らしいからMP3もwav並になるとか?

146 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 00:36:54 ID:gFnYY/qu]
>>143
そこいら周りは、良くわからんがWMPでMP3を再生すると結構消費するな。
BGMとかは、気をつけた方が良いんだな。

147 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 01:05:35 ID:cHVgGeXQ]
つSetCreateSoundDataType

ttp://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_other.html#R15N25

148 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 01:22:42 ID:cJyiTera]
つまり圧縮された音楽ファイルは読み込み時にデフォルトでwavファイル並の量のメモリ展開がされてるわけだな・・・

149 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 12:24:29 ID:K7QbDWYZ]
Dxライブラリで原点の設定を変えることは出来るでしょうか?
WINAPIの関数でSetViewportOrgEx( HDC, X,Y ,NULL)?
と言うのがあるらしいのですが、
もしかしてライブラリ中身をいじらないと無理?



150 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 08:35:35 ID:kw3b0sCg]
>>149
3Dでならビューポート行列をセットする関数があるからそれでできる
2Dなら自前でなんとかするしかない

151 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 13:39:24 ID:NuR4qvr2]
>>150
ググッててその単語何度か見た気がする・・・・・・。
自前で作ってみるよ。何事も挑戦だよな

152 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 14:02:58 ID:KkzSCV0k]
ちょうど自分も同じ問題にぶつかったぜ
絶対座標と、スクリーンの原点を決めれば描画時にxyからスクリーン原点の座標引くだけで行けるぽい


153 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 14:21:28 ID:QSUjzmlq]
原点の設定を変えてどんなことができるようになるんだ?

154 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 14:49:51 ID:m1jmte75]
楽できる

155 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 16:32:56 ID:MVZ2y/yX]
>>152
それ以外に方法があるのか知りたい

156 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 21:30:24 ID:NuR4qvr2]
いま「弾幕」って本のライブラリをいじってたんだけど。
Dxライブラリを使いながら座標変換の部分だけ取り出したくて、
描画処理関係のソースを必死に読んで組み込んでみたら、
まったく座標が関係なかったんだが・・・・・・。

具体的にどうすればよいの?(つかれた声で)

157 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 21:34:49 ID:KG8AvTh+]
具体的にどうしたいいの?(つかれた声で)

158 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 21:35:29 ID:KG8AvTh+]
コピペミスったし

159 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 21:39:25 ID:4C/GS6Sj]
かっこわりぃw



160 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 21:48:28 ID:NuR4qvr2]
「弾幕」のサンプルでは、
.原点が画面の中心
.MaxX が1
.MaxY が1
.なのに画面サイズは普通
 描画(X,Y)のXに+1しただけで画面端に行く

描画(X、Y) <= オメーはいったい何を基準に描画してんだよ?
って言う風な流れでソースを読み始めた。

でも、仮引数に 
”コンストラクタ”CGraphics(HWND hwnd)<=なにこれ?っと思って
Dxライブラリのヘッダから
extern HWND GetMainWindowHandle( void ) ;
ってのを見つけて代入したんだけど。
思ったような効果が得られなくて orzしてたところ。
長文スマソ

161 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 21:49:44 ID:2g2Xw9AF]
>>156

それは本気で訊いてるのか?

「弾幕」って本を誰もが知ってると思ってるのか?
「座標変換の部分のソース」とやらを俺たちが知ってるとでも思ってるのか?
お前さんがどのようにそれを組み込んだか俺たちが知ってるとでも思ってるのか?
お前さんがなにをしようとしてたのか俺たちが知ってるとでも思ってるのか?
「まったく座標が関係なかった」ってのがどういう状況だったのか俺たちにわかるとでも思ってるのか?

162 名前:すいませんでしたぁぁぁぁぁ!!! mailto:sage [2009/08/28(金) 21:56:09 ID:NuR4qvr2]
ニホンゴ勉強してきまーす

163 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 22:25:50 ID:v4qfe6aQ]
>>139
に誰か突っ込んでやれよ

164 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 02:38:28 ID:uZ03ORl6]
また水平思考ゲームか…

165 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 02:43:33 ID:oQAm69KI]
原点座標の水平移動!

166 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 03:19:38 ID:wEbz732B]
関係ないけど「弾幕」って本面白そうだなw
アマゾンのレビュー見る限り弾幕作るのにはあまり約にたたなそうだが

167 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 03:29:47 ID:GQMCE92i]
それの一つ前のSTGプログラミングって本持ってるけど
これも結構良い感じよ

読んでて「なるほどこういう風に考えるのか」ってテクがぎっしり
ちと難しいけど

168 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 10:47:45 ID:eAXf2/jo]
vS2008のC++で開発しています。
DXライブラリでループ中のデバッグってどうやるんでしょうか?
F11のステップインで始めてもウィンドウが見えないし、
ウォッチ式も
CXX0017エラーです:シンボル"pon"が見つかりません
とエラーが出ます。


169 名前:168 mailto:sage [2009/08/29(土) 10:49:29 ID:eAXf2/jo]
すいません日本語おかしかったです二行目訂正します。
DXライブラリのProcessMessage関数、ClearDrawScreen関数ScreenFlip関数を使用し、
ループさせているときのデバッグってどうやるんでしょうか?



170 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 13:45:22 ID:iB7bt5pR]
エラーの原因臭い箇所にブレークポイントつけてF5でデバッグ開始、
そこからF10のステップオーバーで処理を追う。
デバッグなしで実行する場合は関数のエラー時にMessageWindowを呼ぶと分かりやすいよ。

171 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 14:37:44 ID:Dgspg8qU]
つDrawFormatString

172 名前:168 mailto:sage [2009/08/29(土) 14:42:16 ID:eAXf2/jo]
>>170>>171
ありがとうございます
私も今はDrawFormatStringでウォッチウィンドウみたいなものを作ってます


173 名前:名前は開発中のものです。 [2009/08/29(土) 22:36:31 ID:MCRpsmFK]
SetTransColorの透過色設定 Windows7だとうまく透明化しない場合があるけど
その場合あらかじめbmpで保存してその後にbmp2pngなどのツール使ってpngつくったら
透明化できた

174 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 22:54:27 ID:fvZFlbGy]
透過色指定は画像ロードの前に!
って、同じところで悩んでた覚えのある俺のソースにコメント入ってた。

175 名前:名前は開発中のものです。 mailto:sage [2009/08/30(日) 02:44:15 ID:y9n97dOf]
座標(0,0)のRGB値を透過色として指定したいとおもっているのですが、
座標(0,0)のRGB値を得るにはどうしたらいいですか。

176 名前:名前は開発中のものです。 mailto:sage [2009/08/30(日) 02:45:20 ID:y9n97dOf]
画像ファイルの、です。

177 名前:名前は開発中のものです。 mailto:sage [2009/08/30(日) 02:52:09 ID:4ar2ylnT]
これかなぁ

宣言 int GetPixelSoftImage( int SIHandle, int x, int y, int *r, int *g, int *b, int *a ) ;

概略  CPUで扱うイメージの指定座標の色を取得する(各色要素は0〜255)

引数 int SIHandle : ソフトウエアイメージハンドル
int x, int y : 色を取得する座標
int *r : 取得した色の赤成分を書き込む変数のアドレス
int *g : 取得した色の緑成分を書き込む変数のアドレス
int *b : 取得した色の青成分を書き込む変数のアドレス
int *a : 取得した色の透明度を書き込む変数のアドレス
戻り値 0:正常終了 −1:エラー

解説  LoadSoftImage 関数や、MakeARGB8ColorSoftImage 関数等で作成したソフトウエアイメージハンドルの指定の座標の色を取得します。
 赤・緑・青・透明度各成分の値は0〜255です。透明情報の無い画像形式の場合の透明度は不定です。読み込み対象がパレット画像の場合は指定された座標のパレットの色が変数に代入されます。

178 名前:名前は開発中のものです。 mailto:sage [2009/08/30(日) 02:52:39 ID:CiTH8nsL]
LoadSoftImageしてGetPixelSoftImage

179 名前:名前は開発中のものです。 mailto:sage [2009/08/30(日) 02:58:52 ID:y9n97dOf]
すいません画像ファイルはリソースとして実行ファイルに埋め込んでいてLoadGraphToResourceで読み込むのでLoadSoftImageは使えないですどうしたらいいですか



180 名前:名前は開発中のものです。 mailto:sage [2009/08/30(日) 03:11:30 ID:y9n97dOf]
'GetPixelSoftImage': 識別子が見つかりませんでした

181 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 03:30:53 ID:CiTH8nsL]
リソースに埋め込むってことはライブラリからやれることを制限しちゃうのであんまり勧められてないと思うんだけど
こういう風にしたら無理やり取れるかな?
SetDrawValidGraphCreateFlag( TRUE );
SubScreen = MakeGraph( 1, 1 );
SetDrawValidGraphCreateFlag( FALSE );
SetDrawScreen( SubScreen );
DrawGraph( 0, 0, ResourceBMP, FALSE );
color = GetPixel( 0, 0 );
SetDrawScreen( DX_SCREEN_BACK );
DeleteGraph( SubScreen );

182 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 04:30:33 ID:cI6gEy1Z]
GetPixelじゃ駄目なん?

183 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 11:48:44 ID:RtX14t/M]
CUIからCUIの移行がわけわかめ
タイルベースのゲームなんだけどCUIでのあるFから次のFまでの間の補完の仕方がさっぱりだ
updateのほうも書き直さないとだめなのかなこれ

>>168
int main(void)にして標準出力するとゲーム画面のほかにコマンドプロンプトが開かれるからデバッグに使えそうな気がする

184 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 15:38:21 ID:CRpFUzJB]
CUIって聞いて何のことかサッパリな俺

185 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 15:55:39 ID:WME/rg1R]
CUIはわかるけど183が何を言ってるのかサッパリな俺 Fってなに?

186 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 17:20:24 ID:wkJ8VIAR]
FCUP

187 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 17:09:24 ID:j0BBlJ3J]
巨乳プログラミングか

188 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 19:40:48 ID:HKlHFgLy]
>>183
CUIからCUIの移行がわけわかめ → 説明するつもりが全く無い
タイルベースのゲーム → 2DドラクエやねとはくやCrawlの画面を想像させるがやはり何も特定できない
あるFから次のF → 「フレーム」だとわかるが
補完の仕方が → 補完てのが何か何を何で補完なのかこれも説明するつもりが無い
updateのほうも → cursesでいうところのrefresh()を想像させるが特定のプログラムを前提とした言い方なのにDXライブラリにおいての何かはわからない

キー待ちのルーチンは
ClearInputCharBuf() と GetInputCharWait()
でgetch()相当のものを作るとCUIのゲームを移植する助けになる

189 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 19:54:39 ID:j0BBlJ3J]
なんだ>>183はただのカッコ付けたがりの初心者だったのか



190 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 19:58:59 ID:TnY2fXBk]
>>189

そういう言い方もなんかかっこ悪いから止めといた方がいいよ。

191 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 20:12:13 ID:j0BBlJ3J]
ごめんなさい

192 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 20:20:05 ID:gxnPvUD+]
ローグみたいなマス目区切りのゲームで
ある枡からとなりの枡に歩かせるみたいな処理がわかんない
CUIだと移動前と移動後の座標に対応した位置に文字をプリントするだけだけど
GUIだと移動中も補完しないといけないけどそのうまいやりかたがわからない
キャラクターに整数のマス目座標だけじゃなくて実数の座標も持たせて
ゲームの1ステップの更新処理を書き直さないといけないのかな

193 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 20:31:03 ID:0NTvvGjW]
そうですね

194 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 20:39:29 ID:j0BBlJ3J]
>>192
更新処理はアニメーションの時間を挟むように書き直さないといけないと思う
実数の座標を持たせる方法もあるけど、移動前のマスの座標を記憶しておくだけでも大丈夫な気もする
あと、アニメーションが何フレーム目かを数えておく変数。

移動に30フレーム掛かるなら、移動アニメーション時のみ描画座標を
(float)( [移動後の描画座標] - [移動前の描画座標] ) / 30.0f * [フレーム数] + 移動前の描画座標
みたいにすると比較的楽に実装できるかもしれない

カッコつけ呼ばわりしてゴメンね

195 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 20:39:54 ID:CGTLvA+X]
公式サンプルの4を見ればいいんじゃないかな。
ttp://homepage2.nifty.com/natupaji/DxLib/dxprogram.html


196 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 22:19:58 ID:oBCh4ToJ]
>>192

普通に座標で扱って、マス目の方をそれに合わせるのが楽だと思う。

1マスの大きさが32×32だとすると、

┌─┬─┐
│A │B │
├─┼─┤
│C │D │
└─┴─┘

Aの座標は (0*32.0*32)
Bの座標は (1*32.0*32)
Cの座標は (0*32.1*32)
Dの座標は (1*32.1*32)

ってなるからそれに合わせて停止させるなり、なんなりすればいいんじゃない。

197 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 23:06:45 ID:X2VhMns5]
まずは途中のアニメのないバージョンを作ってから考えればいいんでないかい。

>>196
ごめん、正直それは無いかなと思った。
確かに描画処理は正直で分かりやすいが、それ以外の部分にしわ寄せが来ると思う。

198 名前:名前は開発中のものです。 mailto:sage [2009/09/01(火) 01:37:56 ID:23qSxMZB]
別に普通に座標で扱っても枡の座標なんて32で割ればいいだけじゃん

199 名前:名前は開発中のものです。 mailto:sage [2009/09/01(火) 02:31:19 ID:8OtNRGcI]
ゲームの内容が、描画の都合に合わせられるって問題じゃね?



200 名前:名前は開発中のものです。 mailto:sage [2009/09/01(火) 02:58:02 ID:oEGjKhW3]
どんな不都合があるのか全く想像できない。
逆にマス目優先にした方が不都合出る気がするのだが。






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

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

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