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/
606 名前:名前は開発中のものです。 mailto:sage [2010/01/13(水) 13:35:20 ID:c62gE9Ki] >>603 >IDでの指定なので、どのファイルがどのIDなのか覚えるのが面倒となってしまい使いにくいorz IDをファイル名と同じにするとか分かり易い名前に変えてしまえばいいだけでは?
607 名前:名前は開発中のものです。 mailto:sage [2010/01/13(水) 13:46:41 ID:H0QsxNXz] 最近バージョンだと何か問題でもあるのか?
608 名前:名前は開発中のものです。 [2010/01/13(水) 15:49:43 ID:Yyh3OrXE] DXライブラリが最新バージョンだと動画をLoadGraphで読んでPlayMovietoGraph使って表示したとき透明色が適用されない (といっても透明色にするにはエンコード方式は古いMicrosoft Video 1くらいしか使えない諸刃の剣)
609 名前:名前は開発中のものです。 mailto:sage [2010/01/13(水) 16:07:06 ID:HfkhU9/3] 俺が過去に作ったゲームを最新のDXライブラリでリコンパイルすると透過色が無視されるてるなー。
610 名前:名前は開発中のものです。 mailto:sage [2010/01/13(水) 16:39:46 ID:fVXUl//w] 孔明の罠
611 名前:名前は開発中のものです。 [2010/01/13(水) 17:47:10 ID:b/PQw5gR] >>604 その通りです。 ロードする際に使った文字列を、ハンドル代わりにつかっているので、 メリットとしては、指定をいちいちしなくてすむので楽になります。 たとえば、 Draw("hoge.png"); とかで、色々操作できるような設計にしています。 Win32APIの関数でできるのですか。 直接MSDNから探し出すスキルがない残念スキルですが、調べてみようと思います。 >>606 おおなるほど、これは盲点でした……。
612 名前:名前は開発中のものです。 mailto:sage [2010/01/13(水) 19:35:30 ID:KRarygD9] >>611 良い方法じゃないかもしれないけど、マクロと stringかsprintf系の関数使って文字列つなげば 一応Load()には、ファイル名渡すだけでもすむよ。 //-------------------------------------- #define HOGE_PATH "..\\iData\\img\\" void Hoge::LoadData(const char* data_name) { char path[255]; sprintf(path, HOGE_PATH "%s.png", data_name); Load(path); } //-------------------------------------- みたいな感じで(エラー処理とかは省略)。 ちなみにHogeのコンストラクタ内とかで、APIのFindFirstFile() とか使って、フォルダ内の任意の形式のデータ名を列挙して 読み込むようにすれば、Hogeの生成時にpngの形式だけ自動で 読み込むとかも可能。 ただスクリーンショット取れるゲームとかでない限り、画像 データの名前や数は変わらないはずだから、ハードコーティング するよりパス含んだデータ名を列挙したテキストとかを作って おくのがいい気もする(もちろんこれも手動では作らない)。 そうしておけば、画像の数とかに変更あってもプログラムの方は 何もいじる必要ないし。
613 名前:名前は開発中のものです。 mailto:sage [2010/01/13(水) 20:53:47 ID:fVXUl//w] なんというレベル・・・
614 名前:名前は開発中のものです。 mailto:sage [2010/01/13(水) 22:45:52 ID:K/6CPc2l] 俺はstd::mapを使ってるな。値を画像ハンドルにしてる。 キーを文字列にすれば分かりやすいし。
615 名前:名前は開発中のものです。 mailto:sage [2010/01/14(木) 02:11:03 ID:842AZX10] 同じファイル名が来ることはないのか
616 名前:名前は開発中のものです。 mailto:sage [2010/01/14(木) 02:36:14 ID:Y9GNPZz3] 画像ファイル名一覧(分割するなら分割数なども)を 外部のテキストファイルに置いて、それを読み込む手法は便利ちゃ便利だし美しいな。 ツクール系や画像ビューワなどのアプリを作りたいというなら別にしても、 結局、その画像を使うにはプログラムの修正が必要だったりするわけで、 そこまで外部化するメリットが無い気がする。 それならファイル名をプログラム側で固定してしまうというのも十分アリじゃないかな。 「趣味で!」「勉強のため」というなら好きにやるべきだし、そういうこだわりは重要だと思うけれど。 >>615 拡張子無しとか、拡張子を固定するとか、 あとは最初はbmpで次はjpg…みたいに読み込む優先度を決めておくとか。
617 名前:616 mailto:sage [2010/01/14(木) 02:42:40 ID:Y9GNPZz3] 送信してから思った。 最近は個人レベルのゲームプログラミングでも、 ゲームの内容を外部のスクリプトファイルで定義するスタイルが増えてきてるみたい。 全部をスクリプト化しろとは言わないけど、 例えばメニュー画面の挙動とか、何らかのキャラクターのアニメーションの仕方とか、 そういう部分的にでも外部に出しちゃう作りにすれば活かせるかもね。 まあ、非常に手間ですが。
618 名前:名前は開発中のものです。 mailto:sage [2010/01/14(木) 10:10:33 ID:DPt8d+Sq] 外部ファイルにパスや必要な情報書いて読み込み、 それをクラスに格納して処理、コンテナに追加して保持、分割も自動でやってる ハンドルはアドレスをクラスに用意したポインタのメンバ変数に格納して 再ロードしても画像ハンドルへのアクセス先は変わらないようにしてる SetRestoreGraphCallbackに↑で書いたコンテナから再ロードする関数登録 ハンドルの情報が消えてしまうときって、それまでに画像読み込んで取得したハンドル全て消えるよね? 何が消えるかよくわからなかったから 描画関係全て再設定させてるんだけど、皆さんは再ロード処理どのようにしてますか?
619 名前:名前は開発中のものです。 mailto:sage [2010/01/14(木) 11:35:51 ID:f9B4N6q6] >>618 何を言っているのかわからない
620 名前:名前は開発中のものです。 mailto:sage [2010/01/14(木) 11:42:32 ID:Wuk1wnH6] >>618 >ハンドルの情報が消えてしまうときって、それまでに画像読み込んで取得したハンドル全て消えるよね? まずこれがよく分からない・・・ リファレンスに全部書いてあると思うけど。
621 名前:名前は開発中のものです。 [2010/01/14(木) 12:57:05 ID:GEhjs3wb] ドラクエとかマップとかキャラ動かすプログラムは1個つくったら 流用が基本だよな あとはちょくちょく改造 現にSFCのドラクエ3ってSFCドラクエ6の流(ry
622 名前:618 mailto:sage [2010/01/14(木) 12:59:53 ID:DPt8d+Sq] ごめん、書き方悪かった 何が消えるってか何が初期化されるのか、 ハンドル以外にもあったようなのでそれもききたかった (DXライブラリのスレだったかな?カメラがどうとか) ってハンドルは全て消えるよね・・・ で、リファレンスに全部書いてあるのか 見落としてたっぽい、すまねえ見てくる
623 名前:名前は開発中のものです。 [2010/01/14(木) 13:11:27 ID:GEhjs3wb] ffshowの取り込み機能使うと紙芝居のような連番のjpgが作れる (例:0.jpg〜1000.jpg (画像の形式:jpgにフレーム番号の桁数は0に設定)) (画像の形式はpngやbmpとかできるけどファイル容量が馬鹿でかくなる) プログラムテストで使う大量の連番JPG1個ずつくるのめんどせーって人はおすすめ
624 名前:名前は開発中のものです。 mailto:sage [2010/01/14(木) 13:53:55 ID:842AZX10] 俺も各クラスの画像にはハンドルのポインタ渡して ウィンドウ⇔フルスクリーンにするときとか再ロードする場合は一括でやれるようにしてる
625 名前:名前は開発中のものです。 mailto:sage [2010/01/14(木) 14:22:58 ID:f9B4N6q6] めんどくせーのでエスパーすると ハンドル情報が無効になった場合の対処でよろしいアルか?
626 名前:618 mailto:sage [2010/01/14(木) 21:00:02 ID:DPt8d+Sq] いやもう、まじでわかりづらくてすまん >>624 と同じやり方だし、これはこれでいいかな カメラもライトもモーション状態も全部復元できた つーわけでスルーしてくだされ
627 名前:名前は開発中のものです。 mailto:sage [2010/01/15(金) 12:18:57 ID:MEm+h6H+] 更新通知はオブザーバーパターンかな
628 名前:名前は開発中のものです。 mailto:sage [2010/01/15(金) 23:03:18 ID:GfBht2fI] WinSockを使ってオンラインのゲームを作りたいと思っています。 非同期通信にした後、 ウィンドウメッセージをどうやって受け取ればいいのでしょうか
629 名前:名前は開発中のものです。 mailto:sage [2010/01/15(金) 23:16:16 ID:mIIIz4fa] 通信とウィンドウズメッセージ処理は別スレッドで
630 名前:名前は開発中のものです。 mailto:sage [2010/01/15(金) 23:20:44 ID:MEm+h6H+] bccとvc++以外のコンパイラで使いたい場合はDLL化するしかないかな?
631 名前:名前は開発中のものです。 mailto:sage [2010/01/16(土) 14:25:40 ID:q2B4ABrd] C#用のDLLが使える 普通のCインターフェイスだから
632 名前:628 mailto:sage [2010/01/16(土) 16:27:15 ID:rUwaGg5H] 開発環境はVisual Studio 2008 Express Editionです。 >通信とウィンドウズメッセージ処理は別スレッドで これは、マルチスレッドにする、ということでしょうか? あと、ウィンドウメッセージを受け取るにはPeekMessage関数を使うのでしょうか?
633 名前:名前は開発中のものです。 mailto:sage [2010/01/16(土) 16:40:06 ID:jHRnZJbI] まだ、はやい
634 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 15:10:04 ID:NiKHIjeB] どうにかgifアニメを表示できないでしょうか?
635 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 15:50:40 ID:ocST5QSJ] ばらして一つ一つ表示すれば
636 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 16:17:33 ID:1VuUUtA0] コマごとに読み込んでハンドルを配列に入れて回しながら表示してみろ
637 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 16:19:59 ID:Y1kYbBl9] みんなアニメーションの抽象化ってどうやってんの?
638 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 16:36:31 ID:ZRf7R4pO] >>637 デザ・・・と言いたいところだが、キチガイ扱いされるので言わない^^b
639 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 16:36:50 ID:AJVbiEYR] アニメーションの抽象化ってなに。
640 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 16:37:28 ID:ocST5QSJ] 14歳に乗ってたな
641 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 17:21:08 ID:NiKHIjeB] ありがとうございます! gif自体がDXライブラリで表示できないみたいなので ばらしてbmpに変換して表示させます。
642 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 18:17:21 ID:/YEQVsc4] ソフトによってはgifアニメを書き出す要領でアニメーション用にずらっと並べた形で排出してくれるものもあるから要チェック
643 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 18:40:53 ID:NiKHIjeB] Giamっていうツールで分解してみます。 gifが表示できたらなあ・・・
644 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 19:23:22 ID:p6A/ppr3] gifの表示だけは諦めた方がいい と思ったけど何年か前にライセンス切れたとかだったっけ?
645 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 19:34:01 ID:YzUndEty] gifアニメ、 PlayMovie()で出来たはず。
646 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 19:40:04 ID:NiKHIjeB] >>645 うおおおおおおおおおおおおおおおおおおおおおお できたあああああああああああああああああああああああああ ありがとおおおおおおおおおおおおおおおおおおおお
647 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 19:44:19 ID:/YEQVsc4] playmovieが使えるのか、初めて知った
648 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 19:44:24 ID:aB6jW3dA] でもgifアニメ表示する利点というか利用価値が思いつかない
649 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 19:46:09 ID:YzUndEty] これは作者も知らないと思う、osの機能だから。
650 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 19:57:40 ID:NiKHIjeB] 本当にありがとうございました。 ただのビューワを作ろうかと・・・ できないと諦めかけてたので>>645 さんありがとう!
651 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 21:14:28 ID:ZRf7R4pO] >>645 APIの旅からの帰還 お待ちしておりました 全員敬礼!
652 名前:名前は開発中のものです。 mailto:sage [2010/01/20(水) 21:26:19 ID:ZmWqqE9G] #define MAX_MOVIE_NUM (100) // 同時に持てるムービーハンドルの最大数 と、DxLib.hの中に書いてあったのですが、 この(100)の値を変えても100以上読むことができません 変更を適応する方法とかありますでしょうか・・・
653 名前:名前は開発中のものです。 mailto:sage [2010/01/20(水) 21:37:33 ID:ZmWqqE9G] ライブラリの改造で事足りました スレ汚しすまそ 以下スルーお願いします
654 名前:名前は開発中のものです。 mailto:sage [2010/01/20(水) 21:42:45 ID:SKKsOccv] 俺は言われるとスルーできねえ太刀なんだよ どうしてくれんんだてめえ
655 名前:名前は開発中のものです。 mailto:sage [2010/01/20(水) 22:09:33 ID:q0DDgX3G] キレやすそうだな。
656 名前:名前は開発中のものです。 mailto:sage [2010/01/20(水) 23:52:50 ID:cMpODo4B] 真面目なかたなのね
657 名前:名前は開発中のものです。 mailto:sage [2010/01/20(水) 23:59:20 ID:zuhGGFh3] 太刀だけにキレやすいってか うまいこと言うじゃねーか
658 名前:名前は開発中のものです。 mailto:sage [2010/01/21(木) 06:53:57 ID:zKTatolx] だれうま
659 名前:名前は開発中のものです。 mailto:sage [2010/01/21(木) 17:26:19 ID:VSiukrvi] おれうま
660 名前:名前は開発中のものです。 mailto:sage [2010/01/21(木) 17:42:38 ID:ASaFDbPd] きみのためならうま
661 名前:名前は開発中のものです。 mailto:sage [2010/01/21(木) 18:34:21 ID:f/5KsMY8] かゆ・・・うま・・・
662 名前:名前は開発中のものです。 mailto:sage [2010/01/21(木) 21:15:18 ID:3z0s89gO] 昨日、この屋しきから逃げ出そうとした研究いんが一人、射さつされた、て はなしだ。 夜、からだ中 あついかゆい。 胸のはれ物 かきむしたら 肉がくさり落ちやがた。 いったいおれ どうな て May 19, 1998 やと ねつ ひいた も とてもかゆい 今日 はらへったの、いぬ のエサ くう May 21, 1998 かゆい かゆい スコットーきた ひどいかおなんで ころし うまかっ です。 4 かゆい うま
663 名前:名前は開発中のものです。 mailto:sage [2010/01/24(日) 17:17:54 ID:t3rqV2es] MV1GetFramePositionでフレームの座標取れた人いる?
664 名前:名前は開発中のものです。 mailto:sage [2010/01/24(日) 17:45:49 ID:eNyArIdy] >>663 何かそれと関連するような書き込みみた MV1Frame系の根本辺りにバグでてるのかもよ 試してないから憶測な
665 名前:名前は開発中のものです。 mailto:sage [2010/01/24(日) 18:30:40 ID:t3rqV2es] >>664 そうなのか・・・
666 名前:名前は開発中のものです。 mailto:sage [2010/01/24(日) 18:53:34 ID:mtzPnJPW] SetWindowStyleModeのあと ドラッグ&ドロップが効かなくなるのは仕様ですか
667 名前:名前は開発中のものです。 mailto:sage [2010/01/24(日) 19:30:56 ID:mtzPnJPW] #include "DxLib.h" int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){ char Key[MAX_PATH]; char File[MAX_PATH]; int open; bool flag=false; SetAlwaysRunFlag(TRUE);//アクテイブでも動作 if(ChangeWindowMode(TRUE)!=DX_CHANGESCREEN_OK || DxLib_Init()==-1) return-1; SetDrawScreen(DX_SCREEN_BACK); SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可 while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll(Key)){ open=GetDragFilePath(File); if(open!=-1){ clsDx(); printfDx("%s",File); } DragFileInfoClear(); if(Key[KEY_INPUT_Z]==1){//zキーでスタイル変更 if(flag==false){ flag=true; SetWindowStyleMode(2); SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可 } else{ flag=false; SetWindowStyleMode(0); SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可 } } if(Key[KEY_INPUT_ESCAPE]==1)break; ScreenFlip(); }
668 名前:名前は開発中のものです。 mailto:sage [2010/01/24(日) 19:33:03 ID:mtzPnJPW] DxLib_End(); return 0; } //ソースここまで スタイル変更のあとはどんなことやっても無駄でした。 なにか解決方とかありますでしょうか・・・
669 名前:名前は開発中のものです。 mailto:sage [2010/01/25(月) 13:30:00 ID:KA8nsg8v] SetWindowStyleMode(2); SetDragFileValidFlag(FALSE); SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可 SetWindowStyleMode(0); SetDragFileValidFlag(FALSE); SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可 ほい
670 名前:名前は開発中のものです。 [2010/01/25(月) 14:54:28 ID:RTDsX0xD] 同じプログラムでもBCCとVCでコンパイルすると微妙に絵画スピード違う? BCCの方が重いんだが
671 名前:名前は開発中のものです。 mailto:sage [2010/01/25(月) 17:04:41 ID:okvPpsG4] 絵画? 描画? まあ、別のアルゴリズムでビルドされている以上、違いがあってもおかしくはないな。 もしかすると最適化の設定とかもあるかもしれない。
672 名前:名前は開発中のものです。 mailto:sage [2010/01/25(月) 17:30:21 ID:0o6Nm1jn] 描画の速度は同じだと思われるが最適化の性能はコンパイラによって大分違う っつっても今は両方同じくらいだと思うが 古いのは効率悪い
673 名前:名前は開発中のものです。 mailto:sage [2010/01/25(月) 17:32:24 ID:LL1ffQYA] CPU メモリ グラフィックカード MMX 他のソフトが動作してないか などなど 条件を一致させるのは至難の技
674 名前:名前は開発中のものです。 mailto:sage [2010/01/25(月) 19:00:44 ID:6DMAN8Oi] >>669 ありがとうございます! 無事ドラッグ&ドロップがスタイル変更後も効くようになりました なんだかくやしいです
675 名前:名前は開発中のものです。 mailto:sage [2010/01/26(火) 01:58:18 ID:tj2S0wJn] 隠し関数一覧とかないの? リファレンスに機能の半分くらい乗ってなくね?
676 名前:名前は開発中のものです。 mailto:sage [2010/01/26(火) 02:34:26 ID:PVZ337CH] そんなあなたにおすすめ、DxLib.h
677 名前:名前は開発中のものです。 mailto:sage [2010/01/26(火) 02:43:45 ID:tj2S0wJn] 既に見ながら発掘してるけど、使い方分からんのが沢山あるし。
678 名前:名前は開発中のものです。 [2010/01/26(火) 03:09:22 ID:p39VC7Ub] LoadSoundMem("ファイル名"); SetSoundCurrentTime(時間,サウンドハンドル); PlaySoundMem(サウンドハンドル,DX_PLAYTYPE_LOOP,*2 BGMを最初から再生するかというフラグ); *2 TRUEで最初から再生(デフォルト) FALSEで途中から再生できる int bgm; bgm=LoadSoundMem("a.wav"); SetSoundCurrentTime(5000,bgm); PlaySoundMem(bgm,DX_PLAYTYPE_LOOP,FALSE); a.wavの5秒後から再生する(BGMファイルの曲の長さ仮に5秒以内のファイルなら最初からになる ・・・と思う)
679 名前:名前は開発中のものです。 mailto:sage [2010/01/26(火) 13:26:42 ID:PVZ337CH] >>677 内部用の関数だったり、試験的に実装した関数なんかが多いから、 公式リファレンスが無いのは仕方ない。 仮に第三者がリファレンスを作ったとしても、 内部用関数である以上、いつ仕様が変更されてもおかしくないわけだし。 …以前、DXライブラリのWikiを作ろうとした人がいたけれど、あれどうなったのかなあ。 DxLib.hにはしっかり丁寧にコメントが書かれてるし、実用レベルでそんなに困ることはないと思うけどな。 コメントを読んでも意味がわからない関数は、たぶん今の自分には関係ない関数だと思っていい。
680 名前:名前は開発中のものです。 [2010/01/27(水) 02:10:49 ID:+9fTCg9n] まあ PlayBeep()なんて 誰得な関数もあるしな
681 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 02:46:02 ID:wVIH00tk] それってBeep音鳴らすの? だとしたらエラーの警告音とかに使えそうじゃない?
682 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 12:43:56 ID:bk5n/QgN] エラーが発生したなら、素直にOSへ投げた方が良さそうだしなあ。 Beep音に限らずね。 逆に、ゲーム内で「エラー」の演出をしたいというなら、 それ専用のサウンドファイルを用意するべきだろう。
683 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 13:28:51 ID:VlaGcRFB] SetDrawBlendMode( DX_BLENDMODE_ALPHA, 128); LoadGraphScreen( 30, 10, "a.bmp", TRUE); SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0); をやると一気にfpsが小さくなるんだけど、それを避ける方法ある? 丁寧に教えてください。断片じゃ分からないんで。
684 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 13:34:10 ID:eUrMXCBM] ハハッ 公式見てこいよ 根本から間違ってる
685 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 13:43:01 ID:D7qew4lJ] ハハッワロス
686 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 14:40:35 ID:eQLJYwgf] 宣言 int LoadGraphScreen( int x , int y , char *GraphName , int TransFlag ) ; 概略 画像ファイルを読みこんで画面に表示する 要するに、ハードディスクから画像を”読み込んで”表示するわけだ。 毎フレーム、データ読み込んでたら重くなるの当たり前。
687 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 15:40:40 ID:VlaGcRFB] >>686 ttp://dixq.net/g/39.html ここの人の見てαブレンド処理したんだけどそんな変なの? できれば、αブレンド処理の速いやり方教えてほしい。
688 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 15:44:59 ID:eQLJYwgf] 違う! αブレンドのやり方はそれでいい! 一つ訊きたいが、fpsがどうとか言ってるって事は、ある程度形は出来てるんだよな? アクションかシューティングか、何作ってるのか知らないけど。 てことは、キャラなりなんなりを毎フレームに表示させてるんだよな? そのキャラを表示する時に LoadGraphScreen を使って表示してるのか!?
689 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 15:50:10 ID:eQLJYwgf] 君はさ、学校に通う時、 朝、本屋へ行って教科書買って、学校行って勉強して、終わったら教科書捨てて、 次の朝、また本屋で教科書買って、学校行って勉強して、終わったら教科書捨てて、 また次の朝、本屋で教科書買って、学校行って勉強して、終わったら教科書捨てて…… ってやるか? やらないだろ? 毎フレーム LoadGraphScreen を使うってのは毎日教科書買ってるようなもんなんだよ。
690 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 15:52:15 ID:VlaGcRFB] >>688 キャラはDrawGraphで表示してる。 オプション画面に切り替えた時、点数などを表すボードみたいものに LoadGraphScreenを使ってる。だから、ゲームには影響ないんだけど。 オプション画面に切り替えた時fpsが一気に下がって気になって今回 聞きました。
691 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 15:59:36 ID:eUrMXCBM] >>690 オプション画面に切り替えたら画面停止でもすんの? プログラムのフロー分かってる?
692 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 16:00:00 ID:gFzXyqzf] 最初に表示するとき一回ロードしておいて、それを毎フレーム描画するようにすればいいだろう
693 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 16:07:18 ID:D7qew4lJ] 私のために争うのはやめて!
694 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 16:08:24 ID:VlaGcRFB] >>691 それはしない。一気にfpsが落ちる。ブレンド処理で。 単にTフレームごとに作画してScreenFlip()で表示してます。 >>692 詳しくおねがいします。
695 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 16:09:48 ID:D7qew4lJ] 全部DrawGraphですればいいんじゃないかなぁ? アハハハハハハハ!
696 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 16:11:58 ID:VlaGcRFB] >>695 ブレンド処理したいんですけDrawGraphでも可能なんですか?
697 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 16:14:13 ID:D7qew4lJ] >>696 てめーなに中だよコラ リファレンスに目を通してから質問しろカス
698 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 16:16:13 ID:eQLJYwgf] あのさ↓の意味ちゃんと解って使ってる? SetDrawBlendMode( DX_BLENDMODE_ALPHA, 128); LoadGraphScreen( 30, 10, "a.bmp", TRUE); SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0); 1行目で「これから描画するものはアルファブレンドモードにしますよ」 2行目で「a.bmpを読み込んで描画しますよ」 3行目で「これから描画するものはブレンドなしにしますよ」 ってだけだよ?
699 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 16:16:22 ID:VlaGcRFB] DrawGraphでもブレンド処理可能みたいですね・・・。 ありがとうございます。
700 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 16:18:42 ID:VlaGcRFB] >>697 ヤンデレの人ありがとうございました。
701 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 16:23:54 ID:eUrMXCBM] まあ常識的に考えてブレンド処理なんて頻繁に使われるものがDrawGraphで使えないわけないわな
702 名前:名前は開発中のものです。 [2010/01/27(水) 17:37:50 ID:SU7TxAxC] int zeikin[1000000]; int amakudari; for(amakudari=0;amakudari<1000000;amakudari++){ zeikin[amakudari]=LoadGraph("官僚.bmp"); }
703 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 18:42:02 ID:4CYQjQL/] だいたい4MBくらいか。たいしたことないな。
704 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 14:26:55 ID:DRAuGFCj] 小手先のテクとかはそれなりに分かってきたと思うんだけどゲームの作り方が分からん うーんバイトでも探して勉強させてもらおうかな。でも使えないバイトとか来たら迷惑かな
705 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 15:45:51 ID:yml/58A3] >>704 そもそも採用してもらえないと思うけど・・・ どこまで作れるのか知らないけど解説サイトも本もいっぱいあるし、いくらでも勉強できると思うんだけどなあ。
706 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 16:04:31 ID:X4/enaKn] むしろ小手先にテクニックの方が理解は難しいと思うが。 いったいどんなゲームを目指してるんだ。
707 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 17:52:34 ID:DRAuGFCj] シューティングで勉強してるけど思うようにいかない とりあえず自機も敵機も○で表現して 直進する玉を打ったり衝突判定したりとかなら一応できたんだけど なんか死ぬほど処理が重いし(処理落ちしまくり)、拡張しにくそうだし 機体のパラメータデータとかステージデータの扱い方とかもわからないし 今はちょっとハードルを下げてインベーダーに変えようかなと思ってる
708 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 17:55:43 ID:jCVSqiZx] 龍神録は見たか?
709 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 18:24:47 ID:kJL+rTdA] >>707 どこの部分で処理食ってるか調べるんだ。 「衝突判定」が怪しいから、衝突判定を飛ばしてみて 処理落ちするかどうか確認するとか。
710 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 18:38:06 ID:DRAuGFCj] >>708 まだなので、ちょっと読んできますね >>709 というかボトルネックは衝突判定と玉の生成破棄ぐらいしか思いつかない モートン順序とかネットで読んだりしたけどなかなか理解と実装までいけないですわ・・・
711 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 18:38:15 ID:jCVSqiZx] dxlib使ってる環境で衝突判定による処理落ちはあまり考えられないんじゃないかなあ 俺はloadgraphとか自発的なSleepを疑う
712 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 19:21:22 ID:bXBGYPJV] 重いのは上司と女のケツ
713 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 19:23:42 ID:Pa0ASUM2] 足りないのは知識じゃなくて情熱
714 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 20:40:58 ID:/bsOILuR] PCのスペックも分からんし、 「死ぬほど重い」がどれくらいなのかも分からない(FPS60で重いと言う人だっている)、 ゲームの内容もさっぱりだしなあ。 それでもプレイ出来ないほど重くなるとは考えにくいんだが。
715 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 20:57:24 ID:QBlyvB6i] LoadGraphScreenをしてる、とか? 知り合いがなんか思いって言ってたからソース見たら、毎フレームスクリーンショットを取るという謎な動作してたりした。 ぶっちゃけ、重いってのはなんか変な事してるんだと思うよ。
716 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 21:35:34 ID:VeYpTI6t] 何が変なことかわかる経験をお持ちでないから仕方が無いことよ
717 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 21:37:02 ID:Pa0ASUM2] 俺も低スペックPCだと重くなる。 それもFPSがなぜか半分になる。 ウィンドウがノンアクティブでも動作する設定にしてノンアクティブにしたときの動作と似ている。 DXlib特有の何かがあるんだと思う。
718 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 21:38:36 ID:QBlyvB6i] ソースっていうかプロジェクトうpったらアドバイス貰えるかもね ソース晒すの抵抗あるだろうし、個人的にVC++かVSじゃないと困るけど
719 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 00:36:37 ID:zzrUYLD6] 画像Aの(x, y)に画像Bの(x1, y1, x2, y2)を転送ってできます?
720 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 00:38:24 ID:cifYwtzO] うん
721 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 06:43:38 ID:P5qgz5J8] >>710 思いつく思いつかないじゃなくて 各セクションごとの消費時間調べて どこがボトルネックなのか調べるぐらいはすべき
722 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 09:38:05 ID:BdSu0ysP] PCのスペックも分からんし、 「死ぬほど重い」がどれくらいなのかも分からない ゲームの内容もさっぱりだしなあ。
723 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 09:48:06 ID:EF522hf9] 昔、STGの敵を一体だけ出してテストしてたときに 妙に動きが重いなーと思ったら 300体の敵がピタリ重なって表示されていた
724 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 11:23:55 ID:BdSu0ysP] 俺もあったなw
725 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 11:50:08 ID:mWel1DHT] あるあるw
726 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 12:31:38 ID:zzrUYLD6] >>720 すいませんそれは一体どうやればいいんでしょう? SetDrawScreen(handle); Draw〜〜 とやってもバグってウィンドウの外に描画されてしまいます
727 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 12:46:37 ID:cifYwtzO] >>726 BltSoftImage
728 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 12:49:56 ID:zzrUYLD6] SoftImageって遅くないですか?
729 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 12:51:56 ID:cifYwtzO] 使い方による
730 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 15:02:29 ID:zvCh6Jzw] そもそも早さを気にするような関数なのか?
731 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 16:16:41 ID:zzrUYLD6] ソフトイメージ使ってみました これは便利なものですね しかしCreateGraphFromSoftImageで変換しないとアルファブレンドができないのが難点ですね
732 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 16:23:02 ID:cifYwtzO] そもそも変換して使うもん しないと君の言うとおり非常に表示が遅くなるよ
733 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 17:03:39 ID:zzrUYLD6] おや、FillSoftImageがバグってますねこれ
734 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 17:04:55 ID:TNYZudKh] ID:zzrUYLD6 (#^ω^)ビキビキ
735 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 17:07:37 ID:zzrUYLD6] >>734 なにか?
736 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 17:21:39 ID:GX4pyXso] 愚痴ならチラシの裏にでも書いとけよ
737 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 18:18:02 ID:QgRnLSPg] 馬鹿な発言からして*SoftImageの解説を読んで無いな
738 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 19:10:19 ID:BdSu0ysP] >>735 関係者なんだろ
739 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 20:21:19 ID:UcIFEpC1] ID:zzrUYLD6 (#^ω^)ビキビキ
740 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 20:29:33 ID:zzrUYLD6] >>739 言いたいことが有るならハッキリ言ったらどうです コピーアンドペーストしかできないというわけではないんでしょう?
741 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 21:04:41 ID:wCFnb5ju] >>733 バグがあるって言うなら、ちゃんと症状を書いて欲しい ちゃんと検証をしないでバグがあるって言うのは荒らしと同じだよ
742 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 21:10:38 ID:cifYwtzO] どう考えてもこいつの仕様把握ミスか使い方間違ってるかだけどな
743 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 21:47:57 ID:zzrUYLD6] codepad.org/JesphHgh www1.axfc.net/uploader/Img/so/71545 バグだろ
744 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 22:05:12 ID:BIjXD56Q] 会話で否定から入るタイプ 礼を言わない自分のことばかり
745 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 22:16:56 ID:nicWHVwK] こういう奴はなぜか自分が嫌われてることに気づかないんだよなw
746 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 22:22:34 ID:dQt5iAcR] もうそのへんにしとこうぜ。
747 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 22:46:17 ID:zzrUYLD6] >>743 に問題が有るとして、それを指摘できるレベルの人間はここにはいないと言うことでよろしいでしょうか? もし問題がないのなら、私に対していわれのない批判を向けた人たちは謝罪するべきです 私はそれが社会人としての最低限のマナーだと考えます
748 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 22:55:31 ID:cifYwtzO] 何かモノを教えてもらった際にはお礼を言いましょう 私はそれが社会人としての最低限のマナーだと考えます
749 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 22:58:58 ID:ZFqeJ0u6] そもそも何がしたいのかわからん
750 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 23:02:09 ID:dQt5iAcR] >>747 >もし問題がないのなら、私に対していわれのない批判を向けた人たちは謝罪するべきです 俺は静観してただけだから無関係だが、 説明しなければ批判受けてもしょうがなかろう。
751 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 23:11:56 ID:m0apTEno] DXライブラリをビルドできる環境が無いのでなんとも言えないが Ver 3.01 での NS_FillBaseImage関数 (DxBaseImage.cpp の5124行目あたり) で DWORD の Color が WORD にキャストされているので、ARGBのうち、ARが捨てられている気がする このキャストをなくせばいいんじゃないかなー
752 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 23:28:01 ID:zzrUYLD6] >>751 DWORDに修正してビルドし先のコードで試したところ正常に動くようになりました 丁寧に修正箇所も教えていただいて、どうもありがとうございました!
753 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 06:29:35 ID:7H/reV3I] 馬鹿ばっかり・・・
754 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 13:54:18 ID:HHPX/Q69] >>753 もっと蔑んだ目で言って下さい
755 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 14:32:44 ID:CuC3sxxQ] >>754 | |/ノ二__‐──ァ ヽニニ二二二ヾ } ,'⌒ヽ /⌒!| =彳o。ト ̄ヽ '´ !o_シ`ヾ | i/ ヽ ! ! ハ!| ー─ ' i ! `' '' " ||ヽ l |
756 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 15:25:26 ID:JBJvvpkE] >>754 ',::r、:| <●> <●> !> イ |:、`{ `> .:: 、 __ノ |::∧ヘ /、__r)\ |:::::|
757 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 17:18:12 ID:2P10BkIV] アニメーション作りたかったから double owari; do{ DrawGraph(0,0,player[3],TRUE); DrawGraph(0,0,player[4],TRUE); DrawGraph(0,0,player[5],TRUE); DrawGraph(0,0,player[6],TRUE); owari = FALSE }while(owari = TRUE); やったらパソコンが動かなくなったよ! 誰か助けて
758 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 17:22:47 ID:JBJvvpkE] owari==true
759 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 17:25:48 ID:2P10BkIV] 出来ました!! ありがとうございます しかし画像が動いてない・・・
760 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 17:43:27 ID:PA+3lzr7] そりゃScreenFlip挟んでないからな…
761 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 17:45:11 ID:2P10BkIV] 画像も動いたし一件落着かと思ったんですが double owari; do{ SetDrawScreen( DX_SCREEN_BACK ) ; ClsDrawScreen() ; DrawGraph(0,0,player[3],TRUE); ScreenFlip() ; WaitTimer(500); ClsDrawScreen() ; DrawGraph(0,0,player[4],TRUE); ScreenFlip() ; WaitTimer(500); ClsDrawScreen() ; DrawGraph(0,0,player[5],TRUE); ScreenFlip() ; WaitTimer(500); ClsDrawScreen() ; DrawGraph(0,0,player[6],TRUE); ScreenFlip() ; WaitTimer(500); owari = FALSE; }while(owari == FALSE); これじゃあゲームが終わりません 誰かアニメーションの書き方を教えてください
762 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 17:52:12 ID:PA+3lzr7] ClsDrawScreen(); static int a = 0; DrawGraph(0,0,player[3+a],TRUE); if(a<3)a++; WaitTimer(500); ScreenFlip() ;
763 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 18:01:12 ID:2P10BkIV] ありがとうございます 試してみたんですが、画像が動いてくれません これはwhileの中に入れて使用するんでしょうか?
764 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 18:13:29 ID:c9TXpFDF] コピペするだけじゃなくて、その命令の意味をよく考えてみよう。
765 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 18:16:33 ID:JBJvvpkE] とりあえず龍神録読んで来い
766 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 18:29:11 ID:W0mdJ7eW] それ以前にリファレンスを嫁 あんだけわかりやすいのがあるんだから・・・
767 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 18:31:18 ID:HHPX/Q69] 基本的な考えを理解してないな。 例えば絵が1ドットずつ動くプログラムだとすると 座標0に表示 ↓ 座標1に表示 ↓ 座標2に表示 ↓ 座標3に表示 ↓ : って書くんじゃなくて(これは>761の書き方)、 座標xに表示 ←―┐ ↓ | xを+1する | 繰り返す ↓ | └―――――┘ って書くのを意識するといいよ
768 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 18:35:18 ID:1VFB3DYv] かわいいなw
769 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:00:00 ID:2P10BkIV] double owari; do{ ClsDrawScreen(); static int a = 0; DrawGraph(0,0,player[3+a],TRUE); if(a<3)a++; WaitTimer(500); ScreenFlip() ; owari = FALSE; }while(owari == FALSE); こうやってみました aが0に戻らなくて[6]がずっと表示されてしまいます あと、できればdo{}while();は使いたくないです
770 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:07:41 ID:dC7YcGqj] static intがまずいんじゃなか?
771 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:10:47 ID:PA+3lzr7] >>769 >aが0に戻らなくて[6]がずっと表示されてしまいます わかってんならaを0に戻せよ… whileでもforでも好きなもんを使えよ… >>764-767 無視すんなよ…
772 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:13:09 ID:CfyGLtto] まずはC言語勉強してこい
773 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:23:57 ID:2P10BkIV] >>771 すいませんでした if(a>3)a=0;を追加したんですが止まってしまいます >>764 考えて>>769 をつくってみました! >>765 そのサイト、アニメーションについて載ってなくて… >>766 homepage2.nifty.com/natupaji/DxLib/dxfunc.html このページでしょうか? 何回か読んだのですがアニメーションについて載ってなかったです… >>767 座標を動かさないようにするんですか? >>768 ありがとうございます >>770 消してみたんですが、動きすらしなくなりました
774 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:32:13 ID:JBJvvpkE] アニメーションでなく根本的な所から理解出来てない 龍神録一通りやってゲームプログラミングの基礎を学べ
775 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:36:09 ID:2P10BkIV] すいませんでした まだ自分はなにも理解していないみたいなので もう一度最初から学び直してきます みなさんありがとうございました
776 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:36:15 ID:PA+3lzr7] >>773 もうDXライブラリ以前の問題だからVIPで聞け yutori7.2ch.net/test/read.cgi/news4vip/1264908880/
777 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:36:48 ID:GeAXL5Qw] a=3になってるから
778 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:37:45 ID:Di+guFUQ] >>770 >>772 >>773 if(a<3)a++; if(a>3)a=0; こうしたんなら a=3 の場合はどっちも掛からないから a=3 のまま止まるわなあ
779 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:43:39 ID:2P10BkIV] >>777 >>778 if(a>=3)A=0; にしたらきちんと動いてくれました! でも学び直してきます ありがとうございました >>776 ありがとうございます 次からはそこで質問しますね
780 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:44:26 ID:2P10BkIV] うそです Aじゃなくてaです
781 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 20:01:10 ID:uYVfFOYk] このライブラリって64bit windowsでも 問題なく動くの?
782 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 20:09:34 ID:CfyGLtto] 動かないんじゃね? ライブラリをDLLにすれば動くかも
783 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 20:09:49 ID:0ATLaas4] なんで?
784 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 22:57:51 ID:W0mdJ7eW] 普通に動くよw ネイティブでって意味ならたぶん動かないけど、そういう事じゃないだろ?
785 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 23:29:30 ID:CfyGLtto] ゲームが実行出来るかじゃなくて 正常にビルド出来るかって意味かと思った つーかそれだとDLLでも動かないねすまん
786 名前:名前は開発中のものです。 mailto:sage [2010/02/01(月) 00:07:00 ID:2kqPhNjN] ビルドもVSとか使ってるなら通るはずだよ 俺この間までWin7の64bitと、XPの32bitで出先<->家での開発してたし
787 名前:名前は開発中のものです。 mailto:sage [2010/02/01(月) 01:01:10 ID:YQ/gjtQh] 本体のビット数とDLLのビット数が違うとダメだけどね。 DXライブラリでもゲーム制作の話でもないけど この間それで問題が起きてね……w
788 名前:名前は開発中のものです。 mailto:sage [2010/02/01(月) 16:57:45 ID:Lf2Nvhz5] なんで?
789 名前:名前は開発中のものです。 mailto:sage [2010/02/01(月) 17:45:18 ID:ooYrGYNe] なんだっていいさ
790 名前:名前は開発中のものです。 mailto:sage [2010/02/01(月) 18:32:39 ID:864q13BL] long doubleとか使って試せば 787かいいたいことがわかるとおもう たぶん
791 名前:名前は開発中のものです。 mailto:sage [2010/02/01(月) 18:36:19 ID:PxBHY40/] いや、32bitアプリからは64bitDLLは使えないし 64bitアプリからは32bitDLLは使えない。 だから通常、DLLまで用意する場合じゃ無けりゃ32bitで作ればいいんだけど .NET FrameworkでAny CPUで作った場合はまることがある。 DLLはネイティブで32bit固定なのに、EXEは実行環境によって32/64変わるから 開発時の環境が32bitだと気がつかない。 ということじゃないかなあ。
792 名前:名前は開発中のものです。 mailto:sage [2010/02/01(月) 18:52:33 ID:Lf2Nvhz5] それで?
793 名前:名前は開発中のものです。 mailto:sage [2010/02/01(月) 18:58:44 ID:xufADCF/] ググレカス
794 名前:名前は開発中のものです。 mailto:sage [2010/02/02(火) 13:39:47 ID:EWwGB+Nl] libを32bitで作って64bitマシンでコンパイルしたオブジェクトとリンクしても問題ないの?
795 名前:名前は開発中のものです。 mailto:sage [2010/02/02(火) 13:53:12 ID:ZXzo3Aq8] なんで?
796 名前:名前は開発中のものです。 mailto:sage [2010/02/02(火) 13:54:59 ID:6T1hs+2r] ビルド時のターゲットはビルド環境とは関係ない
797 名前:名前は開発中のものです。 mailto:sage [2010/02/02(火) 18:27:35 ID:NU2kONNz] 「64bitマシンでビルドする」というのと、「64bit用アプリとしてビルドする」というのは別物ってことよね。 コンパイラが対応しているかどうかは別として。(比較的最近のVisualStudioなら問題なし) もちろん、32bitでも同様。 で、開発マシンが32/64問わず、 64bit用としてビルドしたアプリ本体 + 32bit用としてビルドしたDLL → 動かない 32bit用としてビルドしたアプリ本体 + 32bit用としてビルドしたDLL → たぶん動く であると。
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 ( ゚д゚)ポカーン
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()とアフィン変換 アフィン変換 クラスでググるといいかもしれない
910 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 22:33:22 ID:7n/4grgh] 逆に文字列の長さよりもStrLenの方が短い場合とかに使うんじゃね? デバッグ文表示で最後まで表示しないで途中で切ることとかよくあるんじゃね?
911 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 23:25:40 ID:b96KcuEj] アフィン変換か・・・左右反転と拡大縮小って同時にできるもんなんだな、しらなかった でもこれってソースになる元画像を読んでからやるの?格納してからメモリ上の画像をハンドルで指定して操作したりできるんだろうか
912 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 23:50:46 ID:QXMNjoNk] あ、左右反転もなのか DrawModiBillboard3Dのがいいと思う
913 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 00:19:59 ID:BMwZx7QF] >>912 いや自分は873ではないんだけれども、参考になったので書かせてもらった。横槍すまんね DrawModiBillboard3Dって左右反転できるのか。x1を右上の座標、x2を左上の座標、x3とx4も同様に交換ってやれば反転するのかな?
914 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 02:18:28 ID:V7zWpnOB] ゲームで銃の連射中の音を作りたい 例えば 「ドッギュウン」て音声のファイルがあったとする。 そのファイルを使って単発発射で「ドッギュウン」、連射で「ドッドッドッドッドッギュウン」ってなカンジにしたいんだけど 音声の再生中かを CheckSoundMemで調べて、再生してなかったら再生してもヨシってすると案の定 「ドッギュウン・ドッギュウン・ドッギュウン・ドッギュウン」ってカンジになってしまう。 なので、ソレをナシにすると1ループごとに再生するんであまりにも早くて 「ドドドドドドドドドドッギュウン」ってカンジになる。 音声の再生位置を調べて、ある程度達してたら再生ってやろうと思ったけどそんな関数は無かった。 だから適当に変数用意して3ループ目ごとに再生ってカンジにしようとしているんだけど…(ゴチャゴチャする気もするが) 一般的なゲームの場合ってこういう時どうしてるの? 音声を二つ「ドッドッドッド」「ドッギュウン」用意して、ボタン押しっぱなし時は「ドッドッド」、離す・もしくは一押しの時は「ドッギュウン」とか?
915 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 02:32:31 ID:ccv1Zplj] ボタン押してる間「ドッ」をループ 離したら「ッギュウン」でいいんじゃねーの?
916 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 05:47:58 ID:9a0E55gk] そんなめんどくさいことしなくても 弾の発射間隔を広げるか、数発ごとに発射音を鳴らすようにすればいいじゃん
917 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 06:26:15 ID:CMLdNZJw] 弾を撃つと開始されるカウンタを作って そのカウンタが条件を満たしたとき音を鳴らせばいいんじゃないの? 1ループごとだと早すぎるんなら1おきにするとかもできる。
918 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 08:34:48 ID:MHINozGj] >>912 自前で変形させるなら、2Dでも3D(ビルボード)でも大差なくない?
919 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 13:16:50 ID:WoQHqNki] >一般的なゲームの場合ってこういう時どうしてるの? FFのデータ見たら、あらかじめ重なった時の効果音も 組み合わせごとにいっぱい入ってて、意外だった とかいう話を、どこかのスレで見たような、見なかったような。 手間と配布方式とかによって変わってきそう。
920 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 19:53:18 ID:b05sIrPr] >>918 カメラ使って視点操作で楽できるからじゃね?
921 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 21:17:38 ID:MHINozGj] ああ、なるほど。 カメラで視点操作ってことは、一括だよな。 メリットでもあるしデメリットでもあるという感じか。
922 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 22:06:32 ID:BMwZx7QF] DrawModiBillboard3Dって描画位置が変にならない? 前にDrawBillboard3DをDrawModiBillboard3Dにそのまま置き換えてみたら同じ位置に描画されなかったから使うのやめちゃったんだけど
923 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 22:17:31 ID:V7zWpnOB] >>915-917 多彩な案サンクス!やってみるよ俺
924 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 02:17:33 ID:artpUogb] アフィン変換ってのとDrawModiGraphでよくね? DrawModiGraphで左右反転は入れ替えで普通にできたよ。 アフィン変換の使いやすそうなクラス公開してたりするし、よくわからんまま使えそうだ。
925 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 16:24:17 ID:wXmsheL/] スクリーンではなくバッファに描画するにはどうすればいいのでしょうか? 例えば、画像描画や文字列描画を組み合わせて描画する物である「メニューウインドウ」をバッファに描画して、 それを透過やら拡大縮小してスクリーンに描画したいです。
926 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 16:47:24 ID:S5tbEoCa] >>925 hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1533 これでどう?
927 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 17:21:51 ID:wXmsheL/] >>926 まさに求めていたものはこれです。 ありがとうございました。
928 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 18:10:44 ID:UX2j7dSO] dxlibで書き込める画像って作れるのか・・・ レイヤーシステムどうやって作るのか悩んでたところだよ
929 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 18:19:30 ID:sI5JnKeC] BaseImageでもやろうと思えば出来るんじゃない? SoftImageにも転送付いてたような
930 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 18:37:31 ID:UX2j7dSO] SoftImageは変形とかブレンドを自前でやんないといけなくて面倒だった気がする
931 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 18:41:04 ID:yr41/JmB] >>897 の右側の魔法陣みたいな斜めにして回転、みたいな変換・表示するのにはどうすればいいかわからない・・・。 というか、アフィン変換した画像というか、DXライブラリでどうアフィン変換利用すれば良いかわからないんだけど、 誰か分かる人頼む・・・。
932 名前:873=897 mailto:sage [2010/02/18(木) 19:07:00 ID:7/BIGMNa] 結局アフィン変換がよくわからずに、三角関数で画像を変形させた俺。 おかしいな、大学は理系だったはずなんだけどなー。 行列なんて普通に使ってたはずなのに…… orz
933 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 19:28:11 ID:wsPY0Q5n] >>931 斜めにして回転って2Dでやるほうが難しいんじゃないかな。 DrawModiBillboard3Dってカメラ関数使って斜めから見れるん? >>897 の魔方陣のように傾けて見れるならなんとかなりそうだけど。
934 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 19:30:18 ID:sI5JnKeC] いわゆる「習う」数学は公式を持ってきた後に「解く」からいけない。そこが重要だと思ってしまう 解くのは別にコンピュータがやればいい。大切なのは解き方
935 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 19:40:26 ID:UX2j7dSO] ひょっとして3Dつかって2Dゲーム作る方が楽なのかな 最近はそういうゲームも結構あるよね
936 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 19:43:40 ID:cSNnQmS/] DXライブラリ使ってるならまさにその方式を使ってることになるけど
937 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 20:41:03 ID:S5tbEoCa] >>931 つまり、画像を2回回転させて描画したいっていうことだよね? DrawModiBillboard3D関数の引数x1, y1〜x4, y4に各頂点を2回回転させた座標を指定すればいけると思う。 ビルボードじゃなくてモデルとして扱った方が簡単なような気もするけど・・・
938 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 20:49:00 ID:7/BIGMNa] >>937 自分みたいに3Dサッパリな人間には、モデルデータを用意するだけでハードルが高いからなあ。 そうなると、従来の画像で扱えるビルボードの方が良さそう。 あとは動的に画像を生成するような場合(スクリーンショットとか)にも向いているかもしれない。 モデルデータを使わずにやるなら、素直に2Dでも良いわけだが。
939 名前:937 mailto:sage [2010/02/18(木) 20:57:50 ID:S5tbEoCa] すみません、>>937 に書いた方法はウソでしたorz.. 引数x1, y1〜x4, y4は2次元の変形しか指定できないし、DrawBillboard3D関数にはある引数Angleも無いので3次元の回転は無理そうです・・・ モデルにすればMV1SetMatrix関数で自由に変形できるんだけど・・・ >>931 の作ってるゲームは2Dなの? それなら斜めに傾いている画像を使って下さいw
940 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 21:04:10 ID:UX2j7dSO] 2Dだとやっぱり事前に描いて置いておくのが一番なのかな
941 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 21:07:33 ID:cSNnQmS/] >>897 みたいな効果を多用するならともかく 一部でしか使わないならそのために複雑な仕組み作りたくないでしょ
942 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 21:07:35 ID:7/BIGMNa] 2Dゲームなら、それこそ>937の方法で良いような気がするけどなー。
943 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 21:43:03 ID:6a8jaVSb] 俺もblederで即死したけど メタセコなら普通に使えた
944 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 22:34:17 ID:7/BIGMNa] 少ない脳みそ絞って書いてみた。 3Dとかアフィン変換とかサッパリなので2Dで。 gamdev4.hp.infoseek.co.jp/cgi-bin/up/No_0080zip.html
945 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 23:17:57 ID:yr41/JmB] >>944 マジ感謝・・・なんだが、サンプルコードなくて使い方を迷う
946 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 23:44:29 ID:7/BIGMNa] すまん、付け忘れた extRate_xとextRate_yに1、hImgにグラフィックハンドル、残りの引数には0でも入れてくれれば とりあえず動くと思う。
947 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 00:27:45 ID:u7/N0T5p] 俺がいつも使ってる拡張画像表示はこれ void DrawExRotaGraphF(float ex, float ey, float xScale, float yScale, float Angle, int GrHandle, int TransFlag, int TurnFlag) { int gx,gy; float ix,iy,ca=cos(Angle),sa=sin(Angle); GetGraphSize(GrHandle,&gx,&gy); gx*=xScale/2; gy*=yScale/2; VECTOR2D pos[4] = { { -gx, -gy}, { +gx, -gy}, { +gx, +gy}, { -gx, +gy} }; for (int i=0;i<4;i++) { ix = pos[i].x*ca - pos[i].y*sa; iy = pos[i].x*sa + pos[i].y*ca; pos[i].x=ix+ex; pos[i].y=iy+ey; } if (!TurnFlag) DrawModiGraph((int)pos[0].x, (int)pos[0].y, (int)pos[1].x, (int)pos[1].y, (int)pos[2].x, (int)pos[2].y, (int)pos[3].x, (int)pos[3].y, GrHandle, TransFlag); else DrawModiGraph((int)pos[1].x, (int)pos[1].y, (int)pos[0].x, (int)pos[0].y, (int)pos[3].x, (int)pos[3].y, (int)pos[2].x, (int)pos[2].y, GrHandle, TransFlag); } ていうかこのくらいDXライブラリも用意して欲しいところだが
948 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 00:28:54 ID:u7/N0T5p] あ、VECTOR2Dはオリジナルだった /* 2D用行列 */ typedef struct VECTOR2D { float x,y; } VECTOR2D; まあ使わなくても二次元配列なりで出来るけどね
949 名前:944 mailto:sage [2010/02/19(金) 00:43:49 ID:zmDX76mU] 2Dの描画関数群を見てると、Zバッファ版なるものがあるんだけれど これって何か上手く使えないかな。 公式BBSだと、マスク処理に使うって話があったけれど… >>947 やってることは自分と同じ…かな? たぶん。 そっちの方がシンプルなコードだがw
950 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 01:11:24 ID:u7/N0T5p] >>949 同じだね 縮小拡大前に回転するかしないかってのは入れる値を変えれば出来るし、縦の反転は180度回転させた後に左右反転すれば再現可能 自分はこれをよく使うので最低限のものだけを入れて、必要に応じてラッパー関数を使えばいい(まあこれ自体もmodiのラッパーだけど)
951 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 01:32:26 ID:zmDX76mU] >>950 回転させてから拡大(縦横別倍率)ってどうやるの?
952 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 01:36:21 ID:u7/N0T5p] 拡大率を予めsincosにぶち込めばいい 「回転を見越して拡大縮小する」
953 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 02:17:39 ID:zmDX76mU] 先生、その見越し方が分かりません
954 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 10:00:47 ID:vzeC0aMv] つかそういういくつもの変換を同時に適用するために 行列があるんだと思うが・・・行列を使わないなんて無駄に複雑になるだけだよ。
955 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 12:10:45 ID:zmDX76mU] >>954 計算部分を自前でやってるだけで、やってることそのものは変わらない気がする
956 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 13:25:42 ID:zmDX76mU] チラ裏で申し訳ない。 画像処理の入門書を読んでるんだが (1)自前で行列(回転用行列、拡大用行列など)を用意 (2)それらを掛け合わせて、最終的な変形用の行列を作る (3)変形用行列を関数に渡す …みたいな感じだった。 行列をクラスにして、演算子のオーバーロードで簡単に加算や乗算が出来るようにするとか そういう工夫がされているようだ。 あと、公式BBSでこんなの見つけた hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=past&no=1033
957 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 13:34:25 ID:G1VFwFwU] 3D用の関数に行列使えるのがあるよ
958 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 13:37:37 ID:gvWv62bY] 上で話題にでてたアフィン変換だって2次元に特化した行列じゃんか クラス公開されててちょっといじれば簡単に使えるのとかあったぞ 行列うんぬんよりクラスがわからんとか?
959 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 14:02:46 ID:az/+pLVO] 頂点の集合に行列を演算してできた形に描画するのはいいんだが 長方形の画像を自由変形して描画するアルゴリズムはいったいどうやって実装されてるんだろう ピクセル単位で全部写像してたらすごく遅くなりそうだが他に方法も浮かばない
960 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 14:11:57 ID:uvqEn+/2] 専用のハードウェアにやらせてるんだから爆速 アルゴリズムとかいう次元じゃない
961 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 14:17:06 ID:zmDX76mU] >>957 3Dの方はあんまり見てなかったぜ。 これから勉強しないとな…。 >>958 クラスが分からないとかは流石に発想が飛躍しすぎじゃね? >>959 テクニカルな最適化や、誤魔化しとかはやってるかもしれないけど、 基本的なやり方は同じで、あとはハードウェア様による力技なんじゃない?
962 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 03:58:01 ID:qZkPMJuP] LoadGraphを使う関数を繰り返し呼び出してると 例外が出て強制終了することがある 具体的には、 main(){ : : shop->open(); } とメインの関数からクラスのメンバ関数を呼んだとき、 openを十回くらい呼び出すと、openを呼んで最初に出てくるLoadGraphで強制終了する open内で何度もLoadGraphを呼び出しているが、最初のLoadGraph以外で強制終了したことはない 他のまったく別のクラスのメンバ関数でも、二回目に呼び出したときに 最初のLoadGraphで強制終了するので、 openでなくLoadGraphに問題があると思うんだけど そもそもどういう状況でLoadGraphが例外出すか分かりませんか? メモリ使用量を見る限りメモリリークなどはない ちなみに使ってるのはBcc版
963 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 04:03:15 ID:qXzrwIFO] 具体的の意味わかってんのかカス
964 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 07:32:26 ID:Jsc/BFjh] 例外ってどんな例外? メッセージとか無い? 読み込んでる画像はどんな画像? ファイルサイズとかフォーマットとか。 メモリリークかどうかもどんな環境でどれくらいのサイズの画像を読み込んでるのか教えてくれないとこっちでは判断できない もっと詳しく
965 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 09:49:28 ID:RLyfmrNj] 全く具体的じゃないのに具体的には、とはこれいかに。
966 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 09:53:22 ID:KFJm0GRx] 何が例外出すか分かりませんか?だよ どういう状況で例外出すってエラーメッセージに全部書いてあるだろうが
967 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 10:11:36 ID:a8pqqcvy] エスパーしてみるに、 「最初のLoadGraph」に指定してるファイルが、 (1)形式的に未対応のものを指定している (2)指定ファイルの内部フォーマットがおかしい のどれかなんじゃないのかな? 「最初のLoadGraph」以外は成功してるって話だし。
968 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 15:35:20 ID:etAIwZMZ] DX_ライブラリ使っていたら いつもなら「ch.」(chは構造体)で設定したパロメータが表示されたのに 今日使ってたら表示されなくなった。これってどこの設定変えれば元に戻るの?
969 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 16:19:36 ID:AEul0BlH] インテリセンスはよくぶっ壊れる
970 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 16:56:28 ID:OQn9U246] たまにJavaやるとEclipseの入力支援の賢さに感動する。
971 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 17:28:51 ID:ROg57qmn] いや普通にVS2008の方が賢いだろ C++はダメダメだが
972 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 20:46:20 ID:LFTpl00q] >IntelliSense 最近のは分からないけど、ちょっと変なことやると対応しなくなるしなあ。
973 名前:962 mailto:sage [2010/02/24(水) 20:46:27 ID:qZkPMJuP] Bccのデバッガは見方がよく分からなかったのでVC++で原因を調べてみた 移植にかなり手間取ったけど、原因はnew,deleteでの HEAP CORRUPTION DELETEDだった ごめんよ、DXライブラリ
974 名前:名前は開発中のものです。 [2010/02/25(木) 00:10:24 ID:wGlYMdYr] VS2008EEC#でDXLib使ってるけど、ゲーム開発はなんでC++が多いいのか・・・? C#使いやすいと思うんだが・・・
975 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 00:27:31 ID:JfnFuENI] C#とC++と、どっちも知らない人間(俺みたいな)が始めようとしたら そりゃデフォルトで解説されてるC++使うよ。
976 名前:名前は開発中のものです。 [2010/02/25(木) 00:40:37 ID:rlWr6nuc] >>974 >>975 素人はメモリ管理で苦労させられる C#はライブラリの導入・セッティングまでも驚くほど簡単だ
977 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 00:43:57 ID:o6l4NITL] むしろメモリ管理を隠蔽化されると不安になる
978 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 00:57:11 ID:xk33jNpg] C#は動作速度どうなんだ? あと.NETないと動かないんだっけ それはどうでもいいが
979 名前:名前は開発中のものです。 [2010/02/25(木) 01:15:00 ID:rlWr6nuc] >>978 今のPCスペック考えると動作速度気にするのは意味無いかな 同人レベルならFFやメタルギアのような実写モーションやるわけではないし HSPよりは圧倒的に速いよ、ニコ動見てもHSP+Easy3Dで3Dアクション作ってる奴がたくさん居る C#もJavaもゲーム製作には十分過ぎる
980 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 01:40:51 ID:DXATdGPP] >>974 >>975 の理由もあるが、 単純に、C言語覚えたから次はorいよいよC++に〜とかって感じじゃない? JAVAとかの経験がなければガベコレとかも知らないだろうし。 メモリ管理とかはまぁゲ製作以外で活かせる人なら勉強にもなるから良いやー、とか。
981 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 02:07:47 ID:hEXp+gEa] C#は解析が簡単なんじゃないの? 改造し放題だと市販のゲームには向かないと思う
982 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 02:29:34 ID:8SXpDUIf] >>974 公式サンプルがC言語で書かれているし、どれか一つ言語を覚えるとしたら自然にC言語になるんじゃないかな。 DXライブラリ自体もC言語で書かれてるしね。 >>981 難読化ツールというものがある。 それにC言語でも解析は可能なので市販する場合は独自に暗号化する必要がある。 特に画像、サウンド、シナリオテキストは見えてしまうとマズいので。
983 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 02:39:17 ID:hEXp+gEa] そりゃデータは暗号化するだろうけど、それは言語とは関係ない話では?
984 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 05:08:59 ID:SPGhDv+7] >>982 ぜってー使ったこと無いだろ>難(ry あのスカスカ具合を見てから言えw データも言語関係ないし
985 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 07:36:27 ID:fv/CwMlZ] C++はWiondows標準のexeファイルを作成でき、そのまま実行できる C#やJAVAはWindows非標準の中間ファイルしか作れず実行環境のインストールをユーザーに説明し、納得させ、実行させなければいけない 余計なソフトのインストールを嫌うユーザーは多い 速度よりも何よりもこの差があるからC#やJAVAは選ばれない
986 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 07:53:11 ID:xyh/cBvs] インストーラーで強制インストールとかまんこい
987 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 08:25:15 ID:JegjOA7A] デフォルトでインストール済()笑
988 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 08:29:09 ID:8SXpDUIf] >>983 どの言語にしても暗号化は必要と言いたかったのだけど・・・ >>984 >あのスカスカ具合を見てから言えw どの難読化ツールを使ったか知らないけど、それでスカスカだと感じたんならしょうがないね・・・ そこまでセキュリティが必要なものを作っている人もいないと思うけどなあ。
989 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 09:03:26 ID:PKMfSc2o] >>981 現状の市販ゲームが改造し放題なのばかりなのに何言ってるんだ。
990 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 09:57:05 ID:8oJeVww7] >>984 無料のやつしか使ったこと無いだろ
991 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 10:40:15 ID:olOvytZe] DXライブラリから話がずれてるぞ。