DXライブラリ 総合スレッド その3at GAMEDEV
DXライブラリ 総合スレッド その3 - 暇つぶし2ch875:名前は開発中のものです。
09/08/01 14:00:04 QXWHJ91E
class effect
{
private:
int x,y,kasokudo,flag,type,r,g,b,xt,yt;
int static swgraph,slgraph,slgraph2,slgraph3,vcgraph,ptgraph,ptgraph2;
double angle,timer,spread;
public:
effect(){}
Load_resorce()

(中略)

~effect(){}
};

int effect::swgraph=0;
int effect::slgraph=0;
int effect::slgraph2=0;
int effect::slgraph3=0;
int effect::vcgraph=0;
int effect::ptgraph=0;
int effect::ptgraph2=0;

結局こんな解決に落ち着いたよ ありがとう
無理に外へ出さないでヘッダと画像ファイルだけ移植すれば使いまわせる方がいいかなと
画像ロードするメソッドを1回だけ呼ぶようにしてスタティックなハンドラへぬっこむ感じで

876:名前は開発中のものです。
09/08/01 14:00:25 Qfg9axiN
ウィンドウとフルスクリーンの切り替えって、設定と読み込んだもの全部どこかに記録しておいて、切り替えた後に読み直さないといけないの?

877:名前は開発中のものです。
09/08/01 14:02:27 QXWHJ91E
メモリに読み込んでたものは切り替えで開放しちゃうんじゃなかったっけ?
呼びなおすようにはしてる

878:名前は開発中のものです。
09/08/01 14:09:47 hsxXyy+h
画像の情報とハンドルをラップするクラスを作るのがスマートかなあ
でもそういうことしだすと何のためにDXライブラリ使ってるのかいまいち分からなくなってくる
どうせラップするんだから中身は別に複雑でもいいよねみたいな

879:名前は開発中のものです。
09/08/01 14:37:35 fM5CMo54
グラフィックを読み込む処理はひとまとめにしてる。

グラフィックを読み込んだ時にエラーだと-1が返ってくるそうだから、
グラフィックハンドルに-1はありえないって事で
各グラフィックハンドルの初期値は-1にしておいて、
-1でないやつだけを読み直すとかやってるな。

880:名前は開発中のものです。
09/08/01 17:19:13 Qfg9axiN
ProcessMessageの返すエラーと×印を押した時の終了メッセージを見分ける方法
あるいは、右上の×印をクリックできないようにする方法はありますかね?

881:名前は開発中のものです。
09/08/01 18:11:57 XBQ0j9Rg
×をクリックできないようにするのはあまりよろしくないんじゃないか

882:名前は開発中のものです。
09/08/01 18:13:18 fM5CMo54
クリックできなくさせる事になんの意味があるのかわからん。

883:名前は開発中のものです。
09/08/01 18:23:08 XBQ0j9Rg
閉じるボタンは GetWindowUserCloseFlag で取得できるかも

884:名前は開発中のものです。
09/08/01 18:23:30 M1rtP1+j
URLリンク(hpcgi2.nifty.com)

885:名前は開発中のものです。
09/08/01 18:31:27 Qfg9axiN
サンクス
なんとかなりそうです

886:名前は開発中のものです。
09/08/01 18:49:30 XBQ0j9Rg
>>884
真面目に読んでて途中からワロタ

887:名前は開発中のものです。
09/08/01 22:58:32 Qfg9axiN
GetWindowUserCloseFlagってエラーが起こった時の返り値ってわかりますか?

888:名前は開発中のものです。
09/08/02 04:05:26 ioGay+hN
エラーって?

889:名前は開発中のものです。
09/08/02 13:21:29 raZxXOJp
>>888
だいたいほかの関数だと成功:0、エラー:-1を返してるじゃないですか?
そいうのがこれにも無いのかなとおもって

890:名前は開発中のものです。
09/08/02 15:42:36 kM+dLyLX
TRUEかFALSEか取得して返すのにエラーが出るとは思えないけど。
でも一応DxLibは関数の共通規約が-1=エラーぽいから-1だけ特別扱いでいいと思うよ

891:名前は開発中のものです。
09/08/02 15:47:58 VhKHrAIb
エラーが起きない関数だってあるんだから、余計な処理はしなくていい。

892:名前は開発中のものです。
09/08/02 18:18:51 kM+dLyLX
GetWindowUserCloseFlagってエラー起きないの?
ドキュメントに載ってない関数だから知らないんだけど
ソース見る気はしないし

893:名前は開発中のものです。
09/08/03 13:33:57 Bkg1TOoK
暗号化した画像ファイルからDrawGraphで描画するまでの手順って

