[過去ログ] DXライブラリ 総合スレッド その4 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
836: 2009/11/17(火)11:21 ID:3pCkE9PE(1) AAS
>>831
2次元配列関係なくね…?
837
(1): 2009/11/17(火)12:30 ID:FXTCZmOd(1/2) AAS
>>811
あと、勝手にフルスクリーンとウィンドウの切り替えが行われるとき
その関数を自動で呼ばれるようにってできる?
って勝手に切り替わりっておきない?
838
(1): 2009/11/17(火)13:35 ID:n6/hEDR6(1) AAS
>>837
フルスクリーン状態からAlt+Tabで一時的にウィンドウ状態に戻り再度フルスクリーン化した際に、サーフェスがロストされるよ
SetRestoreGraphCallbackを指定して、戻った際にReloadFileGraphAllでもすればLoadGraph()で読まれたものだけは復帰可能
(他の方法で生成したサーフェスは内容破棄される)

以前のDXライブラリ2.Xのバージョンの頃はCreateGraphFromMem()もMakeGraph()もMakeScreen()も復元できる裏技が通用したんだけど、
3.Xになってから厳しくなったよなぁ

その辺の検証コード興味があるのなら晒すよ
839: 2009/11/17(火)14:14 ID:FXTCZmOd(2/2) AAS
>>838
おお、レスありがとう
興味ありありです、よろしくお願いします

3Dだとどうなんだろう、モデルデータの使いまわしは
MV1LoadModelで読み込んだあとMV1DuplicateModel使うよね
そうやって取得したハンドルからアニメーション関数使ったりするし
なんとなく大変そうだ
省3
840: 2009/11/17(火)16:00 ID:8OqfWDW8(1/3) AAS
つーかどれが初期化される対象なのかわからん
リファレンスもうちょっと詳しく書いてくれればいいのに
841: 2009/11/17(火)16:09 ID:ZC4o54zE(1) AAS
そういう問題もあったのか
開発中はずっとウインドウモードだから全く気にしてなかったぜ・・・
842: 2009/11/17(火)22:00 ID:8OqfWDW8(2/3) AAS
DrawBoxで半透明の矩形を描きたいんだけどこれは可能?
CPUからグラフィックハンドルを作って描画するしかない?
843
(1): 2009/11/17(火)22:16 ID:NCb+JjAR(1) AAS
もっと柔軟にものを考えようぜ。
SetDrawBlendModeってのがあるだろ。
844: 2009/11/17(火)22:35 ID:8OqfWDW8(3/3) AAS
>>843
ありがとう
リファレンス上から下まで見たはずなんけどあるの気付かなかったぜ
845
(1): 2009/11/18(水)01:23 ID:qgpLjbHP(1) AAS
エントリーポイントをWinMainにしてコンソール出力の関数使うのってなんか問題ある?
WinMainをmainに変えるとGUIとCUIの二画面になってコンソール出力するとちゃんと表示されるからデバッグに便利かな、と思ったんだけど・・・
846: 2009/11/18(水)03:12 ID:QbAZcWPQ(1) AAS
>>845
CUIコンソールに出さずにデバッグウィンドウに出力する、OutputDebugString使いなさいよー

void OutputDebugWindow(LPCTSTR pString, ...)
{
#ifdef DEBUG
va_list arglist;
va_start(arglist,pString);
省7
847: 2009/11/18(水)09:38 ID:xppAWWAs(1/2) AAS
SetAlwaysRunFlag()とGetWindowActiveFlag()組み合わせで
窓が非アクティブの時 BGM再生をとめて
その後に窓をアクティブにすると再生していたBGMを途中から再生させるようなことが可能だけど

しかしプログラムの窓の上の青い部分を左クリックおしっぱなしや右クリックおすと
BGMの再生がとまらなくてプログラムの処理がとまってるという現象になる
つまり 音楽と画面の絵のタイミングがズレるんだよなあ・・・・
848: 2009/11/18(水)09:59 ID:Aw+8Okqp(1/2) AAS
マウスカーソルが画面内にいるかいないかでも
判定しちゃえYO!
849: 2009/11/18(水)10:24 ID:xppAWWAs(2/2) AAS
その手があったか!!thx
850: 2009/11/18(水)10:35 ID:Aw+8Okqp(2/2) AAS
うお・・・マジか・・・
マウスカーソルが邪魔になると思うから
ShowCursor(FALSE);とかで消してやってくださいな
TRUEにすれば復活するよ
851
(1): 2009/11/18(水)20:06 ID:sJmU6d7e(1/6) AAS
毎フレームMakeGraphとDeleteGraphを実行って速度的に大丈夫ですか?
852: 2009/11/18(水)20:09 ID:D8L+6+cM(1/2) AAS
ダメ
なんでいちいち消して作り直す必要がある
853
(1): 2009/11/18(水)20:13 ID:sJmU6d7e(2/6) AAS
じゃー最初に1度だけMakeGraphして
毎フレーム透過色で全体を塗りつぶして初期化ってことできます?
854: 2009/11/18(水)20:54 ID:8lcSmlhL(1/2) AAS
意味がわからん。
何がしたいんだ。
855: 2009/11/18(水)21:01 ID:sJmU6d7e(3/6) AAS
DrawRectGraphとDrawRotaGraph2を一緒にしたい感じです
つまり、グラフィックの指定矩形部分のみを回転描画(回転中心指定あり)
856: 2009/11/18(水)21:12 ID:sJmU6d7e(4/6) AAS
補足です >>851>>853では
DrawRectGraphで空のグラフィックに一旦コピーして
DrawRotaGraph2で回転描画しようとしてました
でも空のグラフィックを毎フレーム空にしないと
前フレームでコピーしたグラフィックの残りカスが残ってしまうと思ったので聞きました
857: 2009/11/18(水)21:32 ID:D8L+6+cM(2/2) AAS
DerivationGraph使えば
858: 2009/11/18(水)21:47 ID:sJmU6d7e(5/6) AAS
DerivationGraphを毎フレーム使っても大丈夫でしょうか?
指定矩形部分の左上座標やサイズが毎フレーム変わるんです
859
(1): 2009/11/18(水)22:26 ID:sJmU6d7e(6/6) AAS
DerivationGraphを使う方法だと
DerivationGraphで作成したグラフィックハンドル(非グラフィックデータ)の
左上座標、サイズの値などが内部で積み重なっていくんじゃないかなと思いました

抜き出し元のグラフィックデータを解放せずに
DerivationGraphで作成したハンドルだけを解放する関数があればいいんですが
860
(2): 2009/11/18(水)23:22 ID:8lcSmlhL(2/2) AAS
何がしたいのかよくわからないなぁ。

元の画像があって、その一部分を矩形として切り出して、
単純にその矩形を回転させるのではなくて、
回転させつつ、元画像から切り出す部分をずらしていきたい、とかそんな感じ?
しかもどこを切り出すかは不定とか。
861
(1): 2009/11/18(水)23:26 ID:O571k7wA(1) AAS
DerivationGraphで作ったハンドルだけDeleteGraphすればおk
862: 2009/11/19(木)00:26 ID:D19Ec+8u(1) AAS
>>860
そんな感じです 切り出す部分を移動させつつサイズも大きくしたり小さくしたり

>>861
DerivationGraphで作ったハンドルだけDeleteGraphしてみたら
そのハンドルは使えなくなって、抜き出し元のハンドル指定すると
描画できたから>>859↓の理想の動作ができたっぽいです

ありがとうございました
863: 2009/11/19(木)01:34 ID:cu4/k47Y(1) AAS
もう解決したぽいけど、>>860のような用途なら
2Dでやるより板ポリゴンにテクスチャ貼って、
その板を移動や回転させながら
MV1SetFrameTextureAddressTransform()でUV値を
変えた方が楽な気がする
864
(1): 2009/11/20(金)08:32 ID:VQsGFVnC(1/2) AAS
DXライブラリでゲーム作品を作ったんですが、
提出する場合、相手がVisualCのコンパイラをもっているとして
最低限どのファイルかフォルダを私のソーステキストと一緒に入れれば
DXライブラリの機能は失われずに済むのでしょうか?
よろしくお願いします。
865: 2009/11/20(金)08:35 ID:dEAugKIR(1) AAS
ライブラリファイル(*.lib)とヘッダファイル(*.h)
つまり、VCの設定でパスを通したフォルダのファイルがあれば、環境が変わってもとりあえずコンパイルは可能
866
(1): 2009/11/20(金)08:57 ID:3aBOadq/(1/4) AAS
「プロジェクトに追加するべきファイル」ってフォルダがある。それの中身丸ごとぶち込めばおk
867
(1): 2009/11/20(金)11:18 ID:VQsGFVnC(2/2) AAS
>>866
それはどのような操作をすればいいんですか?
すいません、あまり詳しくないもので
868
(1): 2009/11/20(金)11:20 ID:D3YjbvgS(1/2) AAS
>>867
公式サイトからDL
869: 2009/11/20(金)12:31 ID:3aBOadq/(2/4) AAS
操作も何もコピペするだけじゃない
870: 2009/11/20(金)13:19 ID:N4OAulRv(1) AAS
だからさ、「DXライブラリでゲーム作品を作った」って自分で言ってるじゃん?
て事はDXライブラリを用意したわけでしょ?
その時に「プロジェクトに追加するべきファイル」ってフォルダにあるファイルを全部ぶちこんだでしょ?
それをまたやれば済むだけの事って話でしょ?
871: 2009/11/20(金)15:04 ID:3aBOadq/(3/4) AAS
つーかよくゲーム作れたな
872
(1): 2009/11/20(金)19:20 ID:GTSLdsHv(1) AAS
>>864
ゲームを遊んでもらうだけなら、相手にVCは必要ありません
実行ファイルと画像と音楽をフォルダ構造そのまま渡せばOK
873: 2009/11/20(金)19:48 ID:IIe6k6yX(1) AAS
おまえら親切だなww
874: 2009/11/20(金)23:25 ID:3aBOadq/(4/4) AAS
linuxでdxlibつかいたい
だれか同じインターフェースで実装してくれ
875
(1): 2009/11/20(金)23:52 ID:QGaaacIt(1) AAS
おれも>>872の回答を期待して聞いたのだと思った。
だからそれ以前の回答は見当違いだと思った。
876: 2009/11/20(金)23:55 ID:fjf3rbks(1) AAS
ゲーム会社に就職するために作品を提出するんじゃね
877: 2009/11/21(土)00:00 ID:D3YjbvgS(2/2) AAS
>>875
さすがにそれはねーよ……と思った俺は>868
878
(1): 2009/11/21(土)00:57 ID:KdK6RM7K(1) AAS
今サウンドをDXライブラリをつかって組み込んでいるんですが、
BGMを流しながら効果音をだすと必ずBGMが消えてしまします。
解決法ってあります?PlayMusicの関数をつかってるんですが・・・・
879: 2009/11/21(土)01:04 ID:e7ozG51Q(1) AAS
提出ってんだから、専門学校かなんかの課題だと思った。
だからソースを提出しなくてはいけないから
それに付属させるDxlib関係を知りたがってるものかと。
880: 2009/11/21(土)01:15 ID:OBq3faU0(1) AAS
>>878
効果音再生にPlaySoundあるいはPlaySoundMemを使う
881
(1): 2009/11/21(土)04:01 ID:t3dSraeG(1/2) AAS
どうしても事故解決しなかったので皆さんにご質問させていただいてもよろしいでしょうか?

int fonthdl = CreateFontToHandle( NULL , 40, 3);
int i = DrawStringToHandle( 0 , 0 , "HELLOW!!" , GetColor( 255 , 255 , 255 ) , fonthdl );

前後省きますが、この二行を含むプログラムを実行させたところ、2行目が表示されません
試しに戻り値を確認したところ、iには-1が入っており、fonthdlには1が入ってました
1行目でフォント作成に成功しているのに、2行目がエラーになる原因がわかりません
書式はDXライブラリのリファレンスページから持ってきたので間違いないと思うのですが・・
省1
882: 2009/11/21(土)04:13 ID:9yGfXcu/(1) AAS
こぴぺしたら表示されたよ
883: 2009/11/21(土)04:26 ID:J6RuDDE9(1) AAS
>>881
その2行をコピペしたら、表示されたよ
前後が分からないけど、WaitKey()とかで止めてなくて
表示前にアプリケーションが終了とかループを抜けている
とかはない?
884
(1): 2009/11/21(土)04:47 ID:t3dSraeG(2/2) AAS
色々試してみたところ自己解決しました
グローバル側でハンドル変数を宣言していたのですが、関数のローカル側に
char fonthdl;
という変数があったことが原因だったようです
メモリ値が入りそうなfonthdlが1と表示された時点で気が付くべきでした
変数名が被ろうが、charにintを代入しようが、お構いなしに実行できてしまうVCに驚きを禁じえない
885: 2009/11/21(土)10:37 ID:0oFiglt2(1) AAS
普通重複して定義言われると文句言われると思うが。何でコンパイルしたんだ?
886: 2009/11/21(土)11:05 ID:GXUC5Gno(1) AAS
>>884
仕様です
887
(1): 2009/11/21(土)18:56 ID:QGK3+ipq(1) AAS
2Dポリゴンを使った横スクロールゲームを作りたいんだけど、さっきテストしたら
ポリゴンを25枚くらいしか表示できない・・・。
ポリゴンの頂点と光源の距離から頂点ごとの明暗(RGB三種類)を計算し、
さらに頂点の平均からポリゴン自体の明暗(RGB三種類)を計算・・・
というふうにやっているのですが、無理がありますでしょうか?
最終的にはこれに簡単な奥行き値を与えたり、
ポリゴンにグラデーション(フォンシェーディング?)を与えたいとも思っています。
省15
888
(2): 2009/11/21(土)19:53 ID:RCdp05um(1) AAS
フルスクリーンにするとディスプレイが横長いせいか
画面まで横長くなっちゃうんだけど
これを防ぐ方法無いかな?
889: 2009/11/21(土)19:59 ID:ooIk2Hg8(1) AAS
>>888

それはグラボの設定でしょ。
プログラムとは関係ないと思う。
890: 2009/11/21(土)20:02 ID:RirLV2Ns(1) AAS
>>888
あとはモニタの設定
891: 2009/11/21(土)20:05 ID:3FMlFN4b(1) AAS
考えられうる方法としては起動時にモニタはどんなんなのか聞いて選択によって
比率が変わるような仕様にするとか
892: 2009/11/21(土)22:11 ID:Ew3OShpr(1) AAS
640x480で初期化して横長に表示してるときってどうなってるんだろう
ドットが横長になって、画面の広さは640x480ドットとか

それとも画面の広さは横長のたとえば1024x480ドットとして
DIRECTXが足りない分を補完して横長に拡大表示してるとか
893: 2009/11/22(日)05:39 ID:fv2HAYp8(1) AAS
何を言ってるのかよくわからんが4:3の画面をワイド液晶でぴっちり埋まるようにフルスクリーンにしたら横に伸びる
何部でどうなっているかは知らんがな
894: 2009/11/22(日)13:28 ID:TM8YLfDD(1) AAS
>>809

スーパーベジータとスーパーゴクウの差

ヤムチャやクリリンからみれば違いがわからない
895: 2009/11/22(日)13:54 ID:cTXM0w1o(1/2) AAS
ベジータとゴクウってだいぶ違うんじゃ・・・
896: 2009/11/22(日)15:48 ID:Uypt2MXs(1) AAS
質問掲示板を見てて思うんだが
相変わらず管理人さんすげえ
何してる人なんだろ、管理人さんにメリットあるのかな
897: 2009/11/22(日)15:58 ID:YA9W724+(1) AAS
AIに自然言語処理させてるんだろ
898
(1): 2009/11/22(日)18:59 ID:WmZXtjCP(1) AAS
イメージの読み込みをするのって、どういうクラスで行ったらいいだろう?
今までは簡単なタイトルからゲームメイン(1面のみ)、ゲームクリアとゲームオーバーの
二択からタイトルに戻るってだけだったから、ゲームクラスのコンストラクタで、描画クラスを
作って、描画クラスのコンストラクタで全ての画像をロードしてたんだけど・・・

今度は、もっとちゃんとした、タイトルもグラフィックやサウンドがあって、コンフィグやゲーム
などを選択出来るようにしようと思ってるんだけど。
一つの描画クラスにしようとしたら、コンストラクタでスイッチとか、ダラダラとしたものになってしまったし、
省1
899: 2009/11/22(日)23:26 ID:FAevzJuI(1) AAS
DXライブラリってどれくらいのポリゴン数を表示できますか?
900
(1): 2009/11/22(日)23:30 ID:AnRnmgof(1) AAS
環境による
901: 2009/11/22(日)23:35 ID:cTXM0w1o(2/2) AAS
DXライブラリ付属の暗号化ファイルIOをC++のfstreamで使うことはできませんかね?
902
(1): 2009/11/23(月)07:53 ID:SbLKyiSw(1) AAS
>>887
環境によるけど、今のPCなら1000や2000で厳しいということはないと思うよ。
Dxlibや自環境で扱えるポリゴン数の目安を知りたいならメタセコとかで
ポリゴン数計ってモデル作ってそれを読み込んで調べたらいい。ハードウェア
アクセラレーション不可能な独自形式とかだと少なくなるだろうけど。

動画リンク[YouTube]
アウターワールドの方法は、youtubeのメイキング動画(50分辺り)や
省14
903: 2009/11/23(月)12:01 ID:o0V1+dtw(1) AAS
>>900
>>902
返事が遅くなりましたがありがとうございます。
いろいろ謎だった部分が氷解しました。
ベクターデータにした理由は当時の環境によるものだったんですね・・・。
ポリゴンにした理由が他に何かあるはずと決めてかかっていたので、そのあたり盲点でした。
やる人の視点に立った最適な手法をこれから模索していこうと思います。
904: 2009/11/24(火)00:46 ID:oVcqGYvr(1) AAS
かなり上の方で話題に出てたけど
あるキャラグラフィックを真っ白にしたグラフィックが欲しいとして、
予め真っ白にしたグラフィックを用意しておくよりパレット弄って真っ白にしたほうがやはり高速なのかしら
905: 2009/11/24(火)00:55 ID:HkKX8HCF(1) AAS
よくわからんけど前者の方が速いんじゃない?
906: 2009/11/24(火)02:21 ID:A06MXsm6(1) AAS
そりゃパレットいじるって手間があるぶん不利だろうな。

でもパレットいじって真っ白にするとしても、
結局あらかじめグラフィックハンドルとして取得していないといけないんだから大差ないんじゃない?

フレームごとに書き換えるってんならそりゃ遅くなるだろう。
実用に耐えないほどじゃないかもしれないが、俺ならそんな真似はせん。
907: 2009/11/24(火)13:01 ID:HK+ktw5O(1) AAS
自分もパレットアニメーションについて調べたことがあったけど、
SoftImage系の関数使ってメインメモリ内でパレット弄っても、結局はグラフィックハンドルにするためにVRAMに転送しないといけないから、
毎フレームやるのは全くもって現実的じゃない。(60fpsが10fpsぐらいまで落ちた)
もしかしたらVRAMを使わない設定なら高速にいけるかな? と思ってSetScreenMemToVramFlagつかったけど断念した

それでももしやるのなら、NowLoading中に一気にパレット生成してグラフィックハンドル化するべきかな
VRAM内でグラフィックハンドル化された後であれば、前者(予め真っ白にしたグラフィックを用意しておく)と一緒の速度になるよ

最近はパレットアニメーションとかラスタースクロールとか流行らない技術だから、レトロな表現をしたい人にはちょっと残念だよね
908: 2009/11/24(火)22:04 ID:foFKqKgY(1) AAS
ピクセルシェーダ使えば
909: 2009/11/24(火)22:21 ID:v9ryhY4J(1) AAS
DXライブラリ2.25ベースで作ってたから、もしやDirectX9ベースの3になってシェーダーサポートしたのか!と思ってヘッダみたけど無かった
いまさらGraphLock使うのも何だし、DXライブラリでの凝ったエフェクトの類は諦めてるよ
910: 2009/11/24(火)23:34 ID:STKTYU9D(1) AAS
パレットアニメーションに関しては20年も前に発売されたファミコンの方が最新のPCより処理が早いわけか
911
(2): 2009/11/25(水)00:55 ID:Y2wCaoVN(1) AAS
DXライブラリの3Dの機能を使って立体のゲームを作る講座って無いでしょうか?
どこも2Dのものばかりなので・・・
912: 2009/11/25(水)01:23 ID:NxdAiTiL(1) AAS
>>911
本家
913: 2009/11/25(水)06:16 ID:mznCJjmF(1) AAS
単純に戦闘画面が3DになっただけのRPG作ってるが
これなら当たり判定とか入らないし、3D入門にいい気がする
914: 2009/11/25(水)12:57 ID:JgdJF9Vs(1) AAS
>911
DXライブラリ置き場 サンプルプログラム 3Dアクション基本
外部リンク[html]:homepage2.nifty.com
915: 2009/11/25(水)14:21 ID:JiJKb/Fx(1) AAS
ありがとうございます〜!
916: 2009/11/25(水)23:39 ID:HsKLhyiC(1) AAS
>>898
敵なら敵をまとめているクラス(マネージャクラス?)、自機、弾、爆発効果
この単位で読み込むとステージの切り替わりで画像をメモリから開放できるし
プログラムの中で誰が使ってる画像なのかもわかりやすいし

表示をひとつにまとめるのは、表示優先度を実装したいのなら必要
戦車のいる屋根、爆発穴、自機の影、戦車より航空機を上に・・・
表示情報をバッファして、FLIP直前に優先度でソートしていっきに処理
省13
1-
あと 85 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.020s