トップページgamedev
990コメント278KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/02/25(木) 23:29:14ID:hEXp+gEa
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/
0158名前は開発中のものです。2010/03/18(木) 11:25:01ID:J38c+tfs
>>157
そーゆーことではないと思う
0159名前は開発中のものです。2010/03/18(木) 11:31:37ID:vc6Sdfor
少しわかった気がします
色分けの方法でチャレンジしてみます
ありがとうございました
0160名前は開発中のものです。2010/03/18(木) 11:33:26ID:DL3BHDSP
いや、デタラメな方法教えるなよ・・・
0161名前は開発中のものです。2010/03/18(木) 11:44:31ID:60VmHoEg
もし>>152がガチャピンの形だったら?
0162名前は開発中のものです。2010/03/18(木) 11:52:58ID:INvJl4YM
少しは捻れよ。その身体のてっぺんについてるのは飾り物か。

クリックした座標から、上下左右の辺までの距離を求めろ。
上下左右で一番近いのが進む方向だ。
画面の縦横費が1:1じゃ無かったら、その比を距離にかけろ。
0163名前は開発中のものです。2010/03/18(木) 11:58:12ID:vc6Sdfor
>>162
おお、すばらしい
人をイラッとさせるだけのことはありますね
採用させていただきます ありがとうございました
0164名前は開発中のものです。2010/03/18(木) 12:12:28ID:mNOmn+cy
>人をイラッとさせるだけのことはありますね
味噌汁吹いたw
0165名前は開発中のものです。2010/03/18(木) 12:13:23ID:MQ4nvGTP
warota
0166名前は開発中のものです。2010/03/18(木) 14:48:56ID:MSdfr+M5
なんでそんなことだけ捻りが効くんだよw
0167名前は開発中のものです。2010/03/18(木) 16:21:06ID:wR4MGtu+
中央とカーソルの角度と距離を求めて全方向アクセルスクロールの方が
使いやすいと思うがな
0168名前は開発中のものです。2010/03/18(木) 16:36:41ID:n0apPduH
えっ
0169名前は開発中のものです。2010/03/18(木) 16:46:58ID:3YpmCcwZ
えっ
0170名前は開発中のものです。2010/03/18(木) 17:08:55ID:ThvgdAub
ええっ
0171名前は開発中のものです。2010/03/18(木) 18:36:07ID:XzmL/nsx
>>167
中央とカーソルの角度を求めるのいいな
DXライブラリとmath.hで簡単にできる
0172名前は開発中のものです。2010/03/18(木) 19:15:13ID:FxV9Fubh
左上の座標を (0, 0) として言うね
クリックした座標を (x, y), 境界を含めないで言うと

  0 ≦ x ≦ 239 の場合は y < x だと「上」、479 - x > y > x だと「左」、y > 479 - x だと「下」
479 < x ≦ 480 の場合は y < 479 - x だと「上」、x > y > 479 - x だと「右」、y > x だと「下」

大体こんな感じだと思う
0173名前は開発中のものです。2010/03/18(木) 19:15:51ID:CYbX+by9
おまえら頭悪すぎてワロター
0174名前は開発中のものです。2010/03/18(木) 19:27:54ID:8SEHg7PP
>>162でシンプルな解が出てるのに、>>172は空気の読めない困った子
0175名前は開発中のものです。2010/03/18(木) 19:37:44ID:FxV9Fubh
よく見たらそっちのが全然シンプルだったなw正直すまんかった
0176名前は開発中のものです。2010/03/20(土) 10:54:34ID:huSKeekq
このまえ>>17で質問したヤツです。
皆さんのおかげでビルボードにする事ができますた!有り難う!!!

しかし、問題がまた一つ…
マップに障害物として、テクスチャ一枚貼り付けた面を置いた。SetTransColorで透かしてる。
マップだけ表示すると、見事に透過色の部分は透けているのだが
別モデルのオブジェトをその面の背後に設置したところ、うまく透けてくれない。
どういった状態かというと、テクスチャの透過色は透けて背景が見えているのだが
別モデルが背後にいるのに背景が見える・・・?説明しづらい状況なので画像を用意した。
(乱筆注意)
http://www.dotup.org/uploda/www.dotup.org741198.jpg
マップとオブジェクトは別ファイルだが、面倒くさいのでテクスチャは一緒。

