- 1 名前:名前は開発中のものです。 mailto:sage [2013/11/07(木) 12:40:45.76 ID:qXzfRGmE]
- Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。 DXライブラリに関するテクニックなどの情報交換などを行う事で、 多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。 【公式】 homepage2.nifty.com/natupaji/DxLib/ 【関連スレ】 C/C++ゲーム製作総合スレッド Part4 toro.2ch.net/test/read.cgi/gamedev/1376262450/ ゲームプログラムなら俺に聞け29(プログラム技術板) toro.2ch.net/test/read.cgi/tech/1381578085/ ●DXライブラリではなくDirectXの質問ならこっちへ 【C++】DirectX初心者質問スレ【C】(プログラム技術板) toro.2ch.net/test/read.cgi/tech/1370015791/
- 572 名前:名前は開発中のものです。 mailto:sage [2014/01/10(金) 20:49:32.06 ID:dkda6PtW]
- 描画順はともかく、ハンドル入れ替えは案外使えるテクニックかもしれん。
やるとしたら間に1つ変数を挟んで、その間の方を弄るようにするのがいいかな?
- 573 名前:名前は開発中のものです。 mailto:sage [2014/01/10(金) 22:32:23.39 ID:YP8fX2qG]
- >>572
使えるテクニックも何も… バカソートでもいいからソート処理とか書いた事無いのか。 名前の付いてるアルゴリズムじゃなくてもいいから、普通に。
- 574 名前:名前は開発中のものです。 mailto:sage [2014/01/10(金) 22:39:15.90 ID:YP8fX2qG]
- あ、でも一般化した場合の注意点あるとしたら、
対象が単純なポインタや管理番号としてのハンドル(例えばintのtypedef)とかじゃなく、 何かのインスタンスでかつコピー演算子がオーバロードされててかつ、コピーに対して安全じゃない面のだったら、 安直な入れ換えは出来ないけどな。言うまでもないが。
- 575 名前:名前は開発中のものです。 mailto:sage [2014/01/11(土) 00:42:40.61 ID:CdbAKzPF]
- なんで>572宛のレスでソートの話が出てくるんだ? と思ったがまあいいや。
DXライブラリでのリソース系のハンドルは、基本intでしかなかった気がするな。 違ったっけ?
- 576 名前:名前は開発中のものです。 mailto:sage [2014/01/11(土) 05:15:45.88 ID:ewMO4V4t]
- マップチップで描かれたマップ等の画像を縮小すると、誤差によってマップチップの間に隙間ができちゃうんですが
みなさんはどうやってこれを防ぎますか? 全体の縮小率に合わせてマップチップを少しだけ拡大(縮小率をこころもち下げる)して ごまかす方向くらいしか思いつきません。
- 577 名前:名前は開発中のものです。 mailto:sage [2014/01/11(土) 10:55:36.59 ID:CdbAKzPF]
- なるべく誤差がでないスケールにしつつ、後は自分でも言ってる通り適当にごまかすしかないんじゃね?
人間って静体視力に比べると動体視力って凄く低いらしいから、 たとえばアニメーション途中で多少ずれるくらいなら、たぶん気付かん。
- 578 名前:名前は開発中のものです。 mailto:sage [2014/01/11(土) 11:16:52.29 ID:v71tEQ8V]
- チップ敷き詰め終わった絵を縮小するとか
- 579 名前:名前は開発中のものです。 mailto:sage [2014/01/11(土) 11:33:17.96 ID:RLEibINy]
- 解像度にあわせて全体の拡大縮小率を設定できる関数なかったっけ?
- 580 名前:名前は開発中のものです。 mailto:sage [2014/01/11(土) 13:24:17.60 ID:aBgE98OE]
- >>575
いやソート処理書いた事あれば、ハンドルやらポインタのリストの入れ換えとか頻繁に書くからって意味でしょ
- 581 名前:名前は開発中のものです。 mailto:sage [2014/01/11(土) 13:32:12.78 ID:aBgE98OE]
- >>576
そんなの、なんで隙間が出来るかちゃんと意味わかってたら解決する話じゃね。 つまり割った時の端数の切り捨てや四捨五入の結果な訳だから、 >>577 も言ってるが、スケール計算見直すか、あるいは別の方法として、>>578 も言うように一枚にまとめてからスケーリングするとかじゃね。 ただ当然後者の場合は同じ理由で、その一枚画像の端に1ピクセルの隙間出来るけど。
- 582 名前:名前は開発中のものです。 mailto:sage [2014/01/11(土) 16:18:25.25 ID:ohUD/Gu5]
- DrawRotaGraphとかにはリファレンスに載ってないやつがたくさんある
拡大率をdouble(1.0で等倍)で指定するのではなく、 描画サイズ(int x, y, w, h)で指定できるやつを探してみ
- 583 名前:名前は開発中のものです。 mailto:sage [2014/01/11(土) 18:49:49.44 ID:CdbAKzPF]
- >>580
ああ、そういうことか。 DXライブラリの画像ハンドルで使ったことはなかったから、繋がらなかったよ。
- 584 名前:名前は開発中のものです。 mailto:sage [2014/01/11(土) 19:32:59.91 ID:Vur3booT]
- >>582
試してないけどGDIでの経験だと整数値で指定じゃ誤差分のズレは消えないと思う GDI+だと浮動小数で指定できるからタイリングでの誤差が気にならない程度に出来てた
- 585 名前:名前は開発中のものです。 mailto:sage [2014/01/12(日) 19:32:53.69 ID:WKgaTSVZ]
- テトリス何も参考にせずDXライブラリの関数とC言語の関数で
作り始めて2か月経過したんですけど、ステージとかブロックを ループ内で表示させる関数はDrawScreenでいいんですか? 描画系の関数他にもありましたよね、効率の悪い関数使ってないか 怖いんですが、これでいいですか?
- 586 名前:名前は開発中のものです。 mailto:sage [2014/01/12(日) 21:54:22.69 ID:HoQY7W6g]
- DXライブラリ公式の関数リファレンス、サンプルプログラムを読んでください
- 587 名前:576 mailto:sage [2014/01/13(月) 10:37:58.84 ID:6VL0CxiK]
- 皆さん色々アドバイスありがとう。
最初縮小率を工夫してなんとかしようとしたけど、DXライブラリの画像は縮小率○%で○ドットになる、ってのが結局掴めなくて断念しました。 582の言葉をヒントに、(言われてる命令がどれかはわかりませんでしたが) 今までRotaを使ってたのをModiに切り替えて、隣のチップと1ドット分重ねるようにすることで隙間がでないようになりました。 計算回数がちょっと増えたのと、計算結果を記録しておくための変数が割りと多く必要になったの以外は問題なく動いております。
- 588 名前:名前は開発中のものです。 mailto:sage [2014/01/13(月) 11:28:31.22 ID:Rq2YD+PD]
- MakeScreenで1つのテクスチャにまとめておくと拡縮楽よ
ただMakeScreenで作った先は透過色が無効になるからシェーダーで描画する必要があるのが面倒だけど
- 589 名前:名前は開発中のものです。 mailto:sage [2014/01/13(月) 12:57:02.15 ID:lO/bB9XF]
- >>582だけど俺はDrawRectExtendGraph()ひとつで全部やってる
これが一番Direct3D9固定パイプラインのベーシックに近いと思うし
- 590 名前:名前は開発中のものです。 mailto:sage [2014/01/13(月) 16:37:19.79 ID:Jd6+e9YY]
- 宣言 int ChangeVolumeSoundMem( int VolumePal , int SoundHandle ) ;
概略 メモリに読みこんだ音声データの再生にボリュームを設定する これって軽ければSE再生時の関数に組み込みたいんだけどどうなの? 既にロードしてある前提で・・・
- 591 名前:名前は開発中のものです。 mailto:sage [2014/01/13(月) 17:10:51.68 ID:lO/bB9XF]
- アフォの質問には答えない・・・
- 592 名前:名前は開発中のものです。 mailto:sage [2014/01/13(月) 18:20:55.55 ID:Jd6+e9YY]
- は?
- 593 名前:名前は開発中のものです。 mailto:sage [2014/01/13(月) 23:41:54.73 ID:8rTnWJUa]
- 使ってみた結果どうだったの?と聞いている
- 594 名前:名前は開発中のものです。 mailto:sage [2014/01/14(火) 00:29:49.56 ID:VNg7rNHe]
- いや、聞いてないよ?
- 595 名前:名前は開発中のものです。 mailto:sage [2014/01/14(火) 01:26:27.62 ID:Ayv5or89]
- >>590
自分で試せよハゲ
- 596 名前:名前は開発中のものです。 mailto:sage [2014/01/14(火) 07:26:57.51 ID:ejLfaAnW]
- 自分で試すと関数の重さが分かる関数を教えてくだちい☆
- 597 名前:名前は開発中のものです。 mailto:sage [2014/01/14(火) 09:56:07.37 ID:cmt43xDe]
- 「試してみたら重かった。しかし自分の環境のせいかもしれない。書いた処理はこうで、環境はこうなってる。
どこに原因があるだろうか。これはこういう物なのか?」みたいな質問なら、ちょっとこっちの環境でもテストしてみようかって気にはなるけど。
- 598 名前:名前は開発中のものです。 mailto:sage [2014/01/14(火) 10:46:04.55 ID:qV8H97gd]
- >>587
int dx; int dy; dx = (int)(width * 0.9f); dy = (int)(height * 0.9f); int y; int x; for(int cy = 0; cy < h; cy++,y+=dy){ x = 0; for(int cx = 0; cx < w; cx++,x+=dx){ DrawRectGraph(x,y,0,0,dx,dy,...); } } 転送先の座標を整数で計算すんのはアカン?
- 599 名前:名前は開発中のものです。 mailto:sage [2014/01/14(火) 12:26:42.84 ID:cmt43xDe]
- ビットマップのリサイジングなら、俺大抵はこれで終わりにしてる。
msdn.microsoft.com/ja-jp/library/cc428770.aspx
- 600 名前:名前は開発中のものです。 mailto:sage [2014/01/14(火) 12:40:02.84 ID:PJ2xTq94]
- StretchBltを使ってどうやって今回の要件を実現するのか
ちょっと教えてくれないか
- 601 名前:名前は開発中のものです。 mailto:sage [2014/01/14(火) 17:31:32.39 ID:ejLfaAnW]
- お断りします
- 602 名前:名前は開発中のものです。 [2014/01/15(水) 03:35:55.68 ID:aThJdUAV]
- うんこゲー祭
unkomatsuri.webcrow.jp/ フリゲ2013にて、「ウンコの世界」と投票して逃げたうんこヤローにブチ切れた赤松が企画する、 うんこゲームを自作して、人に喰らわせて、みんなでスッキリする祭です。 4/1(火)に一般公開するから、エイプリルフールネタとしても最適! 匿名公開だから息抜きにも最適!優勝賞品までついてくる! さあ! フリゲ界隈をうんこ色に染めよう! 【参加要綱】 うんこをモチーフとした、自作のゲームであること 今までに発表したことがない、出したてホカホカのゲームであること 二次創作、18禁、垢BANされちゃうヤバいゲームはNG
- 603 名前:名前は開発中のものです。 mailto:sage [2014/01/15(水) 15:31:34.76 ID:31fQg8k/]
- 皆さんはマップエディタは何を使ってます?
- 604 名前:名前は開発中のものです。 mailto:sage [2014/01/15(水) 16:15:12.29 ID:7lxe2xw0]
- 自作。まさに今自作してる(し終わった)ところ。
以前も自作のものを使ってたんだけど、それを根本から作りなおした。
- 605 名前:名前は開発中のものです。 mailto:sage [2014/01/15(水) 18:50:16.84 ID:jxr9ROu3]
- プラチナエディタ。CSV出力できたから特に何も考えずに使ってる。
定期的に話題になるな。
- 606 名前:名前は開発中のものです。 mailto:sage [2014/01/15(水) 20:25:44.78 ID:DtL7thw5]
- マップエディタすら自作できない人間は
- 607 名前:名前は開発中のものです。 mailto:sage [2014/01/15(水) 20:49:35.66 ID:ReMmfupq]
- 昔は自作してた
今の試作品はTiledつかってる 将来的には自作に戻るつもり っつーか、建物とか自作したりする機能や自動マップ作成機能とかは欲しいかな?
- 608 名前:名前は開発中のものです。 mailto:sage [2014/01/15(水) 21:00:45.00 ID:jxr9ROu3]
- >>606
無気力人間だな。作ろうと思えば作れるけど、メンドクサイ。 自分がやりたいのはプログラミングではなくてゲーム製作なんでね。
- 609 名前:名前は開発中のものです。 mailto:sage [2014/01/15(水) 22:26:49.10 ID:+/49vmvb]
- そのうちツールを作る方が楽しくなってくるぞ
- 610 名前:名前は開発中のものです。 mailto:sage [2014/01/15(水) 22:38:58.62 ID:8BnJHNQV]
- 結局ゲーム製作となると、素材作りがメインになっちゃうんだよな
- 611 名前:名前は開発中のものです。 mailto:sage [2014/01/15(水) 22:45:35.45 ID:N++C8QGx]
- ツクールのオートタイル全部実装したぜ(ドヤァ
- 612 名前:名前は開発中のものです。 mailto:sage [2014/01/15(水) 22:46:55.09 ID:E+dV3mn7]
- みんな一人で大作を作ってんの?
俺はミニゲームしか作らないから素材作りよりシステム作りとか短期的なレベルデザインで自分のアイディアを試すのが好きだなあ
- 613 名前:名前は開発中のものです。 mailto:sage [2014/01/16(木) 03:10:37.77 ID:uOraed46]
- >>610
そうなんだよねぇ。 毎度毎度、ゲームの下地をプログラミングして、「よし次は画像を作って実際に動かせば〜」ってところでガクっと作業スピードが落ちる。 >>612 君のいう大作ってのがどの程度のものかは知らないけど 普通に自分以外の人が楽しく遊べるくらいのボリュームは作ってるつもり。
- 614 名前:名前は開発中のものです。 mailto:sage [2014/01/16(木) 09:27:20.88 ID:BXqcqmMT]
- >>611
それでドヤ顔なら逆に微笑ましいと思う
- 615 名前:名前は開発中のものです。 mailto:sage [2014/01/16(木) 12:32:49.56 ID:TE0tp9TC]
- 10年くらい前だったかな。
ゲーム内にエディットモードのあるゲームが作りたくて、 簡易マップエディタをDXライブラリで実装したけど、それっきりだなあ。しかも中途半端な出来だった。
- 616 名前:名前は開発中のものです。 mailto:sage [2014/01/16(木) 12:53:23.56 ID:BXqcqmMT]
- 俺は簡単な内容ならExcelでまとめてそれをスクリプトで整理して吐き出し、
それじゃしんどい時はゲーム本体側のモジュール再利用してエディタ別に作る感じかな。 てか、データ作るのがしんどいからエディタ作って楽するってのは普通だと思う。
- 617 名前:名前は開発中のものです。 mailto:sage [2014/01/17(金) 02:36:25.76 ID:KCGmD+Rj]
- >>611
オートタイルって普通にマップチップ一個表示する部分で 4個表示しないと駄目だよね?
- 618 名前:名前は開発中のものです。 mailto:sage [2014/01/17(金) 04:34:10.48 ID:Mf6hYg56]
- オートタイルがわからなかったのでぐぐった。
最近のRPGツクール系にはこんな機能あるのね。
|

|