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


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

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



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/


798 名前:名前は開発中のものです。 mailto:sage [2010/02/02(火) 21:43:09 ID:ZXzo3Aq8]
それで?

799 名前:名前は開発中のものです。 mailto:sage [2010/02/02(火) 22:29:37 ID:ocqUn9yT]
なにが?

800 名前:名前は開発中のものです。 mailto:sage [2010/02/02(火) 23:35:47 ID:3geZi3lZ]
つーか64Bitアプリにするほどメモリ使うゲームを作るのかと。

801 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 05:04:33 ID:U8Pd5rkG]
なんで?

802 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 05:54:02 ID:XTUJJ4Iu]
基本的には32bitアプリでも動くって話だけど
その基本的って部分がちょっとだけ気になる。

803 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 08:44:53 ID:g7fkj8BM]
64BitOSで動かすことを気にしてるなら
従前どおりの32Bitアプリが何の問題もなく動くので徒労。

メモリを4GB以上使いたい場合以外にあえて64Bit化する意味は薄い。

804 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 14:05:09 ID:5f3a6r9D]
シューティングの画像ってサイズ奇数にして中心にオブジェクトのxyを持ってきた方が作り易い気がするんだが、みんな普通にx1y1x2y2でやってるの?

805 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 14:18:36 ID:gyXnlokN]
場合による。

長方形のキャラ(回転なし)とかだと後者の方が便利だし。

806 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 15:51:20 ID:U8Pd5rkG]
なんで?



807 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 22:19:22 ID:WAfqMpru]
お前を食べるためさ!

808 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 22:40:10 ID:U8Pd5rkG]
変態

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
( ゚д゚)ポカーン






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

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

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