1 名前:名前は開発中のものです。 mailto:sage [2009/12/04(金) 16:49:13 ID:7SKA4I5z] 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/ DXライブラリ 総合スレッド その4 pc11.2ch.net/test/read.cgi/gamedev/1249822550/
809 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 23:31:20 ID:y+n9ea+J] DxLIBだとインストール済みのフォントデータしか使えないのかな? 思っていたより使い勝手悪いな…
810 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 23:39:52 ID:mUdTkHdF] よくわからんがフォントリソースとして読み込んでから使えとか見た気がするな
811 名前:名前は開発中のものです。 mailto:sage [2010/02/04(木) 01:32:44 ID:9yr7SgZz] d AddFontResourceを使ってゲーム起動時に追加出来た
812 名前:名前は開発中のものです。 mailto:sage [2010/02/04(木) 10:22:35 ID:B+CnvqXs] 思っていたより使い勝手悪いな…
813 名前:名前は開発中のものです。 mailto:sage [2010/02/04(木) 15:03:56 ID:0uWBCETA] DXLIBのデータファイルの暗号化機能を使おうかと思うんだけど パスワードってリテラルでEXEに埋め込んじゃってダイジョブなん?
814 名前:名前は開発中のものです。 mailto:sage [2010/02/04(木) 15:08:11 ID:WAZ4oke5] 思っていたより使い勝手悪いな…
815 名前:名前は開発中のものです。 mailto:sage [2010/02/04(木) 18:53:49 ID:QxyExYir] なにがどう大丈夫なのか解らんが、 自分で何とかできないのなら諦めて普通に使うしかないだろう。
816 名前:名前は開発中のものです。 mailto:sage [2010/02/04(木) 18:55:51 ID:0uWBCETA] いや、キーがバイナリエディタとかで見えちゃうんじゃないかなと思って・・・
817 名前:名前は開発中のものです。 mailto:sage [2010/02/04(木) 19:04:15 ID:1Mq3yDnQ] >>816 ようは 「入力された文字」==「キー」 ってやってもだいじょうぶかきいてるんだろ? キーはみえる
818 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 01:25:04 ID:a9qwHvOS] 乱数とかつかって謎の文字列を生成する関数とか作って それをキーに使ったほうがわかりにくくていいんかな
819 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 01:30:13 ID:y9Rl8Gqj] 自分でそれができるのならやればいいのでは。 どうしてそこまで隠したがるのか知らないけど。 俺は、俺の作ったゲームをプレイした人が 「このゲームの生データ見てみたい!」 って思ってくれるほど魅力があるデータを作れた自信がないから そこまで心配はしてないな。
820 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 01:31:15 ID:RCBVAjHS] >>816 暗号鍵を何かでエンコードしてリテラルとしてソースコード埋め込んどいて、SetDXArchiveKeyStringにデコードして渡すとか?
821 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 02:23:43 ID:9VhG5z2Z] 暗号化の機構と、暗号鍵と、暗号化の対象が全て一箇所にある以上 どうしようもない気はする
822 名前:名前は開発中のものです。 [2010/02/05(金) 16:46:58 ID:N9JJZcSG] キャラのポリゴン数ってどれくらいが理想? 今のところ10000ポリゴンはあるんだが。 ちなみにメタセコでCark(分割)4の曲面化つかったデータね ちなみに胴体だけです これじゃ動かないかなあ
823 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 16:50:07 ID:qcSvBbHw] みんな画像や音声のロードってどうしてるの? NowLoading...のアニメーションを動かしながらロード、ってのをしたいんだけど、 読み込みとアニメーションを並行してやる方法が分からないんだ
824 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 16:52:34 ID:Ir4+43zS] >>822 >>492
825 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 19:50:51 ID:EoD901Y8] マルチスレッドじゃね
826 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 20:17:16 ID:Ir4+43zS] >>823 1フレームに1つずつファイルを読み込みながらアニメーション表示させる。 マルチスレッドを使ってもいいけどこっちの方が簡単。
827 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 20:25:49 ID:qcSvBbHw] >>825 公式の掲示板の過去ログで、2007年にLoadGraphはマルチスレッドに対応してないみたいな事を管理人さんが・・・ >>826 音声ファイルとかだと1フレームの間にロードし終わってくれますかね・・・?
828 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 20:30:27 ID:g1+Hi/0a] 俺も>>826 の方法だけど たしかにちょっと止まるな
829 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 20:30:28 ID:EoD901Y8] 起動時に全部読み込んで後でNowLoadingだけ表示しとけばいいんじゃね
830 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 20:38:57 ID:XWwIt0Ve] 本末転倒w
831 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 20:58:53 ID:Ir4+43zS] 個人的な感覚でだけど>>829 の方法が可能ならこれでいいんじゃないかな。 そもそもプレイヤーにストレスを与えないようにするのが目的だし、実際「NowLoading...」と表示しておきながら読み込み以外の処理もしてたりするしね。 あと>>826 の方法は確かに処理落ちする可能性はあるけど何か問題あるの? どうせプログレスバーを表示させるぐらいじゃないの?
832 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 21:03:23 ID:g1+Hi/0a] >>829 はネタレスだろw
833 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 21:04:42 ID:qcSvBbHw] >>831 起動時に全部読み込むと、読み込みファイルのサイズが大きくなったときにちょっと・・・。 できるだけ逐次ロードしたいから・・・。 あと、最初に読み込もうとすると数秒止まっちゃって、それが気にくわないというかストレス。
834 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 21:37:34 ID:RBAQ2+kz] マルチスレッドなしならなうろーでぃんぐはアニメーションさせないのが一番
835 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 21:58:05 ID:RjYJfLjO] かなりいい加減なコードだけど、スレッドを使った Now Loading のサンプル ttp://codepad.org/HMbYruHZ
836 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 22:31:40 ID:qcSvBbHw] >>835 おお・・・ 参考にしてみまする
837 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 22:43:27 ID:Xzk70bEL] i=0; なんかループ{ なんかロード1コ なんかナウローディングとか表示 なんか四角とか描画(x, y ,x+i, y); 画面更新 } CとかDirectXライブラリの記述方法は忘れた
838 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 22:55:33 ID:9VhG5z2Z] DXライブラリはともかく、Cの表記とゲームプログラミングの作法は忘れんなw
839 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 23:11:28 ID:a9qwHvOS] ファイル単位で読み込もうとするからデカイファイルのせいで処理落ちするコマが出てくるんじゃね? while(!end()) { read( Nバイト ); draw(); } これならフレームレート安定するだろう でもわざわざ読み込み速度を意図的に落としてまでやるべきなのかは疑問
840 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 23:14:04 ID:+ZQFEOdr] DXライブラリで >read( Nバイト ); ってどうやんの?
841 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 23:19:28 ID:qcSvBbHw] スレッド使ってロードしようとしたらエラー吐いて落ちた・・・。 やっぱりLoadGraphはマルチスレッド対応してないってことなのかな・・・。 >>839 kwsk
842 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 23:29:20 ID:ax38IgEf] >>835 のコードだったらわざわざマルチスレッドにせずとも>>826 でやればいいような気もするが
843 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 23:31:09 ID:9VhG5z2Z] 自己満足で!(超重要
844 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 23:45:43 ID:tUrF1ELA] スレッド系はきっちり作らないと他人の環境限定で ある日突然落ちたりしてデバッグで泣くことになるぞ。 CPUのコア数によって出たり出なかったりとかするからな。
845 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 02:01:00 ID:npht8xA6] Now loading...のアニメーションを動画にしたらどうかな?
846 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 02:46:06 ID:Y+vgz54E] その動画を読み込ん出る間のNow Loading画面が欲しくなるね!
847 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 03:13:17 ID:ryKI6KOb] Now loading...をLoading Complete!に修正すればよくね
848 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 04:54:47 ID:sLGxAtvo] 「ロードした」なら使ってもいい!
849 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 07:42:28 ID:heYW4fwh] >>829 はネタのつもりで書いただろうけど、実際にやってる人を見たことあるよ。 静止画を表示しながら読み込み(2秒間)⇒「NowLoading...」(0.2秒) 本人曰く「ただ気分を味わいたかった」と。 でも実際のゲームを見てみるとプレイヤーからはそれは分からないし、むしろ「ロード早いなあ」という印象すら受けた・・・ これも一つの答えなんだと思ったよw マルチスレッドを使う方法は↓に書いてある。 hpcgi2.nifty.com/natupaji/aska.cgi あと画像はLoadDivGraphで分割読み込みができる。
850 名前:849 mailto:sage [2010/02/06(土) 07:48:32 ID:heYW4fwh] すみません。 掲示板のリンクがダメですね・・・ 記事No「1896」です。
851 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 09:42:16 ID:AjOTNEN+] >>849 LoadDivGraphで分割読み込み、ってアレはひとつの画像を複数の画像に分割するんであって、 分割してひとつの画像読み込むわけじゃないっていう マルチスレッドの方は読んでみた 応用してやれないか試してみる
852 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 13:12:13 ID:6i+WO82B] そもそも円滑にアニメーションさせる必要なくね? 要所要所で動作が若干止まったりしたほうが読み込んでるっぽくてユーザも安心するし
853 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 13:15:04 ID:m1I5HW8a] じじいの酷い言い訳
854 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 13:30:09 ID:xpV9NzXE] じじいくらべならまけませんよ?
855 名前:名前は開発中のものです。 [2010/02/06(土) 14:19:32 ID:heYW4fwh] アニメーションの種類によるんじゃなかな? 読み込みの進捗を表示させるようなタイプなら>>823 で多少カクカクしても問題ないと思うし、むしろマルチスレッドにすると同期を取るのがめんどくさいし。 逆にもっと派手なアニメーションだと処理落ちすると見栄えが悪くなるのでマルチスレッドにするしかないと思う。 ただ個人的には同人ゲームなら静止画で「NowLoading...」と表示させておくだけで十分だと思うんだけど・・・
856 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 15:27:53 ID:hilmmGtE] 静止画1枚だとフリーズしてんのかな?って不安になる
857 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 16:16:36 ID:+7JZw7l0] カクカクでもいいならマルチスレッド必要ないよな
858 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 16:21:12 ID:AjOTNEN+] せめてNowLoading... [ ココ ] で何かのアニメーションはさせたいよね
859 名前:名前は開発中のものです。 [2010/02/06(土) 22:28:44 ID:fMJ0B1gK] そこは操気弾のアニメを
860 名前:名前は開発中のものです。 [2010/02/06(土) 23:38:51 ID:cCb1U7aq] これって3dもつくれるんだよね? Blenderにも対応してる?
861 名前:名前は開発中のものです。 mailto:sage [2010/02/07(日) 07:39:53 ID:cnkJTmx7] >>860 >これって3dもつくれるんだよね? 作れるよ。 >Blenderにも対応してる? モデリングソフトの対応状況は過去レスを見てみて。 BlenderはFBXが使えるみたい。
862 名前:名前は開発中のものです。 mailto:sage [2010/02/11(木) 23:41:27 ID:AgKonL0C] メタセコで武器だけ作って、それを3Dのキャラモデルに持たせるのはどうやるんだろう。 DXライブラリの範疇ではないのかな。 なにか調べる取っ掛かりはない?
863 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 02:48:39 ID:iGppiI+j] 位置とか角度の親子関係を作れればいいんじゃないかな
864 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 04:35:23 ID:Z51oc7q7] >>862 DXライブラリは知らんけどリアルタイムレンダリングがデフォじゃない?
865 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 07:46:33 ID:gSVuHgsF] >>862 「コンストレイント」で検索してみるといいよ。 やり方は簡単で>>863 の言う通り、「手」の移動と回転を「武器」に加えるだけ。
866 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 15:42:11 ID:9oJmNhGP] DrawChipMapってどうやって使うの
867 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 21:24:07 ID:m/RgGbdM] GetNowHiPerformanceCount()の内容をprintfしたいんですが%dの部分を何に変えたらいいですか
868 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 21:53:10 ID:5g1bekrX] g
869 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 22:17:37 ID:gSVuHgsF] >>867 試してないけど戻り値がLONGLONG型なので「%I64d」か「%lld」じゃないかな。
870 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 22:39:37 ID:3A3ijQ60] >>863-865 サンクス! やり方、納得です。 取り敢えず手の回転並進行列とって、そのまま武器に適用させてみる。
871 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 23:19:30 ID:gSVuHgsF] >>866 チップグラフィックを使ったマップ描画 int MapWidth, MapHeight : マップデータ全体の幅と高さ int *MapData : マップデータが格納されたアドレス int ChipTypeNum : マップに使うチップの種類の数 int *ChipGrHandle : チップのグラフィック配列のアドレス int TransFlag : 透過色処理の有無 int MapDrawX, MapDrawY : 描画するマップの起点となる左上座標 int MapDrawWidth, MapDrawHeight : 起点座標から描画するマップの幅と高さ int ScreenX, ScreenY : マップを描画する画面上の座標 (2004/02/08) 2.11 DrawChipMap 関数を非公開関数に変更。
872 名前:名前は開発中のものです。 mailto:sage [2010/02/13(土) 00:47:58 ID:lykIm1Dn] >>868-869 サンクス! lldでいけました。
873 名前:名前は開発中のものです。 mailto:sage [2010/02/13(土) 18:36:09 ID:nVI35ftX] 1つの画像に対して、縦横で別倍率の拡縮、および回転を同時に行うとき、 何か簡単な方法って無いものかな? 拡縮してから回転させたときと、回転させてから拡縮するときとで結果が異なるけどさ。 無いなら無いで、自前で座標を計算してDrawModiGraph()に投げるつもりだけれど。
874 名前:名前は開発中のものです。 mailto:sage [2010/02/13(土) 19:30:01 ID:pV6Ocbxc] ないので俺は自分で関数作った
875 名前:名前は開発中のものです。 mailto:sage [2010/02/13(土) 22:38:54 ID:nVI35ftX] そっか、ありがと。
876 名前:名前は開発中のものです。 mailto:sage [2010/02/14(日) 21:14:56 ID:9DOaOyQ2] 半透明処理で ClearDrawScreen() SetDrawBlendMode( DX_BLENDMODE_ALPHA, ・・・ DrawGraph(・・・ ScreenFlip() って書いたら、1箇所使っただけなのにかなり処理が重くなる DrawGraphが悪い? フレームスキップするしかない?
877 名前:名前は開発中のものです。 mailto:sage [2010/02/14(日) 21:20:54 ID:lH/o5bwf] いや、俺普通に何箇所も使うけど重くなんないよ? 本当にその四行だけで試してみた?
878 名前:名前は開発中のものです。 mailto:sage [2010/02/14(日) 21:21:28 ID:I7ZtRrpB] フレームスキップは基本過ぎるだろ
879 名前:名前は開発中のものです。 mailto:sage [2010/02/14(日) 21:24:26 ID:9DOaOyQ2] >>877 ClearDrawScreen() SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 ) DrawGraph(・・・ // 普通の画像 SetDrawBlendMode( DX_BLENDMODE_ALPHA, ・・・ DrawGraph(・・・ // 半透明させるの画像 SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 ) DrawGraph(・・・ // 普通の画像 ScreenFlip() こうやってます 画像を重ねる都合上、 SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 ) を2回やってます もっと効率よい方法があるんでしょうか?
880 名前:名前は開発中のものです。 mailto:sage [2010/02/14(日) 21:26:43 ID:9DOaOyQ2] >>877 フレームスキップってどうやればいいでしょうか? 画面処理を別スレッドにして、処理時間オーバーしたら放棄、 でいいの?
881 名前:名前は開発中のものです。 mailto:sage [2010/02/14(日) 21:27:36 ID:9DOaOyQ2] すみません 880 は >>878 へのレスです
882 名前:名前は開発中のものです。 mailto:sage [2010/02/14(日) 21:32:50 ID:r2nQlTSv] >>879 いちいち戻さない方が速いかも
883 名前:名前は開発中のものです。 mailto:sage [2010/02/14(日) 21:34:14 ID:I7ZtRrpB] >>880 ググれば幾らかサンプルコードが出てくる。確か龍神録でも触れてたと思うし。 PC上で動くゲームを作るのなら秒間60回更新するように調整するのは基本中の基本。 DXLIBに限った話じゃない。CPU使用率が異常に高かったりしたら間違いなくこっちの問題でしょ。
884 名前:879 mailto:sage [2010/02/14(日) 21:58:05 ID:9DOaOyQ2] 3番目の↓ SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 ) DrawGraph(・・・ // 普通の画像 が処理を重くしてる原因だったので、これを削ることにしました ありがとうございます 龍神録というサイトを初めて知ったので、質問してよかった >>883 ありがとうございます
885 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 08:08:26 ID:BUryD20y] 何故そこだけ問題があったんだろう。気になる。 >873だが、色々な変形に対応させようと思うと結構面倒だな。引数も増えるし。 回転と拡縮だけにしてしまうか。 ……とここまで書いて、 画像クラスを作ってしまえば簡単だということに気づいた。
886 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 20:26:12 ID:ccjc3ij8] 平面だけでいいなら2*2行列に行列演算を繰り返して 最後にその4点にあわせてDrawModiGraphするってのが汎用的で記述もわかりやすくていいんじゃね? どっかからできの良い数学ライブラリ持ってきてもいいし 回転拡大スライド程度なら簡単な行列計算だけに絞れるから自分で作ってもいい
887 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 20:55:41 ID:BUryD20y] 行列とか完全に忘れてて愕然とした orz >>886 結局のところ、妥協して回転、拡縮、左右/上下反転の3つだけ関数にしたんだが、 どっちかっていうと、コーディングよりも設計に悩んでた。 変形する順番によって最終的な結果が変わる場合があるから、 それらに対応しようとすると、その分だけ引数も増えるわけで、結果として使いにくい関数になっちゃうのよね。 で、画像をクラスにして ImageClass img; //中略 img.rotate(3.14); //180度回転 img.extend(1.0,2.0); //縦2倍 img.rotate(1.57); //90度回転 img.draw(0,0); //0,0に描画 とかでも良かったかな、と思った。
888 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 21:00:03 ID:K58uOKXK] ・画像内での基準点の位置 ・上の基準点が実際に描画される位置 ・基準点を中心としたスケール ・基準点を中心とした回転角度 で十分だと思うけど
889 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 21:57:09 ID:BUryD20y] >>888 それだけで引数7つあるぜ? 各変形の優先度を決める(もしくは同じ変形を複数回行う)とか、 回転と拡縮以外の変形も出来るようにするなら、どれだけ増えるんだ。
890 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 22:01:20 ID:8F/ucvej] 回転と拡大縮小って別に順不同じゃね 基点となる座標が変われば別だが
891 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 22:17:52 ID:BUryD20y] >>890 ゲームの都合上、縦横で別々に拡大率を設定できるようにする必要があった。 正方形を、90度回転させてから、横に2倍 □□ → ■□ → ■■□□ ■■ → ■□ → ■■□□ 横に2倍にしてから、90度回転 ■□ □□ → □□□□ → ■□ ■■ → ■■■■ → ■□ ■□ みたいに変わる。
892 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 22:23:00 ID:8F/ucvej] >>891 それって渡す引数のほうを工夫すればいいんでねーの 二つ目は90度回転してから縦に二倍しても同じものを得られるわけだし DrawExRotaGraph2(int x,int y,int cx,int cy,double ExtRateX,double ExtRateY,double Angle,int GrHandle,int TransFlag,int TurnFlag); 10個だな
893 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 22:29:12 ID:BUryD20y] >>892 質問、90度以外でも渡し方次第で出来る?
894 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 22:31:47 ID:8F/ucvej] >>893 出来るんじゃね
895 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 22:57:23 ID:ccjc3ij8] 引数が多いと見苦しいし、書く順番でちょっと混乱しそう それに回転と伸縮どっちが優先か見た目に明らかじゃないのも気になる
896 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 00:28:56 ID:ytIVItbu] なんに使うのかがそもそも想像できない俺……。
897 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 03:07:21 ID:JDL3KQO6] >>896 こんな感じでどう? gamdev4.hp.infoseek.co.jp/cgi-bin/up/No_0079jpg.html
898 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 04:51:49 ID:iDbvu+FE] >>897 ( ゚д゚)ポカーン
899 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 05:23:23 ID:g5MLEwas] ようやく理解できた
900 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 06:40:46 ID:OQUeahIO] 3Dでやれば簡単だぜ
901 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 09:20:21 ID:aK6xRRB6] 把握。 そういう力技、嫌いじゃないぜw
902 名前:898 mailto:sage [2010/02/16(火) 10:16:29 ID:JDL3KQO6] すまん、いい例えが思い浮かばなかったんだw
903 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 10:17:15 ID:JDL3KQO6] 名前間違えた、897だ
904 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 11:28:24 ID:iwCPzVGw] GetDrawStringWidthの第二引数StrLenはどういう意味があるのでしょうか? マニュアルには > StrLen として文字列の長さをわざわざ指定する ようにしたのは色々な側面から見て文字列の長さを指定できるよう にしたほうが良いと思ったからです。 と書いてありますが、どういうケースで指定が必要になるのか想像がつきません。
905 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 12:41:35 ID:ghUeZnk+] >>904 DXライブラリの作者さんがそう考えただけで、別に必要なければ使わなければいいだけでは? 例を挙げておくとこんな感じ。第二引数は指定できなくても書けるけど複雑になってしまう。 char Str[] = "今日もいい天気だ"; int MaxWidth = 50; // この幅に収まるように描画したい int MaxChar = 0; // MaxWidthに収まる最大文字数 for( int i = 0; i < strlen(Str); i++ ) { StrWidth = GetDrawStringWidth( Str , i ) ; if(StrWidth < MaxWidth) { MaxChar = i ; } } Str[MaxChar] = '\0' ; DrawString( 0 , 0 , Str , GetColor( 255 , 255 , 255 ) ) ;
906 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 12:56:47 ID:iwCPzVGw] >>905 なるほど、理解しました。
907 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 13:02:27 ID:JDL3KQO6] 辛うじて一度だけ使った記憶があるな。 メニュー画面だったかな。文字列をセンタリングして表示するのに利用した。 文字列の前後に空白や記号がある場合、 それらも含めた文字数で横の長さを決めると、ちょっとズレて見えることがある。 ……ぶっちゃけた話、 他にも方法は色々あるだろうとか、メニュー画面くらい画像にしろよとか思うので 使う機会はあんまり無い気がする。
908 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 17:38:15 ID:S7mGVY2n] C/C++以外からDLL経由で使おうとするとnull文字で終わってない文字列とか渡すのに便利です
909 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 21:28:56 ID:QXMNjoNk] >>873 DrawModiGraph()とアフィン変換 アフィン変換 クラスでググるといいかもしれない