質問ばっかですまないが、助けてくれたら嬉しい。
0177名前は開発中のものです。2010/03/20(土) 11:29:45ID:+CkAhiqm
>>176
奥行き順にソートして、奥のモノから順番に描画するようにすれば解決
0178名前は開発中のものです。2010/03/20(土) 14:20:35ID:/X0ANmK1
ソートは,そーっとやってね。
0179名前は開発中のものです。2010/03/20(土) 14:34:53ID:yzkEpwQD
そうとわかれば怖いものなし
0180名前は開発中のものです。2010/03/20(土) 14:36:00ID:rdbyVjdN
頭がソットーしそうだよッ!
0181名前は開発中のものです。2010/03/20(土) 16:54:19ID:dBwcpyX2
>>143-144
亀だけど、DXライブラリに扇形を描く関数ってあるの?
DxLib.hで"扇"とか"Pie"で検索かけたけど何も出てこなかった
0182名前は開発中のものです。2010/03/20(土) 17:08:14ID:zRlxjJKl
>>181
非公開関数にDrawCircleGaugeってのがある。
使ったことないからどういう挙動を取るのか知らんけど。
0183名前は開発中のものです。2010/03/20(土) 17:47:18ID:yzkEpwQD
DXライブラリにそんな能力が…
0184名前は開発中のものです。2010/03/20(土) 17:55:00ID:dBwcpyX2
>>182
ありがとう!
使ってみる
0185名前は開発中のものです。2010/03/20(土) 18:44:32ID:UA+moyul
非公開関数も動作保証無しで別ページに乗っけてくれればいいのにね
0186名前は開発中のものです。2010/03/20(土) 18:49:35ID:Hntnabqc
公開するって事は責任を負わされるって事だからしょうがないでしょ。

たとえ「動作保証なし」って明記してあっても、
そこを読んで使った人間が、それが原因でトラブルに遭ったとしたら
「そんなもの最初から公開するな!」って言い出すのは火を見るより明らか。
0187名前は開発中のものです。2010/03/20(土) 18:49:55ID:q6HASH4U
>>185
dxlib.h漁れば大抵のことは分かるよ。
0188名前は開発中のものです。2010/03/20(土) 18:51:38ID:5BrCtlYi
公式でサポートはしないけど見たい人はヘッダファイル見てね!
というのは、なかなか賢い方法だと思う。
0189名前は開発中のものです。2010/03/20(土) 20:07:06ID:tt9sYyne
トラブって文句言われることよりも、
「うまく動かないんですけど」とか
「どうやって使えばいいんでしょうか?」
なんて質問に対応するのが面倒だからだと思う。
0190名前は開発中のものです。2010/03/21(日) 04:51:27ID:rCzCwe4P
>>189
現状で既に対応が神レベルなわけだがw
0191名前は開発中のものです。2010/03/21(日) 13:06:40ID:zkQ+srVW
>>177
サンクス
0192名前は開発中のものです。2010/03/22(月) 06:30:59ID:uvieysEr
3.02
0193名前は開発中のものです。2010/03/22(月) 13:51:26ID:I7IomX3v
トゥーンレンダリング追加
0194名前は開発中のものです。2010/03/22(月) 14:44:58ID:FYxA/CST
したら吹くわw
0195名前は開発中のものです。2010/03/22(月) 14:51:24ID:EaQBZTnY
されとるよ
0196名前は開発中のものです。2010/03/22(月) 14:54:29ID:FYxA/CST
なん・・・だと・・・
0197名前は開発中のものです。2010/03/22(月) 16:38:29ID:C5YMgfKV
まだPMDは非推奨か
0198名前は開発中のものです。2010/03/22(月) 16:59:24ID:Hc38DsYj
>>194

ちゃんと吹いたか?w
0199名前は開発中のものです。2010/03/22(月) 18:14:21ID:XicM9SHz
ある解像度(ウィンドウサイズ)で2Dゲームを作り、
コンフィグの設定によって、それよりも大きい別のサイズで引き伸ばして表示出来るようにしたい。
要はSetEmulation320x240の別解像度版と言ったところ。

どうやるのがスマートかな。
描画系クラスをひたすらラッパして、1つ1つ拡大処理を行わせるしかない?
0200名前は開発中のものです。2010/03/22(月) 18:17:58ID:EaQBZTnY
SetWindowSizeChangeEnableFlag