ファイルから読み込み複合化した色情報を配列にセット
→MakeARGB8ColorSoftImageなどでSoftImageのメモリ確保
→DrawPixelSoftImageなどで配列からSoftImageに書き込む
→CreateGraphFromSoftImageなどでグラフィックハンドルを作成
→DeleteSoftImageでメモリ開放
→DrawGraphとかで描画

でおk?

894:名前は開発中のものです。
09/08/03 18:31:28 Iq3WkgiH
自分も用意したフォントが使いたくなったので>>757の方法を試してみたんだけど、
開放に成功しないんだよなぁ……
仕様上プログラムが終了すると開放されるみたいだし、大丈夫なのかなコレ

895:894
09/08/03 18:43:55 Iq3WkgiH
うわー引数ミスってただけでした……
こめんなさい

896:名前は開発中のものです。
09/08/04 01:23:43 zuu4zu8S
おまいら名前空間ってどうしてる?
微妙にグローバルなのが邪魔くさいんだが、Dxライブラリのソースをまるっと書き換えるしかない?


897:名前は開発中のものです。
09/08/04 01:44:29 HZG+0EA+
WIN98前後にプログラミングやってみたくなって、
とりあえずCだけ独学してすぐにDirectX見て
挫折した自分には今更ながら、ピッタリじゃないか。

実際の所はオブジェクトで書いていけないと、ツラいの?

898:名前は開発中のものです。
09/08/04 02:36:14 I3xbLsIe
さぁ?
俺はオブジェクトが何かも知らないが
DXライブラリのおかげでゲームは作れてる。

899:名前は開発中のものです。
09/08/04 03:09:27 2NLtwfy5
main.cppとヘッダファイルだけでゲーム作ってる俺もいるし

900:名前は開発中のものです。
09/08/04 06:22:55 6mk+vC8F
>>897
あると便利

901:名前は開発中のものです。
09/08/04 07:58:54 jjYfmP92
何か途中でフル⇔ウィンドウ変えれるようにしたらフルにした時に画面がチラつくんだが
画像を読み直すだけでは駄目なのか

902:名前は開発中のものです。
09/08/04 08:02:04 jjYfmP92
と思ったら事故解決した
SetDrawScreen( DX_SCREEN_BACK ) ;死直さないと駄目なのか

903:名前は開発中のものです。
09/08/04 10:32:21 sPOvaCTT
>>897
ちょっと勉強すればいいだけのことを避けて
ずいぶんと無駄に自分の幅を狭めてると思わない?

904:名前は開発中のものです。
09/08/04 17:23:09 gMr+p3zp
みんなDxLibのラッパークラスとか作っちゃったりするの?

905:名前は開発中のものです。
09/08/04 17:27:28 xk/uaGqe
>>904
ラッパーというか、あのまんまじゃゲーム作りに面倒だから、
あれにもうちょっと色々と処理類を追加して、作りやすくはしてる。


906:名前は開発中のものです。
09/08/04 17:27:59 zuu4zu8S
ラッパを作らずに、ゲームを作れるのだろうか。

907:名前は開発中のものです。
09/08/04 19:53:27 sPOvaCTT
device->DrawImage((Image*)image); みたいな?
さすがにこんなラッパーが必要になるようなら他のC++用のライブラリ使った方がいいと思うよ

908:名前は開発中のものです。
09/08/04 20:01:54 vP8Ikyop
ゲームなんてラッパみたいなもんだ

909:名前は開発中のものです。
09/08/04 20:43:25 ODeu4gp1
そんなことせんでもゲーム作れるようにするのがDXライブラリが目指す所だと思うし

910:名前は開発中のものです。
09/08/04 20:48:39 YerTetmP
そんなことしたいならDirectX覚えろっていう

911:名前は開発中のものです。
09/08/04 21:06:21 nYiQO+FG
併!用!

912:名前は開発中のものです。
09/08/04 22:48:47 tCn5IwcP
誰がラップ歌えと。

913:名前は開発中のものです。
09/08/04 22:57:08 ODeu4gp1
>>912のお陰でやっと気付いた

914:名前は開発中のものです。
09/08/04 23:06:20 l5hPySed
うまいな

915:名前は開発中のものです。
09/08/05 00:19:33 SP3G2Rzn
>>911
は、その才能を別のところに生かすべきだったと思う

ところで、あえてゲームのジャンルを指定せずに聞くが
ChangeFontType( この辺とか ) ;
ChangeFont( "この辺て" ) ;
何入れてる?

ChangeFontType( DX_FONTTYPE_ANTIALIASING_EDGE ) ;
ChangeFont( "MS P明朝" ) ;

