1 名前:名前は開発中のものです。 mailto:sage [2008/10/25(土) 17:37:53 ID:BCFbbKco] Cを習得した程度のスキルでも、 GUIのゲームを比較的容易に作成する事を可能にする、 「DXライブラリ」に関するスレッドです。 DXライブラリの詳細ついては homepage2.nifty.com/natupaji/DxLib/ を参照して頂きたい。 DXライブラリに関するテクニックなどの情報交換などを行う事で、 多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。 過去スレ:DXライブラリ 総合スレッド pc11.2ch.net/test/read.cgi/gamedev/1197468399/
662 名前:名前は開発中のものです。 mailto:sage [2009/02/27(金) 21:13:18 ID:ZQTPwJtl] DirectXのラッピングライブラリだからDXライブラリでいいんじゃね? ちょっとダサカッコイイ感じが対象者レベルにぴったりだし。俺含めて。
663 名前:名前は開発中のものです。 mailto:sage [2009/02/27(金) 21:31:46 ID:lChaxYTz] やっぱりDirectX公式ライブラリと思われてしまっても仕方が無い。 が、いまさらオリジナルの名前に戻されてもね。 DXLibで十分や。
664 名前:名前は開発中のものです。 mailto:sage [2009/02/27(金) 23:17:07 ID:0AHSCy/i] >661-663 その微妙な心境が手に取るように分かるぜw
665 名前:名前は開発中のものです。 mailto:sage [2009/02/27(金) 23:17:18 ID:+el9j4ty] 朧村正みたいなゲームも作れるよね?2Dだし
666 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 00:42:10 ID:aTuc4vAr] 作れるよ
667 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 06:17:37 ID:P7f9XrLx] DXLibに収録されてる非公開関数のリファレンスって無いのかな ウィンドウハンドルを取得する方法を探してたら、非公開関数で取得できるのを知って 他にも有用な関数がありそうなので気になったんだが
668 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 06:32:10 ID:TAywFnWh] 作者は非公開のリファレンスは書かないってよ。 利用する頻度の少ない関数を初心者に公開するには混乱の元というコンセプトらしい。 コメントとソースで自力で読むしかない。
669 名前:名前は開発中のものです。 [2009/02/28(土) 06:34:58 ID:LqQy7pZD] >>667 ttp://studiokingyo.fc2web.com/dxlib/kaibou/k_shiyou.html
670 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 06:54:33 ID:P7f9XrLx] >>668 非公開関数のリファレンスは書くつもりは無いのか わざわざ用意した関数のリファレンスを書かないのは勿体無い気もするが ヘッダ見たら色々あったけどコメントだけじゃ引数がわからないし、ソース読むしかないのね >>669 そこ見て非公開関数の存在を知ったんだけど、他にも説明のある非公式のサイトとかないのかな?
671 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 06:58:59 ID:TAywFnWh] 引数の名前と型を見てなんとなく分かると思う。 わかんなかったのはMenu関係かな。 どれが便利な隠れ関数なのか人によってまちまちだからな〜。 全部教えるわけにはいかないので、その都度聞いてくれ。 あと、大概公式の掲示板を関数名で検索すると作者がサンプルコード書いてあるよ。
672 名前:名前は開発中のものです。 [2009/02/28(土) 07:00:08 ID:LqQy7pZD] >>670 他のところは知らないかな もし需要あるなら非公開関数ちょっと調べてリファレンスでも作ろうか?
673 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 07:01:10 ID:TAywFnWh] >>672 俺からも ぜ ひ 頼 む
674 名前:名前は開発中のものです。 [2009/02/28(土) 07:06:17 ID:LqQy7pZD] >>673 でも、正直DirectX使えばなんとでもなるから、わざわざ推奨されない非公式関数発掘して制約多い状態でDxLib使うより その方が早い気もする 中見てないから分からないけど、ソースが綺麗だったらまだ救いようあるんだけどな……
675 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 07:19:28 ID:TAywFnWh] DXライブラリ使ってるのに、その上でDirextX直叩きする酔狂は居ないと思う。 リファレンスもあったら便利だけど、目ぼしい関数はチェックしてるからなぁ。
676 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 07:27:18 ID:P7f9XrLx] >>671 教えてもらえるなら助かるわ といっても、そこそこ量があるので使えそうな関数を探すのが難しそうだがw >>672 非公開関数をまとめてくれるのなら有難い
677 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 12:35:30 ID:1J8Bdlx6] >>672 結構需要あると思うし、個人的にもすごくうれしい
678 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 17:39:28 ID:mz4DlK2y] 詳しい説明は無くてもかまわないからリストだけでもあれば重宝します
679 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 18:56:21 ID:JPI33j26] >>666 ってことはDXライブラリでも極めれば市販ゲームレベルの作品が作れるって事だね
680 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 20:56:23 ID:GSZZUTVZ] 極端な話,DrawGraphさえあれば十分
681 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 21:06:52 ID:gSUwRndo] 画像ファイル一枚を分割してアニメーションさせるのと 全部別々のファイルを読み込んでアニメーションさせるのって負荷とか違うのかな? 後者の方がやりやすいんだがどうなんだろう
682 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 21:15:45 ID:GSZZUTVZ] 一度の画面表示に使用する画像の数はできるだけ減らした方が テクスチャの切り替えが減って効率は良くなる
683 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 21:20:02 ID:gSUwRndo] >>682 やっぱりそうなのか・・ パーツ分けがめんどくさいんだよなぁ
684 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 21:25:21 ID:GSZZUTVZ] 何のためにプログラミングやってんの それこそ機械にやらせればいいでしょ
685 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 23:32:58 ID:gSUwRndo] >>684 フォトショで画像作ってるからPSDファイルなんだよね ヘボプログラマーなんでPSDファイルを分割するプログラムは作れないです・・
686 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 01:19:31 ID:Q0b0e5s4] 使ったこと無いから知らないけどさ、フォトショってマクロみたいな機能無いの?
687 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 01:43:53 ID:gJBH+jz2] >>686 あるよー でもマクロするほどの作業量でもないので手動でやります
688 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 04:00:52 ID:4UMfyekW] ん〜? 681と682の質疑応答の意味がよくわからん。 1ファイルを分割しようが、複数ファイルを読み込もうが使用する数は同じじゃないの?
689 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 04:46:48 ID:gjx3PjZU] 俺もわかんね。 同じじゃん。 どっちの方が管理が楽だろう?っていう人間の負荷の話ならともかく
690 名前:名前は開発中のものです。 [2009/03/01(日) 05:31:56 ID:idjBCaEs] >>681-689 一枚の画像を読み込み複数に分けハンドルを取得→PCが操作する画像は一枚 複数の画像を読み込みそれぞれをハンドルを取得→PCが操作する画像は複数 負荷が多いのは勿論後者 大げさだけど 一枚100MBの画像を一枚開くのと 一枚10MBの画像を10枚開くの どっちが早いか考えてみたら分かるんじゃないかな? まあ、数十枚の画像なら気にする必要はないんだけどさ 容量的にも、バイナリで開けば分かるけど、一枚ごとに色々付加されるから 200kbの画像を2つに分けて保存しても合計で220kbくらいになっちゃう(ものによって違うかな)
691 名前:名前は開発中のものです。 [2009/03/01(日) 08:23:41 ID:idjBCaEs] 今非公開関数まとめてたんだけど、すごくわかりやすいからわざわざまとめるほどでもない気がしてきた 作者が公開してないんだから公開するのも何かな…… 一応簡単に晒すけど…… 使い方(引数)、いつ呼ぶのか(DxLib初期化前か後か)、返値……ここらへんが分かれば良いんだよね? もしこの中で知りたいとか要望あるならHTMLにして、簡単なソースくらいくっつけてリファレンス化するよ 起動→終了で複数回DxLibを読み込まなければいけないとき(あるのか?)に使えそう int DxLib_GlobalStructInitialize( void ) ; // ライブラリの内部で使用している構造体をゼロ初期化して、DxLib_Init の前に行った設定を無効化する( DxLib_Init の前でのみ有効 ) int DxLib_IsInit( void ) ; // ライブラリが初期化されているかどうかを取得する( 戻り値: TRUE=初期化されている FALSE=されていない ) ファイルを検索して取得ウマー int FileRead_findFirst( const char *FilePath, FILEINFO *Buffer ) ; // 指定のファイル又はフォルダの情報を取得し、ファイル検索ハンドルも作成する( 戻り値: -1=エラー -1以外=ファイル検索ハンドル ) int FileRead_findNext( int FindHandle, FILEINFO *Buffer ) ; // 条件の合致する次のファイルの情報を取得する( 戻り値: -1=エラー 0=成功 ) int FileRead_findClose( int FindHandle ) ; // ファイル検索ハンドルを閉じる( 戻り値: -1=エラー 0=成功 ) ウィンドウから情報を引っ張り出す系の関数 int GetWindowCRect( RECT *RectBuf ) ; // ウインドウのクライアント領域を取得する→描画領域ね int GetActiveFlag( void ) ; // ソフトがアクティブかどうかを取得する→現在アクティブかどうかを調べる。-1が非アクティブ、0がアクティブとかだと思う(未確認) HWND GetMainWindowHandle( void ) ; // メインウインドウのハンドルを取得する→分かる人のために int GetNoActiveState( int ResetFlag = TRUE ) ; // 非アクティブになり、処理が一時停止していたかどうかを取得する(引数 ResetFlag=TRUE:状態をリセット FALSE:状態をリセットしない 戻り値: 0=一時停止はしていない 1=一時停止していた ) int GetMouseDispFlag( void ) ; // マウスを表示するかどうかのフラグを取得する
692 名前:名前は開発中のものです。 [2009/03/01(日) 08:24:40 ID:idjBCaEs] int GetMouseDispFlag( void ) ; // マウスを表示するかどうかのフラグを取得する int GetWindowCloseFlag( void ) ; // ウインドウを閉じようとしているかの情報を得る→本当に終了しますか?とか確認を表示するのに使えそう int GetWindowUserCloseFlag( int StateResetFlag = FALSE ) ; //×ボタンが押されたかどうかを調べる int SetDoubleStartValidFlag( int Flag ) ; // 2重起動を許すかどうかのフラグをセットする←複数起動させてもいいゲームならここを変更 マルチタスクのゲーム作りたいならここらへんが役に立ちそう int AddMessageTakeOverWindow( HWND Window ) ; // メッセージ処理をDXライブラリに肩代わりしてもらうウインドウを追加する int SubMessageTakeOverWindow( HWND Window ) ; // メッセージ処理をDXライブラリに肩代わりしてもらうウインドウを減らす 軽くみた感じ使えそうなのはこのあたりかな?
693 名前:名前は開発中のものです。 [2009/03/01(日) 08:37:37 ID:idjBCaEs] int SetWindowInitPosition( int x , int y ) ; // ウインドウの初期位置を設定する int SetNotWinFlag( int Flag ) ; // DXライブラリのウインドウ関連の機能を使用しないフラグ←これめちゃくちゃ便利でふいた int SetWindowUserCloseEnableFlag( int Flag ) ; // メインウインドウの×ボタンを押した時にライブラリが自動的にウインドウを閉じるかどうかのフラグをセットする←上記のGetWindowCloseFlagと組み合わせると幸せ int SetDXArchiveExtension( const char *Extension = NULL ) ; // 検索するDXアーカイブファイルの拡張子を変更する int SetBackgroundColor( int Red, int Green, int Blue ) ; // メインウインドウのバックグラウンドカラーを設定する←初期背景色は黒(#000000) int SetDragFileValidFlag( int Flag ) ; ドラッグ&ドロップかんれん // ファイルのドラッグ&ドロップ機能を有効にするかどうかのフラグをセットする int GetDragFilePath( char *FilePathBuffer ) ; // ドラッグ&ドロップされたファイル名を取得する( -1:取得できなかった 0:取得できた ) int GetDragFileNum( void ) ; // ドラッグ&ドロップされたファイルの数を取得する めんどくさいから、存在だけ書くけど 他にも、ツールバーにボタンを追加する関数とか ショートカットキーを追加する関数とか(←いくらでも代用可能だから使わない方がいいかも) メニューを作成する関数とか キー入力中、マウスを点滅させる関数とか ここらへんは人によってピンポイントに使えそうな関数ばっかだから、あんまりリファレンス化しても需要無い気がする 一応応用テクニックとして、HSPからDXライブラリを呼ぶ方法とかだったら需要ある? あるなら書こうかな 吉里吉里やNscから呼ぶことも出来そうだけど本体いじらなきゃ駄目っぽくてめんどくさい
694 名前:名前は開発中のものです。 [2009/03/01(日) 08:44:55 ID:idjBCaEs] たとえば、×ボタンで終了確認を出したいときとかは 〜略〜 SetWindowUserCloseEnableFlag( FALSE ); //×ボタンで自動終了しない while(ProcessMessage()==1)//だっけ? { ClsScreen(); game(); ScreenFlip(); if(GetWindowUserCloseFlag()==-1)//×ボタンが押されたら { if(MessageBox(NULL,"終了しますか?","終了確認",MBYESNO)==IDYES) //YES,NOでYESが押されたら break; } } 〜略〜 こんな感じにすればできる(と思う) 組み合わせだからなあ……リファレンス作るより小技をいくつか乗せた方が良いのかな?
695 名前:名前は開発中のものです。 [2009/03/01(日) 08:45:28 ID:idjBCaEs] ……朝から何やってんだ俺 悲しくなってきたから寝る
696 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 09:26:49 ID:k4cT38FB] おつかれさまです。ごゆっくりお休みくださいな。 リファレンスも欲しいけど、小技のほうがうれしいかも。
697 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 09:55:31 ID:gjx3PjZU] >>690 最初のファイル読み込みはともかく ハンドルに分けて使う段になったらどっちも同じじゃね? ×一枚の画像を読み込み複数に分けハンドルを取得→PCが操作する画像は一枚 ○一枚の画像を読み込み複数に分けハンドルを取得→PCが操作する画像は複数 >>691 乙
698 名前:名前は開発中のものです。 [2009/03/01(日) 10:04:25 ID:idjBCaEs] ああ、駄目だ >>694 だと×ボタンが押された時点でキューが送られちゃってるからDXライブラリの内部の構造的に終了確認はできない(終了確認が無限に出続ける) 「終了します」って有無を言わさぬ表示なら出来るけどね 中身見てるけど、終了キューを解除する関数は見あたらないし 独自に一度キューを取得して、ProcessMessageに投げる前に解除しちゃえば良いんだろうけど、そんなことすると初心者でも使えるって良点があじゃぱー >>696 どんな小技が良いかな? さっきあげた関数は単体で使えると思うし 今ソース見ながら色々いじってたけど それ以上のことやろうと思うと色々内部的に引っかかることに気付いた >>697 もう一度よーく読んでほしい
699 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 10:54:11 ID:gjx3PjZU] >>698 ごめん。 よく読んだ上で書いたけどわからない。 理解力なくてすまん。きっと俺が間違っている。 が、これは瑣末な問題なので暇なときにでも考えておくとして… >>693 >一応応用テクニックとして、HSPからDXライブラリを呼ぶ方法とかだったら需要ある? これ興味あるかな。
700 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 11:24:01 ID:oPHW1ePY] >>697 ハンドル分けたらだめ 一つのハンドルから転送元の領域を指定して描画するんだよ 同じテクスチャを連続して使うときは切り替えが行われないからその分効率が良くなる
701 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 11:38:25 ID:ey11ozVK] 質問掲示板の検索を使おう >>698 ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1089 >>699 ここのNo.4に書いてある高速描画云々のところ読めば分かる ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1162 読みこみ速度は同じだけど描画速度は 一枚の画像を読み込み複数に分けハンドルを取得 > 複数の画像を読み込みそれぞれをハンドルを取得
702 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 11:39:47 ID:a7Bg5ATd] HSPなんぞ使うなよ
703 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 11:44:24 ID:oPHW1ePY] なるほどLoadDivGraphでもいいのか
704 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 13:22:39 ID:gjx3PjZU] >>700 なるほど 理解したdクス >>701 読んでみる >>702 今更HSP使う気はないけどやり方にはちょっと興味が
705 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 13:39:31 ID:9rIzOA3I] >>691-694 乙 前にHSPから使ったりしてたけど、わざわざHSPから呼び出す必要があまり無いような気がしたのでVC導入したな
706 名前:名前は開発中のものです。 [2009/03/01(日) 14:11:25 ID:idjBCaEs] >>701 なるほど StateResetFlagは初期値FALSEになってるやつか、完全に見落としてたアリガトウ >>702 HSP使うメリットってなんだろう、(うろ覚えだけど)3D処理が簡単なDLLかなんかがあったよね? でも、それ使うなら最初からHSP使えばいいし…… 自分から言っといてなんだがメリット見えないやごめんw DXライブラリの可能性を追求しようと思ってドラッグ&ドロップで画像表示するアプリ作ろうと思ったらこんなに時間かかっちゃったよ やっぱりアプリ系はおとなしくWINAPI使うに限るorz www3.uploader.jp/t/nico/images/nico_uljp00021.zip ふ、と思ったんだけどこのスレ結構知識ある人多いしうpロダでも用意しとけばサンプル集みたいなの作れるしいいんじゃね? 人のソース見れるってのは、(俺含め)初心者にはとてもありがたいんだよね
707 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 14:27:12 ID:ZNmLTGrU] ソースうpは恥ずかしい…
708 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 14:51:26 ID:lYNtcth6] 自分の全裸うpするようなもん
709 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 15:45:22 ID:z/eFYQPp] 俺のは絶対人に見せられないソースだと自覚している。 一応動いているが、初心者どころの問題じゃない。
710 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 16:15:26 ID:xm1UJhmc] ソースは出来るだけ人に見せたほうがいいよ。 指摘されればどこが良くて悪いのかが分かって次に必ず生かせる。 リアル知人じゃなくて2chで晒すのがいいかはよくわからんが・・・ うpするのとは話がちょっと違うけどここでも読んでみるといい www.kojima-cci.or.jp/fuji/mybooks/cdiag/cdiag.0.6.html
711 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 16:37:16 ID:g9LGhZvF] 専ロダほしいな・・・
712 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 16:45:33 ID:c9LYSV+3] ドット絵でbmpで保存して使うのと きれいに書いたpngだとぜんぜん解像度違うような気がして変になっちまった。 ドット絵の設定ミス?それともpngにそろえるべきかな。。
713 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 18:31:12 ID:a1nbTQe/] ドット絵だからドットが見えるんじゃないのか??
714 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 23:17:37 ID:2a8K6SCC] 爆発のエフェクトなどを作成する際に グラデーションの画像を極座標変換?して 円形の画像を作成しているのだけれど、 これが何をやっているのかよくわからん。
715 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 23:25:10 ID:oPHW1ePY] つ高校数学の教科書
716 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 23:54:03 ID:A8mpIuw8] 数学Cあたりだっけ
717 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 00:15:56 ID:ziDQhibJ] そういえば洞窟物語もDXライブラリ使ってるんだね
718 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 00:35:55 ID:hEBh+N4j] 公式掲示板か 多分違うと思うぞ Pixel氏が以前DirectX2だか3だかを使って作ったって言ってたし 何か勘違いしてああ答えたか、若しくは今作ってるゲームにDXライブラリを使ってるんだろう
719 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 01:43:24 ID:3riYRQc6] ウィンドウサイズのデフォルトは640*480だけど、これの変更はできる? フルスクリーンにしないといけないから制約はあると思うけど
720 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 01:47:07 ID:7FxY5OR7] Dxライブラリのファイルにデフォルトのサイズがディファインされてたから あれいじればできるんじゃね?
721 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 01:52:06 ID:x0I/gxMT] >>719 SetGraphMode( 800 , 600 , 32 ); で800*600になる
722 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 02:06:23 ID:3riYRQc6] >>720 ライブラリ書き換えるのはアウトだろ常識的に考えて…… そのせいでいつどこでバグが起こるかわからぬ >>721 サンクス 画面モードの変更で解像度が変えれるとは、単語検索で見つからないわけだ
723 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 02:13:56 ID:PBT6djln] リファレンス大した量じゃないんだから 一覧を一通り目を通せば済むだろ。
724 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 06:43:49 ID:+ax8ZdoD] おれなんかどんなことができるんだろうと、わくわくしながら 上から下まで読むんだけどなぁ・・・
725 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 08:17:17 ID:vDZSfAmr] >>718 でも文字表示とかDXライブラリっぽいよな
726 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 11:57:41 ID:6eQe3/TV] >別にDXライブラリに限らないけど、DXライブラリを知った時も リファレンスをさらさらっと流して、「これなら俺にも使えるんじゃないかな?」と思って 使い始めたな。 別に覚えなくても、一度目を通しておけば、 後になって「こういう事がしたいけど、それっぽい命令あったよな……」って 探しやすくなるしな。
727 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 20:14:38 ID:hc/QEiU+] アレだけ分かりやすくて運営管理もアレだけちゃんとしてるなんて今まで見たことないよな。 DirectXでゲームを作るっていうジャンルに関して革命的だし、最早XNAなんかも超えてると言っても過言ではない。
728 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 20:18:02 ID:qXNeI5og] ハンドルが全部intなのだけはどうかと
729 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 21:13:54 ID:Rv93cI1M] ほんとだよな。ちゃんと符号無しにしてくれないと。
730 名前:名前は開発中のものです。 [2009/03/02(月) 21:38:18 ID:3lZqI4Au] >>729 そこじゃねーだろwww
731 名前:名前は開発中のものです。 [2009/03/02(月) 21:42:53 ID:3lZqI4Au] typedefしなかったのは多分初心者への配慮だろうね
732 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 22:25:14 ID:ziDQhibJ] 画像をプログラムで制御(回転など)して動いてみせるのと 一枚一枚画像を作ってパラパラ漫画みたいにアニメーションさせるのとどっちが負荷低いかな
733 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 22:54:20 ID:qXNeI5og] パラパラ漫画方式の画像が一枚の画像にまとめてあるなら 原理的に変わらないはず
734 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 22:57:12 ID:qXNeI5og] いや画像がまとめてあるかどうかはこの場合関係ないか まあ変わらん
735 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 01:09:39 ID:vuUaUlBc] その二つは比較すべきものじゃない気もするがw 回転ありの描画命令よりは回転なしの方が負荷は軽いだろうけど、 大した差じゃないみたいだし、好きにしていいんじゃないかな。
736 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 02:53:14 ID:l+63ggMa] 画面上の殆どのパーツが回ってるぜ!とか 512x512のパーツが回ってるぜ!とか 回転角度に応じて256パターンの画像を用意しました! みたいな変なことやってなきゃ大丈夫だろう
737 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 03:53:26 ID:wZU6jxH0] メモリに優しいのがプログラムで制御かな。後者はあまりオススメできない。 パラパラ漫画が全部VRAMに乗るとは限らないし、 1フレーム1枚のように別テクスチャ作るのであればさらに重くなる。 1枚でまとめる場合も、作成できるテクスチャサイズ制限があるハードウェアが過去にあり、 (Voodoo時代ではテクスチャサイズが256*256が最大であった) そのような場合、DXライブラリではテクスチャ分割が行われるので、 大きなテクスチャを作るとパフォーマンスが犠牲になります。 なので、回転・反転・拡大縮小などといった Direct3Dによるハードウェア支援で記述できる内容であるのなら、前者の方がパフォーマンスがよくなります。 ちなみに後者で実装するのであれば、テクスチャのサイズは正方形が望ましいですよ。
738 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 04:22:48 ID:l+63ggMa] ただし、斜め向きとかにした場合、 最初から画像を用意しておいた方が綺麗に見えることは多々あるな。 プレイヤーキャラの画像など、 重要そうな部分だけパターンを用意しておくのも悪くない。
739 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 09:38:20 ID:HSt7mZci] >>737 >正方形 一辺の長さが2の倍数の正方形ね
740 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 14:11:43 ID:lmHLCC6G] >>739 > 2の倍数 2の累乗ね
741 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 10:39:32 ID:IqyXTxRb] ん……? グラフィックハンドルがintって事は、持てるグラフィックハンドルの最大数は約32000って事?
742 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 10:43:25 ID:OmVViNLo] いやintは2*(10^9)くらいまで その前にメモリがなくなるだろうけど
743 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 16:29:04 ID:aWTUpMQ1] 東方の弾幕とかって1つ1つの弾にハンドラ持たせてるの?
744 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 17:38:35 ID:IqyXTxRb] >>742 intってそんなに長かったっけ? >>743 ちゃんと1つずつID割り振って読み込んでるみたい。
745 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 18:29:44 ID:Q764ubCY] 32bit機での 符号無しintは2^32 符号ありintは2^31(符号に1bit使用) プログラミングしてるなら知ってて当然だろ…
746 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 18:29:46 ID:zCrgAKk6] >>744 おまえさんのいってるのは short int
747 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 19:26:33 ID:IqyXTxRb] なるほど…… なんで勘違いしてたんだろう……
748 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 00:07:34 ID:aVo6G4mJ] >>743 何を言ってるんだ? 東方はDXライブラリ使ってないぞ
749 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 10:15:06 ID:MO3/QFgO] こんにちは^^ 透過処理というのをしたんですけど 下記のコードだと正常に透過処理されます。 LoadGraphScreen( 0 , 0 , "back.bmp" , FALSE ) ; LoadGraphScreen( 0 , 0 , "char.png" , TRUE ) ; しかし LoadGraphScreen( 0 , 0 , "char.png" , TRUE ) ; LoadGraphScreen( 0 , 0 , "back.bmp" , FALSE ) ; とすると透過処理されません なぜでしょうか?
750 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 10:26:43 ID:ddVb/3t1] >747 旧VBのIntegerが16bitなのと混ざってない? >745 ハードは関係ない。コンパイラが決定する。 16bitアプリを32bitハードやOSで走らせても intが勝手に32bitになったりしない。 処理系にあわせて決定するのが自然なだけ。
751 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 11:04:56 ID:B3wyDoGN] >>749 はい? え? back.bmp を透過処理なしで描いた上に、char.png を透過処理ありで描いたらそりゃちゃんと透過処理されるだろうけど char.png を透過処理ありで描いた上に、back.bmp を透過処理なしで描いたらそりゃ上書きされるだけだと思うんだが……。
752 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 12:34:23 ID:+9ctDc2h] >>750 あー、昔に見た資料がかなり古いものだったから間違って覚えてたのかも
753 名前:名前は開発中のものです。 [2009/03/06(金) 21:17:00 ID:pmzRauOh] ある画像だけの透過と、透過の度合いを設定することはできますか? リファレンス見る限り見当たらないのですが
754 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 21:34:26 ID:+Tdk650S] その画像を描画する前にSetDrawBlendMode 透過の度合いはPal引数 クラス使って透過率とグラフィックハンドルをまとめて管理するようにするといい
755 名前:名前は開発中のものです。 [2009/03/06(金) 21:46:01 ID:pmzRauOh] >>754 即レスありがとう^^ うまくできました!!
756 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 23:45:45 ID:HF/v1JaI] DXライブラリ3Dの開発引き継いでる奴いないの?
757 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 00:24:08 ID:3MouTLA1] 2Dゲームでも背景は3Dにしたい・・・ 本家DXライブラリにテクスチャ付モデルとフォグ表示機能だけあれば最高なんだが
758 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 01:56:55 ID:JfYg6t6e] シューティングの背景用にDXライブラリで自前の簡易モデルを描画する仕組みを組んだけど、 意外と簡単に組めたよ。 ポリゴン事に情報を配列に落として、座標を変換してVERTEX配列に入れてから描画。 フォグは出来なかったから単色背景+奥の頂点を透過で誤魔化してる。
759 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 07:03:57 ID:pCqKP5AO] クラスのコンストラクタでLoadGraphするとハンドルが取得できてないみたいだけど 仕様ですか? 他で初期化するから別に問題ないけど。
760 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 08:46:35 ID:9xqjyk6r] そのコンストラクタを呼ぶタイミングがまずいだけだろ でもLoadGraphみたいな失敗しやすいものをコンストラクタで使うのはあまり好ましくない
761 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 13:25:49 ID:d6ZakwC3] C++のコンストラクタはオブジェクトが出来上がる前の不安定な状態だからメソッド呼んだりはしない方がいいよ。
762 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 20:23:03 ID:83odH6gl] それ俺がよくやった失敗だけどLoadGraphするまえにDxLib_Initやってないんじゃまいか