或いはSetWindowSizeExtendRateとウィンドウサイズ変更を組み合わせる
0201名前は開発中のものです。2010/03/22(月) 18:20:06ID:Hc38DsYj
これは?

宣言 int SetWindowSizeExtendRate( double ExRate ) ;

概略  ウインドウモードの時のウインドウの大きさと描画画面の大きさの比率を設定する
0202名前は開発中のものです。2010/03/22(月) 18:26:18ID:/ZrA42+9
DrawExtendGraph
0203名前は開発中のものです。2010/03/22(月) 18:32:54ID:XicM9SHz
うおおお、知らない関数がぼろぼろ出てくる。
今まで地味になにやってたんだろう俺(笑)
0204名前は開発中のものです。2010/03/22(月) 18:46:02ID:Y44rl97h
トゥーンうまくいかねぇ・・・
0205名前は開発中のものです。2010/03/22(月) 21:11:09ID:Ylkk32ct
>>201が答えだな。
まぁ描画クラスをラッピングしてもいけるけど。
0206名前は開発中のものです。2010/03/22(月) 21:17:51ID:/ZrA42+9
しかしそのやり方だと拡大縮小時に画像に補完がかかるので2Dのゲームだと画像が汚くなるのだ。
拡大縮小時のアルゴリズムを設定するAPIがあるけどその設定も無視される。
従って俺様が正解。
0207名前は開発中のものです。2010/03/22(月) 21:19:43ID:mFq/Yxd9
DrawExtendGraphだろうがSetWindowSizeExtendRateだろうがBILINEARにすれば一緒じゃねえの?
0208名前は開発中のものです。2010/03/22(月) 21:39:29ID:/ZrA42+9
2Dであえてバイリニアにするかな普通
0209名前は開発中のものです。2010/03/22(月) 21:40:22ID:mFq/Yxd9
ニアレストネイバーなんてガタガタで使い物にならんだろ
0210名前は開発中のものです。2010/03/22(月) 21:56:47ID:/ZrA42+9
どんな2Dゲーム作ってるの
0211名前は開発中のものです。2010/03/22(月) 22:01:35ID:EaQBZTnY
>>209
整数倍なら普通に存在するし常套手段。
ただし>>199の言うとおり複数パターンの解像度があるなら、ニアレストネイバーだと酷い見た目になる
0212名前は開発中のものです。2010/03/22(月) 22:12:58ID:XicM9SHz
やっぱ整数倍じゃないとツラいかー。
他人様に見せるレベルじゃないとは言え、一応ドット絵だからなあ。

ちなみに512x384という変則サイズでゲームを作って、それを640x480か800x600に引き伸ばしたいと思ってた。
いっそのこと2倍にしてしまおうか。
0213名前は開発中のものです。2010/03/22(月) 22:20:21ID:Xkjz6Cwe
>ちなみに512x384という変則サイズでゲームを作って、それを640x480か800x600に引き伸ばしたいと思ってた。
そりゃやめた方がいい。見栄えがとてもアレなことになるw
つーか、なんでわざわざそんな半端な解像度で作るんだ。ツクールVXの関係か?

素材はちゃんと想定解像度で揃えた方がいいよ。クオリティが全然変わってくる。
拡大縮小機能はあくまでオマケとして考えること。
0214名前は開発中のものです。2010/03/22(月) 22:21:11ID:EaQBZTnY
1024は流石にやめたほうがいい
別にバイリニアでいいんじゃね そこまでおかしくなることもない
0215名前は開発中のものです。2010/03/22(月) 22:33:53ID:+2vRg2cR
DrawPrimitive2Dってのが追加されてるけど使い方わからねぇ
0216名前は開発中のものです。2010/03/22(月) 22:42:24ID:XicM9SHz
・512x384の解像度で綺麗に表示される
・フルスクリーンにも対応できる

この2つの条件を満たしたいのよね。
フルスクリーンにするには、画面を標準的なサイズ(640x480や800x600など)に変更する以くらいしか思いつかない。

前にやったときは、2つの解像度で画面配置とか色々変えてやってみたんだけど、
さすがにこれは労力がかかりすぎた。
0217名前は開発中のものです。2010/03/22(月) 22:52:41ID:rV1Y0nX1
640*480で作って、いらない部分に枠をつける
0218名前は開発中のものです。2010/03/22(月) 22:58:01ID:0x3obs8g
>>216
フルスクリーンにするなら512×384も640×480もあんま変わらん。
512×384のままフルスクリーンにしてしまえばいい。
まあ、今時のディスプレイドライバが対応してるかは知らんが。
0219名前は開発中のものです。2010/03/22(月) 23:06:24ID:XicM9SHz
>>217
一番最初に考えて、ひどいなと思ってやめたw

>>218
少なくともウチの環境じゃ対応してなかったからなー。
さすがに確認できないのは色々と面倒くさい。
0220名前は開発中のものです。2010/03/22(月) 23:08:47ID:0x3obs8g
>>219
そもそもなんでそんなレガシーな解像度で作ってるんだ?
0221名前は開発中のものです。2010/03/23(火) 00:19:20ID:GS8iVKAj
件の解像度でぐぐってみた
0222名前は開発中のものです。2010/03/23(火) 00:23:14ID:ISljKIQv
枠をつける以外ないと思うが
0223名前は開発中のものです。2010/03/23(火) 08:54:11ID:AXCuQ29/
ニコニコ動画でくっきり見せるため,とか?
0224名前は開発中のものです。2010/03/23(火) 09:14:42ID:gxCnh1tj
だとしたらしょーもない理由だな・・・
0225名前は開発中のものです。2010/03/23(火) 11:58:44ID:YXMSMc8V
質問させてください
画像を縮小してメモリに保持する方法って無いですか
0226名前は開発中のものです。2010/03/23(火) 12:16:26ID:yjI7ZKJL
>>225
事前に縮小した画像を読み込まない理由はなんなの?
こっちこそ、それが知りたい
利用目的によって解決方法は様々だから
そうしたい理由を述べた方がいいよ
0227名前は開発中のものです。2010/03/23(火) 12:20:15ID:Cw6AOstL
1ドットづつ読み込んでsoftImageに書き込んでいけばいい
縮小アルゴリズムは適当にネットで探す
0228名前は開発中のものです。2010/03/23(火) 12:29:01ID:l82knREa
ニコニコは宣伝料の節約にはもってこいじゃん
それだけでニコ動の解像度に合わせるのは十分ありだと思うぞ
0229名前は開発中のものです。2010/03/23(火) 12:36:20ID:GBZ9iaKq
ねーよw
640×480で製作したのを512×384に変換しても、
そもそもニコニコの画質がたかが知れてるから気にするほどの劣化は無い。

あと、有象無象の自作ゲームをアップしたところで宣伝効果はたかが知れてる。
閲覧数4桁行かんよ。
0230名前は開発中のものです。2010/03/23(火) 12:37:29ID:Cw6AOstL
512*384で作ったゲームを640*480に拡大表示させるより
撮影した動画を512*384に縮小するほうが明らかに良いと思うが
0231名前は開発中のものです。2010/03/23(火) 13:13:36ID:oi8iyMuN
宣伝のためにゲーム本体を劣化させるとか、どんだけ本末転倒だよ・・・
0232名前は開発中のものです。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:++pj2kz7
対応してるグラボはあるぞ
http://www.elsa-jp.co.jp/products/graphicsboard/resolution/quadro.html
0236名前は開発中のものです。2010/03/23(火) 14:12:25ID:++pj2kz7
あ、グラボじゃねーや。NVIDIAで脊髄反射してしまった。
てかこれ何の商品だ?
0237名前は開発中のものです。2010/03/23(火) 14:41:31ID:sE6KKUKg
グラボだろ
0238名前は開発中のものです。2010/03/23(火) 15:33:13ID:WhugOCXV
どう見てもグラボ
0239名前は開発中のものです。2010/03/23(火) 15:43:03ID:z4Sj0akk
ビデオカード
0240名前は開発中のものです。2010/03/23(火) 16:42:33ID:GS8iVKAj
ワイド対応とか考えると面倒そうだ
0241名前は開発中のものです。2010/03/23(火) 16:49:09ID:wMJQRn7h
ニコニコのために512*384ってのはないだろー
エンコでどうとでもなるし画質劣化なんてわからないぐらいに抑えられる
別の理由があると思うんだが、なぜなんだぜ?
0242名前は開発中のものです。2010/03/23(火) 20:01:35ID:5QVJzgJf
せこいアイディア思いついて
誰にも出し抜かれないうちに実現したいんだろ。
自力で出来もしないのにケチなことには知恵が回る。
この手のガキには付き合わないほうがいいよw
0243名前は開発中のものです。2010/03/23(火) 20:12:48ID:IlgZgFTs
あるあるw
0244名前は開発中のものです。2010/03/23(火) 20:23:45ID:7xtWgBdZ
あるのかw
俺には、その発想なかったわ。
経験者は語るってやつかな。
0245名前は開発中のものです。2010/03/23(火) 20:33:42ID:IlgZgFTs
いや、出来もしないのにケチなことには知恵が回る、ってところねw

ホント、出来ない奴ほど自分のアイデアが素晴らしいものだと思いこんで、
つまらないことばかりするんだよ。どっかの福本も言ってたじゃないか。
0246名前は開発中のものです。2010/03/24(水) 01:02:14ID:eqD7xz7K
もうやったなら仕方ないから、
ウィンドウ時はそのまま512*384で最大化時に640*480で枠付けたらいいと思う
そうなってるゲームあるし
0247名前は開発中のものです。2010/03/24(水) 01:37:26ID:0baBlkEl
今更知ったんだが、DXライブラリってオープンソースなのな
0248名前は開発中のものです。2010/03/24(水) 04:03:58ID:aLvqmjzQ
DXライブラリでゲームつくってんだけどCPUが重い訳でもないし
画像を4枚表示してるだけなのに
FPSが42〜45くらいしか出ないんだぜ・・・
30カウンントごとにGetNowCount()して
(double)(30000/経過時間)ってやってる
ググッたらVistaでそういう症状が出たとかあったけど、俺XPだし・・・
DXライブラリでFPS制御って自動でやってたりするのん?
0249名前は開発中のものです。2010/03/24(水) 06:24:19ID:DzrNVZ57
いちいちHDDから読み込んでるかモニタのリフレッシュレートが45なんじゃね?
0250名前は開発中のものです。2010/03/24(水) 11:45:55ID:eFhpq7n1
まぁ初心者がやりがちなのは前者だろうな。
毎フレーム画像読み込みやってんじゃない。
0251名前は開発中のものです。2010/03/24(水) 12:49:01ID:yQ424YF5
DXライブラリ使うと確実にCPU使用率が2桁になる
0252名前は開発中のものです。2010/03/24(水) 12:58:20ID:ZCmo6FOF
WaitTimer挟めよ
0253名前は開発中のものです。2010/03/24(水) 16:07:19ID:aLvqmjzQ
>>249 >>250
確かめてみた
モニタのリフレッシュレートは60Hzだった
なんにもしないでFPS表示するだけのプログラム組んでみたけど
やっぱり43ぐらいしか出なかった

んで、DXライブラリのバージョンを3.00fから2.24cに落としたら
なんにもしない状態だとFPSは60出たけど
なんかやたらちらつくし、やりたい処理入れるとクソ重くて
使い物にならんかった・・・
DirectXとの相性なのか・・・?
0254名前は開発中のものです。2010/03/24(水) 16:13:15ID:H1MROAKc
>>253
とりあえずバージョンは3.02を入れれ

LoadGraphScreenはやってないんだな?
0255名前は開発中のものです。2010/03/24(水) 16:25:00ID:6hYmxPv7
ちらつくって裏画面使ってないの?
0256名前は開発中のものです。2010/03/24(水) 16:31:28ID:aLvqmjzQ
>>254
3.02で試してみた・・・が、やはりダメだた・・・
メインループ内の処理の内容は以下の通り
 // 30カウントごとにFPSの更新を行う
 // カウンター表示
 // FPS表示
 // ESCが押されたら終了
 // カウンター加算
 ScreenFlip();

ScreenFlip外すと7000FPSくらい出る
0257名前は開発中のものです。2010/03/24(水) 16:44:27ID:H1MROAKc
>>256
だ・か・ら・DrawGraphなのかLoadGraphScreenなのかと。
あと、裏画面設定はしてるよな?
■ このスレッドは過去ログ倉庫に格納されています