とかだと、どうにも汚い
メイリオとかオーサカつかえりゃいいんだろうけど


916:名前は開発中のものです。
09/08/05 01:41:03 6IxCn2Gg
640x480のwindowモードで1秒に60回メインループを回してClearDrawScreenとScreenFlipするだけのプログラム
書いたらCPU使用率が20%超えてるんだけどこんなもん?WaitTimer(10);は入れてます。

917:名前は開発中のものです。
09/08/05 02:13:38 tpv/Q7sN
>>915
>>757使ってBDF M+やVL Gothic使うと汚くはないしライセンス的なものもきれいで好きです

918:名前は開発中のものです。
09/08/05 02:27:07 uKOy3PVl
>>916
そんなものじゃない?自分の環境でも、だいたい20%前後で推移してるし。
ScreenFlipには、アイドリングループもやってるような事を>>70-95当りに書いてるし
きっと大体そんな感触。
だから、多少負荷を掛けたループを入れても、いきなり100%とかにはならないし。

919:名前は開発中のものです。
09/08/05 05:21:50 Nty2bj+r
A:あるXというパソゲーがあったとして、そのゲームをDXライブラリで再現したとしたら
 どっちの方が処理速度が速い?

管:それはおそらくオリジナルのゲームになるでしょう。
  しかしそれは仕方ありません。DXライブラリは DirectX を意識しないでプログラムを
 組めるように出来ているので、どうしても DirectX を意識して、DirectX にとって最適な
 方法を念頭にいれて作られたソフトには敵いません。
  ですが、それは DirectX と密接に関わらないと出来ない表現や処理が出きるか出来
 ないか程度の違いで、処理速度的には目を凝らさない限りわからない程の差だと
 思います。

これみて思ったが前に

hot スープ なんとかってベーシックみたいなやつ使ったことあるけど

あの処理の遅さには萎えた


920:名前は開発中のものです。
09/08/05 06:49:21 pLHczCar
HSPのことかあああああああああ

921:名前は開発中のものです。
09/08/05 07:07:46 m9BmQxuD
そもそも比較対象とするほうがおかしくないか。

922:名前は開発中のものです。
09/08/05 07:11:20 b5+ghAk/
HSPはインタプリタだし

過去にGameMaker使ってた俺はC++に乗り換えて処理の早さに感動した
弾10000個出しても一切処理落ちなしとか

923:名前は開発中のものです。
09/08/05 09:28:27 6IxCn2Gg
家庭用ゲーム機ってCPU使用率どのくらいなの

924:名前は開発中のものです。
09/08/05 09:35:09 b5+ghAk/
>>923
ゲームによる
PS2の後期作品は常に100%近いものも多いと思う

925:名前は開発中のものです。
09/08/05 10:03:45 BDIkZ1Lk
メイリオはXPならダウンロード可能になってるから、
・XP以上でやれ
・メイリオ自分で落とせ
と割り切った動作環境なら使えなくもない
まぁ、そこまでするより>>917がベターな気はする

926:名前は開発中のものです。
09/08/05 13:28:59 rAOud/k3
>>919
初期化に関してはDXライブラリの方が遅い
なぜなら使わない機能まで実装してしまうから
初期化のプロセスさえ我慢してしまえば、DirectXを使っている以上、ほとんど処理に差は出ない


927:名前は開発中のものです。
09/08/05 13:40:07 b5+ghAk/
初期化も他のライブラリに比べればかなり早くないか?
初期化→モデル読み込み→表示ってプログラム組んでるけど
起動から表示まで1秒も掛からないぞ

928:名前は開発中のものです。
09/08/05 16:15:24 OhVzEwVo
え?

929:名前は開発中のものです。
09/08/05 20:39:22 QIPk2n9v
クライアントがウィンドウのタイトルバーをつかむとかして処理が停止したことを判別する方法はある?

930:名前は開発中のものです。
09/08/05 21:20:02 5Y+5L7IB
アクティブかどうか判定する関数があったような

931:名前は開発中のものです。
09/08/05 21:57:12 tpv/Q7sN
>>929
もし直接DxLibのAPIになかったとしても、
最悪隠れAPIのSetHookWinProcを使っていけちゃうのであきらめずに頑張ってください

932:名前は開発中のものです。
09/08/06 00:09:50 HbTQ3knb
フルスクリーンにすればいいのに

933:名前は開発中のものです。
09/08/06 00:17:40 jDGBXq4e
フルスクリーン・ウィンドウの切り替え時って画像はDeleteGraphする必要なし?

>>932
でもやっぱウィンドウのほうがやりやすいゲームとかあるよ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch