- 1 名前:名前は開発中のものです。 mailto:sage [2007/12/12(水) 23:06:39 ID:Ns2HwhRB]
- Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、 「DXライブラリ」に関するスレッドです。 DXライブラリの詳細ついては homepage2.nifty.com/natupaji/DxLib/ を参照して頂きたい。 DXライブラリに関するテクニックなどの情報交換などを行う事で、 多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
- 581 名前:名前は開発中のものです。 mailto:sage [2008/08/02(土) 09:44:54 ID:2jU8Dntq]
- DrawModiGraph
- 582 名前:名前は開発中のものです。 mailto:sage [2008/08/02(土) 09:52:10 ID:ejRXzIue]
- 最悪DrawPolygon3Dでどうとでもできるわな
- 583 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 02:27:17 ID:iWpnfRGq]
- >>581
あぁ、こんな使い方も出来たんですね…。知識不足ですみません。 これで何とか考えた通りに出来ました。本当にありがとうございます。
- 584 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 11:03:48 ID:KmvncGNt]
- DXライブラリ、サンプルプログラムのスクロール基本なんですが
ttp://homepage2.nifty.com/natupaji/DxLib/dxprogram.html#N4 手計算だとどうしても描画用マップチップの配列(座標)が0,0からスタートしてくれません プログラムは当然ちゃんと想定どおり動いてるのですが、 プレイヤーの初期位置Xが2、Yが2状態で計算すると DrawMapChipNumX は 11 DrawMapChipNumY は 8 MapDrawPointX は -3 MapDrawPointY は -2 となり、マップの描画を決めるループを手繰っていくと、i が3以上、j が4以上にならないと条件を満たさず、 その条件で計算すると、MapData[ i + MapDrawPointY ][ j + MapDrawPointX ] は[1][1]が代入されると思うのですが・・・ こちらの計算違いではあるのですが、どこがおかしいのか分からないので間違ってるところを教えてください
- 585 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 12:08:48 ID:S+BsW+Rs]
- if( j + MapDrawPointX < 0 || i + MapDrawPointY < 0 ) continue; // 描画しない
if( MapData[ i + MapDrawPointY ][ j + MapDrawPointX ] == 0 ) DrawBox(); ↓ if( a < 0 || b < 0 ) continue; // 描画しない if( MapData[ b ][ a ] == 0 ) DrawBox(); どうみても最初の描画は MapData[ 0 ][ 0 ] ですね
- 586 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 13:09:28 ID:KmvncGNt]
- 回答ありがとうございます、しかし、頭がこんがらがってきました
if( a < 0 || b < 0 ) continue; // 描画しない これって人間の言葉にすると「aがゼロより小さい、または、bがゼロより小さいときは描画しない」ですよね? ということは、ループの中で a=0 b=0 が与えられたとする条件を満たしてないと思うのですが・・・ 自分が間違ってそうな箇所はわかりました、、どうやら論理演算子と関係演算子をもう一度勉強しないとだめみたいですね
- 587 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 13:22:36 ID:s3YJPvG5]
- >ループの中で a=0 b=0 が与えられたとする条件
意味が良くわからないんだが、 どこで与えられた 何のための条件?
- 588 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 13:46:05 ID:rlVyTzUB]
- >>213
ありがとうございます 大体解りました
- 589 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 13:48:13 ID:KmvncGNt]
- >>587
× (a=0 b=0)が与えられたとする条件 ○ (a=0 b=0)が与えられたとしても、条件(を満たしていない) ですね、編集してるうちに変な文章になってしまってました、すみません どこで与えられた、というのは多重ループの中で i + MapDrawPointY //*1 j + MapDrawPointX //*2 を計算した結果だと思っていただければ・・・最終的に欲しい答えが MapData[ 0 ][ 0 ] ですから、一行前のエリア外を描画しないための制御文、 if( j + MapDrawPointX < 0 || i + MapDrawPointY < 0 ) continue; // 描画しない のところで、*1も*2もいずれも0の状態で条件分岐を通過してくれないといけないわけですが、 そこのところが自分の理解では「通過しないはず」なので困っていました
- 590 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 14:32:28 ID:S+BsW+Rs]
- if (a < 0 || b < 0) continue;
↓ if (0 < 0 || 0 < 0) continue; ↓ if (false || false) continue; ↓ if (false) continue; // continueは実行されますか?されませんか?
- 591 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 14:41:23 ID:KmvncGNt]
- >>590
解りやすい解説ありがとうございます、 自分の誤解が招いた疑問が氷解しました・・・
- 592 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 15:10:05 ID:Q1RwoYf2]
- 敵を少しでも多く表示しようとするとカクカクになるw
- 593 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 15:24:02 ID:0ZCECk8O]
- >>592
解像度(スクリーンの大きさ)を1/4(縦、横ともに半分)にするのです。 それだけで、貴方のアプリケーションの速度は劇的に改善するでしょう。 と言ってみるテスト。 毎回ファイル読み込みとかしてないか注意。
- 594 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 15:33:45 ID:s3YJPvG5]
- >>592
このスレの>>478あたりから読み直してみるといい。
- 595 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 22:37:42 ID:Q1RwoYf2]
- >>594
悪い、同人物だ。 今度こそはメモリから読み込んでいるのにカクカクだぜ
- 596 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 22:45:50 ID:+Yq3eKTl]
- メモリから読み込む、ってのがループ内だと意味ないんだぜ?
つーかソースどころか状況もわからんのに答えられるわけなかろう。 あてずっぽうのアドバイスが欲しいのか? あてずっぽう考えるのだって大変なんだぜ?
- 597 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 22:47:35 ID:xylQeBNi]
- 処理ごとの速度を計測すれば、どこに時間食ってるかわかるし、
解決策も自ずと見えてくる
- 598 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 00:33:29 ID:0yRulxuI]
- >>596
あーもしかしたらそうなってるかも。 大まかなソース↓ (enemy_move) typedef struct{ int enx; //敵 x座標 int eny; //敵 y座標 int flag; //フラグ int counter; //カウンター } ENEMY; ENEMY move01 = {100,1,0}; (略) void enemy_move_02(){ //x100から左寄りのsin波移動 move02.enx+=sin(PI*move02.eny/80)*5; move02.eny+=1.5f; enemy_img = LoadGraph("date/img/enemy.bmp"); DrawGraph( move02.enx , move02.eny , enemy_img , TRUE ) ; DeleteGraph( enemy_img ) ; } ↑こんな感じのコードをexternでmain.cppの方で動かしてる、main.cppではwhileでこれらをループしてて、エスケープを押すとブレイクするようになってる。 竜神録のサイトを参考にして丸写しじゃツマランから自分で考えて作ってるんだけど、難しいな。
- 599 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 00:38:34 ID:7CBzeKTD]
- それだと動かすたびに読み込んで削除してを一々やってる
ゲームループの前に1回だけ読み込んで不要になったら削除
- 600 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 00:49:06 ID:0yRulxuI]
- >>599
となると、while文が入る前にexternなりなんなりで読み込みだけを済ませるほうが良いって事? というか全部の使う素材は全部ゲームループする前にメモリに読み込ませた方が良いって事だよね? それだと俺大幅な修正が必要になりそうw
- 601 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 01:02:17 ID:SorplbiK]
- >>600
やりたくないんならやらなければ良いよ。学校の授業じゃないんだから。 多分分かってるんだろうけど>>599の言ってる事(内容)は適宜だよ。 修正が必要なら修正するだけだろ 戦わなきゃ現実と
- 602 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 01:10:24 ID:Vp8LYTR0]
- >>600
外部ファイルの関数を使うときは、普通はexternを使わないで、プロトタイプ宣言を使うらしいよ。 あと、enemy_imgをNULLで初期化されてるなら、 if ( enemy_img == NULL ) { enemy_img = LoadGraph("date/img/enemy.bmp"; } という怪しげな応急処置で済ますことも可能。
- 603 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 03:17:57 ID:2eoeRGcN]
- >>598
龍神録プログラミングの館見て解らない事あるんなら、 そこの掲示板で聞けば ttp://l.huu.cc/board/ 館の質問に限らず何にでも答えてくれるし
- 604 名前:名前は開発中のものです。 mailto:sage [2008/08/05(火) 16:26:30 ID:oHDI2BWt]
- 320x240ドットのゲームの画面出力を640x480のサイズのウィンドウに表示したいのですが、
それをDXライブラリでやる一般的な方法ってありますか? って質問を書いてたらちょうどマニュアルで int SetWindowSizeExtendRate( double ExRate ) ; を見つけられました。 本当にありがとうございました。
- 605 名前:名前は開発中のものです。 mailto:sage [2008/08/05(火) 19:38:02 ID:EpXD5UKo]
- 縦横比をどうにかできる方法があれば凄いんだけどね・・・。
4:3モニタの時代は終わったのかな。 最近ワイドモニタ多すぎ。特にノート。 テストしてもらった知り合いのPCが殆どワイドだったのに驚愕した。
- 606 名前:名前は開発中のものです。 mailto:sage [2008/08/05(火) 20:28:53 ID:CKp+IHYO]
- 歩留まりがいいらしいからね
- 607 名前:名前は開発中のものです。 mailto:sage [2008/08/05(火) 20:57:36 ID:31D+/5a6]
- 横シューを作れという事じゃなかったのか。
- 608 名前:名前は開発中のものです。 mailto:sage [2008/08/05(火) 21:12:24 ID:YYddeISL]
- >>604の方法で拡大すると320*240非対応のディスプレイでフルスクリーン化出来ないし
うちの環境だとアンチエイリアスがかかって見難くなるんで @320*240のサイズで描画 A空のグラフィックハンドルに@を取得 B640*480に拡大して貼り付け ってやってるんだがCPU使用率が跳ね上がる おとなしくSetWindowSizeExtendRateで拡大したほうが良いんだろうか
- 609 名前:名前は開発中のものです。 mailto:sage [2008/08/05(火) 22:32:25 ID:vtCV6T3y]
- 横シューよりドラゴンバスターみたいなアクションがやりたい
- 610 名前:名前は開発中のものです。 mailto:sage [2008/08/06(水) 00:20:08 ID:+mP1DFYH]
- >>608
hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=583
- 611 名前:名前は開発中のものです。 mailto:sage [2008/08/06(水) 20:46:19 ID:e8apu092]
- >>610
かなり改善されたわ dクス
- 612 名前:名前は開発中のものです。 mailto:sage [2008/08/07(木) 21:27:43 ID:BMBqvRRu]
- マップチップ画像を分割で読み込んだ後、それを複数枚横に並べた画像を“描画せず”に1枚の画像としてメモリに格納するにはどうすればいいのでしょうか?
具体的には、たとえばこんな5×3のマップがあるとします(0=山、1=川とする) 0,1,1,1,0 1,1,1,1,1 0,0,0,0,0 この1列目の0,1,1,1,0を描画した結果の絵、つまり「山川川川山」という画像をGHandle[1]に格納(描画せずに)させたいんです。 もしマップチップ1枚の画像サイズが縦横32*32だとすれば、160*32の画像を1枚作ることになります。
- 613 名前:名前は開発中のものです。 mailto:sage [2008/08/07(木) 21:49:24 ID:qrl05lIa]
- >>612
MakeGraph使うんじゃないの?
- 614 名前:名前は開発中のものです。 mailto:sage [2008/08/07(木) 21:51:26 ID:IbgkXEDA]
- 裏画面に描画して、ってやり方じゃダメかな。
何の意味があるのか知らないけど。
- 615 名前:名前は開発中のものです。 [2008/08/07(木) 21:52:01 ID:O800tzRD]
- 普通にLoadGraphでいいじゃん
- 616 名前:名前は開発中のものです。 mailto:sage [2008/08/07(木) 22:09:30 ID:BMBqvRRu]
- やりたいことは・・・ロードランナーでいうと、完全なサイドビューではなく、レンガの上面(キャラクターが乗って触れてる面)も見えるようなビューにして奥行きを出したいんです。
上面を描くのに、まず完全サイドビュー視点のマップ画像を一列分つくって、それを台形のように変形させて(高さも潰して)対応させようかと思いました。
- 617 名前:名前は開発中のものです。 mailto:sage [2008/08/07(木) 22:16:01 ID:BMBqvRRu]
- 普通はレンガの上面はみえないけど・・・
www7.ocn.ne.jp/~bacube/oldgame01/load2_3.gif レンガの上面も見えるようなビューにして奥行きを出したい www7.ocn.ne.jp/~bacube/oldgame01/load2_2.gif 斜め画像を用意しておくのも手ですが、それをせずに済ませたいんです。
- 618 名前:名前は開発中のものです。 mailto:sage [2008/08/07(木) 22:16:51 ID:sPTbyZsz]
- 3D
- 619 名前:名前は開発中のものです。 mailto:sage [2008/08/07(木) 22:24:23 ID:BMBqvRRu]
- あ、上面だけでなくサイドの面も描く必要があるか。
自分の方法だと面倒だな・・・ >>618 たしかに3Dのほうが楽かもしれないですね。 こっちにしようかな 無駄な質問をしてしまったようでみなさん申し訳ないです。
- 620 名前:名前は開発中のものです。 mailto:sage [2008/08/07(木) 22:47:55 ID:qrl05lIa]
- >>612
MakeGraphで作ったグラフィックをSetDrawScreenで指定して書き込めば良いのではないかと思ったけれど、 「3D機能をOFFにしなければいけない」とか「ロックしないといけない」っていうのがあって、めんどくさいな。
- 621 名前:名前は開発中のものです。 mailto:sage [2008/08/08(金) 00:18:40 ID:k2u31CRe]
- 普通にドット絵を描けばいい気がする。
- 622 名前:名前は開発中のものです。 mailto:sage [2008/08/09(土) 21:19:32 ID:5H+GkDR5]
- 画面に描画した内容をまっさらに直したいというだけなら、
ClearDrawScreen()の代わりにDrawBox()などを使用しても問題ありませんか? また、問題ないのでしたら、このふたつは処理速度上、どちらが有利でしょうか?
- 623 名前:名前は開発中のものです。 mailto:sage [2008/08/09(土) 21:38:06 ID:AID2npSx]
- 自分で試せば済む事でしょう。
- 624 名前:名前は開発中のものです。 mailto:sage [2008/08/09(土) 21:44:53 ID:5H+GkDR5]
- >623
動作は確認したのですが、ClearDrawScreen()には、何か目に見える動作意外にも、 役割があるのではと思いまして…
- 625 名前:名前は開発中のものです。 mailto:sage [2008/08/12(火) 00:53:34 ID:F3VDNdY9]
- SetDrawBlendModeの
DX_BLENDMODE_INVSRC が使えないんだけど 俺だけかな・・・ バージョンふるいのかなあ
- 626 名前:名前は開発中のものです。 mailto:sage [2008/08/12(火) 15:36:18 ID:mn/79eK/]
- >>625
使えないって定義がされて無いといわれるんでしょうか? もしそれならヘッダファイルのDX_BLENDMODE_....に あたる部分を探してみては?
- 627 名前:名前は開発中のものです。 mailto:sage [2008/08/12(火) 22:39:16 ID:yxG5mAbd]
- C#でDXライブラリを使っているのですが、画像や音楽の保存場所がわからなく困っています。
初歩的な質問と存じますが、アドバイスをお願いします。 開発環境 Visual C# 2008 Express Edition
- 628 名前:名前は開発中のものです。 mailto:sage [2008/08/12(火) 23:02:09 ID:kcKrfT4b]
- カレントディレクトリに置いたらいいよ。
- 629 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 08:48:19 ID:yFX3V9Dg]
- C#でも使えるのか
すごいなぁ 業務アプリや科学計算ばっかりでゲームとか作ったことないけど 俺もパズルゲーム作ってみようかな
- 630 名前:627 mailto:sage [2008/08/13(水) 11:08:10 ID:7NjPpTlV]
- 教えていただき、ありがとうございます。
カレントディレクトリって、作業中のフォルダですよね? C#の場合ですと、[WindowsFormsApplication1]フォルダでいいのでしょうか? 何度も申し訳ありませんが、よろしくお願いします。
- 631 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 11:22:56 ID:FyPLvjSN]
- C#がどんなのか知らないけどな。
カレントディレクトリってのが作業中のフォルダって認識は合ってる。 ただ「なんの作業中か」を誤解している可能性がある。 例えば、貴方がゲームを作って、そのプログラムが「game.exe」というファイル名で作成されたとしよう。 当然、そのゲームをするにはその「game.exe」を実行するわけだが、 その時、まさにその「game.exe」のあるフォルダが「作業中のフォルダ」になるわけだ。 要するに「カレントディレクトリに置いたらいいよ」ってのは 「実行ファイルと同じとこに置いとけ」という意味だ。
- 632 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 11:42:08 ID:ZEZwt305]
- いやー、その説明はどうかと。
- 633 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 11:42:13 ID:BbNVLc2o]
- ショートカット経由で起動した場合はショートカットの場所がカレントになるだろ
- 634 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 12:10:59 ID:ZEZwt305]
- まあとにかく、リソースの類はファイル埋め込むかEXEの場所に。
カレントをあてにせず、EXEの場所を調べてアクセスするのがいいかな。 書き込む場合はEXEの場所じゃないほうがいい。
- 635 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 12:21:47 ID:yFX3V9Dg]
- カレントディレクトリは、OpenFileDialogを使ったりすると
読み込み先のフォルダに変わったりするから注意した方がいいと思うぞ それが原因で詰まったこともあるから
- 636 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 17:09:46 ID:RJ+2pmNA]
- 適当にカレントディレクトリに置けばいいとか言った。反省はしている。
相対パスでアクセスしたいってことだよね? それとも絶対パスでも画像とかが動かないの? 後者だとお手上げ。 前者なら、多分bin/Debugフォルダが作られてるから、そこに置けばいいよ。
- 637 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 17:31:59 ID:yFX3V9Dg]
- DXライブラリゲームプログラム開発講座を全部読んでみたけど、
すごーーーーーーーく初心者向けの解説だなw まぁこれで十分なのかも知れないけど、 もう少し詳しい中級者レベルのはないのかな
- 638 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 17:40:55 ID:gDnH2Ick]
- 中級者なら自分で考えるか、他の方法知ってる前提なんだろ
- 639 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 18:56:43 ID:R5DuEQYn]
- >>637
DXライブラリについて勉強したいならココダロー l.huu.cc/g/ 龍神録プログラミングの館まで全部理解出来れば相当使いこなせるようになるかと
- 640 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 19:00:40 ID:yFX3V9Dg]
- >>639
おおありがとう こっちはもう少し実践的だね
- 641 名前:627 mailto:sage [2008/08/13(水) 20:13:52 ID:7NjPpTlV]
- 皆さん、教えていただいてありがとうございます。
画像をbin/フォルダの下にあるDebugフォルダに入れたのですが、表示されませんでした。 某サイトのソースをコピーしたのですが、記述が間違ってるのでしょうか・・・ -- ソース -- DX.LoadGraphScreen(0, 0, "char.png", DX.TRUE); 申し訳ありませんが、アドバイスをお願いします。
- 642 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 20:18:45 ID:v0IoKL7W]
- LoadGraphScreen(0, 0, "char.png", TRUE);
- 643 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 23:34:45 ID:ZpXLkfXI]
- >>641
それで、問題が解決できる奴がいたとしたら、そいつはエスパーだよ・・・・・ まさか、それでソースが全部なわけないよな。
- 644 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 23:49:59 ID:RJ+2pmNA]
- >>641
確認したいんだけど、画面は真っ黒になってる? なってなかったらそもそもDXライブラリがちゃんと動いてない。 でも一応動いてるみたいだからそれはないかな……。 あとchar.pngを一回絶対パスで指定してみて。
- 645 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 23:50:43 ID:CMyXDagd]
- >>641
表示されないというのが「エラーが出た」なのか、「何も起きない」なのかすら わからないので、無限の可能性が広がります。 1. ファイル名が間違っている 2. 画像に使ってる色が透過色になってる 3. ファイルが存在しない 4. 画像がセーブできてない(セーブに失敗している) 5. パスの指定がうまくいってない 6. そもそもDXライブラリを初期化できていない 7. ウィンドウが出てない 8. 裏画面に書いたままFLIPしてない 9. メモリが足りない 10. コンパイルしてない、あるいはエラーが出ている 11. 実は環境がMac 12. ライブラリをインストールしてない 13. 使用しているディスプレイ、グラボの仕様/設定上表示できない色を使っている 14. 某サイトのソースにバグ 15. (CPUの)速さが足りない
- 646 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 23:52:44 ID:k9pinPn+]
- Releaseフォルダも試してみたら
- 647 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 00:10:37 ID:7xrMXFtW]
- プロジェクトファイルだっけ?←拡張子がdspのやつ
とりあえずあれを含んだサンプルを拾ってきて、動くかどうか試してみる。 動くのを確認してからソースをオリジナルに書き換え、フォルダに画像を置いて動作確認。 というのはどうだろう?
- 648 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 03:20:37 ID:s4dRQS6A]
- 「横スクロールアクション」を作ってる最中なんだが、
同じカーソルキー二度押しでダッシュさせるサンプルコードを探してるが見つからない。 二度押し判定の仕方を教えてほしいの
- 649 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 03:33:41 ID:4cx2dJb5]
- それくらい自分で考えてみようぜ
フラグやカウンタを使えばできる
- 650 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 10:06:19 ID:E3jqMQR0]
- >>641
とりあえず動かしたいんだよな? まず、プロジェクトの全部のフォルダにその画像全部コピーして実行してみろよ。 で、表示されたら1つずつ消して実行してみて、どれ消したら出なくなるか試してみるんだよ。 本当はカレントがどこか調べたり、フルパス指定したりするんだけど最初のためしなんだろうから、 それでやってみ。たぶんDebugの一つ上がカレントじゃないかと思う。
- 651 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 10:08:06 ID:E3jqMQR0]
- ってbinができてるなら2008じゃなくて2005なのかな。
だったら別の場所かもしれん。
- 652 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 12:42:31 ID:E3jqMQR0]
- って、、、、よく見たらC#なのか。
これC#から使うにはちょっとあれだが・・・ bin\Debug に入れたら動いたぞ。 (うちはVista64なんで正確にはbin\x86\Debug)
- 653 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 12:45:51 ID:E3jqMQR0]
- ついでに、全ソース。
using System; using DxLibDLL; namespace WindowsFormsApplication1 { static class Program { [STAThread] static void Main() { DX.ChangeWindowMode(DX.TRUE); DX.DxLib_Init(); DX.LoadGraphScreen(0, 0, "char.png", DX.TRUE); DX.WaitKey(); } } }
- 654 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 16:59:16 ID:E3jqMQR0]
- しかしDXライブラリを初めて使ってみたが、Vistaと相性悪い?
- 655 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 19:47:10 ID:Lwdz3ZLP]
- そもそもVistaだったらDirect3D使うべき
- 656 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 22:28:58 ID:husrYnDZ]
- >>654
そんなことないと思うけど。なんか問題あったか???
- 657 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 23:20:36 ID:E3jqMQR0]
- あー、入門向けの説明してる画像ずらして表示するやつ、キー入力待ちまで何もでないんだよね
まあ通りがかりに質問見つけてためしに動かしてみただけなので、もうちょっと見てみないと何とも言えないけど。 でもこの龍神録の解説はいいね。xnaに移植してみたくなった
- 658 名前:名前は開発中のものです。 mailto:sage [2008/08/15(金) 10:04:50 ID:c3xnj8Q3]
- >>648
14歳〜、のアクションゲームサンプルに 「ジャンプ時にジャンプキーを受け付けないようにする」って解説がある、参考にしてみては?
- 659 名前:627 mailto:sage [2008/08/16(土) 02:31:00 ID:IJByLJ4E]
- ソースを組み直したら表示されました。
単純なミスをしてたみたいでした。お騒がせしました。 画像ファイルはbin/debugに置くことで表示されました。 皆さん、アドバイスありがとうございました。
- 660 名前:名前は開発中のものです。 mailto:sage [2008/08/16(土) 09:26:28 ID:tLttBDTG]
- >648
入力をキューなりリングバッファなりに貯めて コマンド成立判定の結果で状態遷移なりフラグなり変更
- 661 名前:名前は開発中のものです。 mailto:sage [2008/08/16(土) 10:14:52 ID:QpDIrmnH]
- 「カーソルキー二度押し」とはどういう状況の事なのか、を
考えてみれば自ずと答えは出るだろう。
- 662 名前:名前は開発中のものです。 mailto:sage [2008/08/16(土) 23:31:10 ID:7gLPM7hz]
- DXライブラリで、STLって使えない?
クラスの配列を実装するのにコンテナのvectorを使いたいんだけど、 エラーを吐かれる。 >>232-233で、ヘッダに何か書いてある、と書いてあったから DxLib.hをSTLでテキスト検索掛けたけど (STLを半角にしても全角にしても)引っかからない。 本家掲示板過去ログ↓でそれらしき記述を見つけたけど、 ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=past&no=560 #define DX_USE_VISUALC_MEM_DEBUG ってどこにもないんだよね。 DxLib.hの147行目当たりに DX_USE_VISUALC_MEM_DEBUG があったから それを含む数行のコメントアウトを外してみたけど反応は変わらないし。
- 663 名前:名前は開発中のものです。 mailto:sage [2008/08/16(土) 23:42:01 ID:O36Whzxu]
- >>662
オレは何の問題もなく使えてるよ
- 664 名前:名前は開発中のものです。 mailto:sage [2008/08/16(土) 23:54:42 ID:3Mm4zQJB]
- >>662
(出来る範囲で)エラーメッセージを晒せば、詳しい人がトラブルシュートしてくれるかもよ。
- 665 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 01:34:05 ID:ewUKCOWb]
- >>663-664 ありがとう。
>>663 何の問題も無く、とは、DxLib.hをいじったりしないで、ってこと? とりあえず、最低限で組んだソースを晒してみる。 ------ #include "DxLib.h" #include <vector> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){ if(DxLib_Init() == -1){ return -1; } SetDrawScreen(DX_SCREEN_BACK); vector<int> x; x.push_back(1); while(CheckHitKey(KEY_INPUT_ESCAPE)==0 && ProcessMessage()==0){ DrawFormatString(0,0,GetColor(255,255,255),"x[0] = %d",x[0]); ScreenFlip(); } DxLib_End(); return (0); } ------
- 666 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 01:34:45 ID:ewUKCOWb]
- 長くなったので連投失礼。
>>665のソースで吐かれるエラーは、 ------ \main.cpp(10) : error C2065: 'vector' : 定義されていない識別子です。 \main.cpp(10) : error C2062: 型 'int' は不要です。 \main.cpp(11) : error C2065: 'x' : 定義されていない識別子です。 \main.cpp(11) : error C2228: '.push_back' の左側はクラス、構造体、共用体でなければなりません 型は ''unknown-type'' です。 \main.cpp(14) : error C2065: 'x' : 定義されていない識別子です。 ------ 以上。 あ、環境書いてなかった。 VC++2008Ver9.0の、DXライブラリVer 2.24cです。
- 667 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 01:40:34 ID:tqDU34tR]
- >>649,>>658,>>661
とんくす 何となく理解した
- 668 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 04:10:10 ID:mR8Ia0CQ]
- >666
俺そんなに詳しいわけでもないんだけど、 std::vector<int> x; これでどうだろう
- 669 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 07:39:51 ID:GOwvXjh7]
- >>665
答えは>>668が書いてくれてるけど、 問題の切り分けができるようになった方が良いよ。
- 670 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 11:45:33 ID:ewUKCOWb]
- >>668
cinとcout使わないからstdネームスペースを宣言していなかった。 ありがとう。 (っていうか「C++ vector」でググったら最初のページに『vectorはstdという名前空間内にあります。』って書いてあるじゃないか…) >>669 精進します><
- 671 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 12:35:36 ID:vVpxXEty]
- using namespace std;
はいつもしとけば
- 672 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 13:02:21 ID:BAHHLEa/]
- >>671
ヲイヲィ・・・・ 使わないところで、そうやってnamespace使っちゃだめだろ。 なんのために名前空間なんて概念取り入れてると思ってるんだよwww
- 673 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 13:43:37 ID:XHbUdQA2]
- 逆にいつも使わなければ、この手のエラーは最初に食らってて変なとこ探したりしなかっただろうに。
- 674 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 15:29:16 ID:IR1SAisJ]
- std名前空間なんて別にusingしといても問題ねーよ
- 675 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 21:22:08 ID:XHbUdQA2]
- 今回の質問者には問題あったみたいだがw
- 676 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 01:06:47 ID:HNGx9BRt]
- ループ毎に、ClearDrawScreenで画面をきれいにしてから描画していると、
画面の1/3に及ぶ大きなちらつきが出てしまうのですが…解消するには どういった方法がありますか?
- 677 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 02:28:18 ID:H5en/Vi4]
- それは本当にClearDrawScreenのせい?
- 678 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 03:17:38 ID:HNGx9BRt]
- >677
すみませんでした。グラフィックボードの性能不足のようでした。 スレ汚し失礼しました
- 679 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 09:03:29 ID:Ck7KpSlS]
- >>678
本当のグラフィックボードの性能のせい? 裏画面に描画してflipすれば治る類のものかもよ。
- 680 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 14:41:54 ID:HNGx9BRt]
- >679
すみません、SetDrawScreenの位置がおかしいのが原因でした。 ありがとうございました。
- 681 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 15:45:05 ID:Pc0No+Vn]
- 本当のSetDrawScreenの位置のせい?
(ry
- 682 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 20:42:56 ID:H2/ZmzLf]
- お茶吹いたじゃねぇか!
- 683 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 03:18:08 ID:bLtEJeoI]
- 同じプログラムを、
解像度1024*768 32bitcolor,フルスクリーン 解像度1024*768 32bitcolor,ウインドウ の両条件で実行したところ、ウインドウモードではfpsが平均して68以上だったのに対し、 フルスクリーンではせいぜい59.8程度で、60を超えることはありませんでした。 さらにSleep(20)のハンデを課して両条件で実行したところ、処理自体はフルスクリーンモード の方が速いということがわかりました。 フルスクリーン時のfpsが頭打ちになっていたのは、垂直同期というのに関係があるんでしょうか?
- 684 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 04:09:13 ID:rRA8J1RI]
- うん
- 685 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 04:13:55 ID:bLtEJeoI]
- >>684
ありがとうございました!
- 686 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 09:29:37 ID:e8oi3kIG]
- 「画面のプロパティ」の「設定」→「詳細」のあたりにリフレッシュレートの設定があると思う。
おそらく60になってるだろうけど、それを70とかに変えて試してみると勉強になるかも。 (ディスプレイやグラフィックボードによっては対応してない場合もあり) あと、↓の命令を使って垂直同期信号待ちを切ってみるのも勉強になるかも。 どうして垂直同期信号待ちが必要とされる場合があるのか解るかもよ。 SetWaitVSyncFlag ScreenFlip関数実行時にCRTの垂直同期信号待ちをするかのフラグセット
- 687 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 09:43:38 ID:xrtLaobQ]
- CRTのときは、60と70の差が大きすぎてすぐにリフレッシュレート上げてたけど、
液晶は見た目変わらんから60のまま、なことも多いなあ。
- 688 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 18:57:24 ID:bLtEJeoI]
- >686
ありがとうございます。 色々勉強になります。しばらく色々設定いじってみます
- 689 名前:名前は開発中のものです。 mailto:sage [2008/08/25(月) 03:13:19 ID:DGfm1VSy]
- ニュートラル調べればいいだけだと思うよ
- 690 名前:名前は開発中のものです。 [2008/08/28(木) 13:33:11 ID:m65IXGpQ]
- DXライブラリ3Dを使っています
メタセコイアでXファイルをつくりUVマッピングなどチェックをして保存しました LoadModelでそのXファイルを読み込み DrawModelで表示させるようにしましたが 起動すると LoadModel 0番目のテクスチャ C:\...................... TEST.bmp が見つかりませんと でます 対処方法を教えてください
- 691 名前:名前は開発中のものです。 mailto:sage [2008/08/28(木) 13:38:24 ID:TltG6Uz7]
- C:\...................... TEST.bmp はあるの?
- 692 名前:名前は開発中のものです。 [2008/08/28(木) 13:49:15 ID:m65IXGpQ]
- >>691
同じフォルダ内にあるんだけど 他の、サンプルにある Sky1.X は、テクスチャも貼られ表示できました ちなみに Xファイルを開いて、TextureFilename のところを C:\.........TEST.bmp から TEST.bmp に変えると表示されました
- 693 名前:名前は開発中のものです。 mailto:sage [2008/08/28(木) 17:26:33 ID:BAQFIkd7]
- >>692
マルチバイト文字を使用する設定を確認してみてはどうか。 携帯からエスパー。
- 694 名前:名前は開発中のものです。 [2008/08/28(木) 18:50:54 ID:JopJTyIq]
- というかドライブから指定するもんか?
- 695 名前:名前は開発中のものです。 [2008/08/28(木) 21:28:08 ID:dfxzS5Cd]
- 実行されたディレクトリを取得して
そこからの相対パスで書いとくのがいいんじゃないかな
- 696 名前:名前は開発中のものです。 [2008/08/29(金) 18:08:45 ID:f6mFLVdV]
- 結局自力解決したのかどうなのか
- 697 名前:名前は開発中のものです。 [2008/08/29(金) 18:38:30 ID:HzuC4F0t]
- >>696
手直しでファイル名を指定することにしました めんどいね
- 698 名前:名前は開発中のものです。 mailto:sage [2008/08/29(金) 18:41:09 ID:smutsiJt]
- そもそもxにフルパスで書かれるのはどうなんだ?
うちの環境じゃそうならないが・・・
- 699 名前:名前は開発中のものです。 mailto:sage [2008/08/31(日) 18:49:33 ID:vgAWOJQZ]
- グラボの関係か、320*240*16BITでつくってるゲームをフルスクリーンで表示しようとしても、拡大されず、左上4分の1だけゲーム画面で、あとの4分の3は真っ暗!
みたいな状況になってしまう。 なにかいい解決方法ありませんか?;
- 700 名前:名前は開発中のものです。 mailto:sage [2008/08/31(日) 21:00:40 ID:9t3mvfZS]
- >>699
>>610
- 701 名前:名前は開発中のものです。 mailto:sage [2008/09/01(月) 10:37:37 ID:fhLFDpft]
- ってメタセコイアの環境設定で指定したフォルダ以外を指定するとフルパスになるな。
こういうもんなのか。
- 702 名前:名前は開発中のものです。 mailto:sage [2008/09/01(月) 13:48:16 ID:dabOwcbj]
- >>701
そんなもんだ。 メタセコなら毎回フルパスを消して相対パスにせないかんですよ
- 703 名前:名前は開発中のものです。 [2008/09/02(火) 09:43:44 ID:hFsfLIz7]
- >>702
やっぱりそうか。 >>698 のようなこともあるのかと、ぐぐってみたが、なかった
- 704 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 10:05:31 ID:b2f1Qmol]
- 環境設定でピクチャのフォルダ指定して常にそこ使ってるとパスが入らない、
- 705 名前:名前は開発中のものです。 mailto:sage [2008/09/09(火) 15:20:40 ID:CoW+esAW]
- 三角関数などを利用して求めた移動量は基本的に少数の形をとるため、実際に
描画する際には整数にしなければなりません。しかし、そうすると移動量の値に 差が生じてしまい、ずれた方向に進んだりしてしまいます。 今は、定期的に移動量計算をやり直して進路を修正しているのですが、何か他に 良い方法はありませんか?
- 706 名前:名前は開発中のものです。 mailto:sage [2008/09/09(火) 15:26:39 ID:HJ9D2qDN]
- >>705
俺は座標や移動量などは全部小数で扱って、描画するときだけ整数にしてる。
- 707 名前:名前は開発中のものです。 mailto:sage [2008/09/09(火) 15:36:50 ID:CoW+esAW]
- >706
型変換のタイミングを延ばして、誤差を最小限にするんですね ありがとうございます。
- 708 名前:名前は開発中のものです。 mailto:sage [2008/09/09(火) 20:28:23 ID:xHkBaHNO]
- 普通に関数名の最後にFがついた奴で表示すればいい
- 709 名前:名前は開発中のものです。 mailto:sage [2008/09/10(水) 00:44:13 ID:KDatiZii]
- >708
ヘッダを覗いたらありました! ありがとうございます!
- 710 名前:名前は開発中のものです。 mailto:sage [2008/09/10(水) 10:33:12 ID:pAofywHU]
- 久々に来たら自分のカオスソースを見てしまったw
- 711 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 09:05:11 ID:teQENKcK]
- >705
亀ですまんが、固定小数点とか楽じゃない?
- 712 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 09:59:40 ID:OOndKDeu]
- >711
ありがとうございます。調べてみましたが、なかなか計算速度が向上しそうです。 C,C++では標準でのサポートはされていないようですが… それも視野に入れて作っていきたいと思います。
- 713 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 10:13:19 ID:Ln37Pw6J]
- >>712
難しく考えないでもよほど大きな座標系じゃない限り 浮動小数点でずれが発生するなんてめったにないぞ・・・。 何か間違ってないか? あと固定小数点は標準のサポートとかそういうんじゃなく、 はるか古来からある基本的な手法の一つだぞっと。
- 714 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 10:46:48 ID:teQENKcK]
- >712
要はさ。 座標とか、例えば全部100倍した値で保持しておいて、 実際に表示する時だけ1/100にすればいいんでね?って発想。 実際に使うなら、もうちょっと応用しなきゃならないだろうけど、 これだけでもfloatよりは速い場合があったりする。
- 715 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 15:47:20 ID:OOndKDeu]
- >713 >714
そういうことですか。すみません、少し勘違いしていました。 ただ、入力→変換(割り算など)を考えると実感が湧かないので、 とりあえず、クラス化して実際に速度を比較してみます。
- 716 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 15:56:24 ID:jUmbsVEt]
- >例えば全部100倍した値で保持しておいて
128倍とか、二の倍数の方が早いかも、と考えるのは古いかな。
- 717 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 16:38:27 ID:SPZ9dRlM]
- たとえ話でわかりやすい10進にしてるであろうのにこの突っ込みはかわいそう
- 718 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 17:58:49 ID:jUmbsVEt]
- いや別にそれが悪いと言ってるわけじゃないって。
- 719 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 18:00:25 ID:77ztokxP]
- 僕は5年前HSPというスクリプトでシューティングを作ってたのですが、
整数しかサポートされてなかったので、10000倍にバイアスかけて 描画の時だけ10000で割ってました。 画面が6400000 * 4800000あると仮定していました。 はいはい、よかったでちゅねー僕。
- 720 名前:714 mailto:sage [2008/09/13(土) 18:15:00 ID:Craygg7f]
- >716
ちなみに自分の場合は、ビットフィールドを使ってるので割り算すらしてません
- 721 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 21:55:19 ID:Ln37Pw6J]
- >>720
まぁビットフィールド使うよりシフト演算使ったほうが速度的には速いんですけどね。
- 722 名前:名前は開発中のものです。 mailto:sage [2008/09/14(日) 09:22:56 ID:GkehiKsz]
- >721
計測したところあんまり変わらなかったので シフトさせるよりビットフィールドの方が見やすいかなと。(ぱっと見たら構造体っぽいし)
- 723 名前:名前は開発中のものです。 mailto:sage [2008/09/17(水) 17:38:25 ID:tRpYcu/9]
- みなさんはDXlibで光や水、炎、煙などはどう表現してますか?
元画像とαパターンを用意してアニメーションさせる、 半透明のパーティクルを多数描写して表現するなどの方法が考えられますが 他に効率の良い方法やより良い表現方法などはありますか?
- 724 名前:名前は開発中のものです。 [2008/09/17(水) 18:02:15 ID:jRvaVjUa]
- >>723
チミは、どうやってるの?
- 725 名前:名前は開発中のものです。 mailto:sage [2008/09/17(水) 18:34:02 ID:tRpYcu/9]
- >>724
実はまだαブレンドを使ったことが無いんです 依然作った爆発のエフェクトは透明度0のアニメーションパターンを 大量に描写するという力技をやったのですが非常に見づらくて・・・ いずれαブレンドと使うときの参考に聞いてみたくて
- 726 名前:名前は開発中のものです。 mailto:sage [2008/09/17(水) 20:41:09 ID:UL3sHJKU]
- >723
ドット絵で爆発パターンを用意して、普通にアニメーションさせるのは? どういうゲームを作るのかにもよるだろうけど、十分綺麗だよ。
- 727 名前:名前は開発中のものです。 mailto:sage [2008/09/18(木) 05:58:52 ID:0k0SxurY]
- αブレンドは非常に便利ですよ〜。
とりあえずスーっと消えていく表現をするのはアルファブレンド無しには無理では。 光は単純に加算ブレンドすれば表現出来ますよ。 水はモワモワした明るさのむらがある画像を同様に加算ブレンドで 適当に動かしながらブレンドすれば所どころ輝度が明るくなるので 水がキラキラしてるみたいに見えます。 ・・まぁこればかりはサンプル見ながらじゃないと理解は難しいでしょうけど。 煙もフォトショとかで適当にモワモワした画像を用意して重ねて表現してますね〜。 爆発だけは私の技量じゃ無理なんで、予め用意した画像をまわして アニメーション作っています。 ・・・ところでDXライブラリ使って皆さん どんなゲーム作っていらっしゃるんでしょう〜?
- 728 名前:名前は開発中のものです。 mailto:sage [2008/09/18(木) 22:23:53 ID:rk0RvkW2]
- >>726
メタルスラッグの爆発アニメーションはすごいですよね あそこまで出来れば小手先でごまかす必要な無いんでしょうけど・・・ >>727 なるほど、加算も工夫次第でいろいろ使えそうですね
- 729 名前:名前は開発中のものです。 [2008/09/19(金) 11:13:43 ID:1wZmK+F1]
- >>727
ソース見せてくれませんか?
- 730 名前:名前は開発中のものです。 mailto:sage [2008/09/19(金) 14:14:52 ID:ULXARkZB]
- ソース見ても役に立たないのでは・・・
こういうのは素材が大事だ
- 731 名前:名前は開発中のものです。 mailto:sage [2008/09/19(金) 16:47:32 ID:EknoqLgk]
- 素材は俺が提供するから>>729にソースを見せてやってくれ
- 732 名前:名前は開発中のものです。 mailto:sage [2008/09/19(金) 21:14:53 ID:mE2W/Vvh]
- D言語のためのDXライブラリです
本家が対応するまでのつなぎみたいな感じでひとつ gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0318zip.html
- 733 名前:名前は開発中のものです。 mailto:sage [2008/09/19(金) 21:29:59 ID:QOxm/m8e]
- スレチかもしれないけど、D言語って統合開発環境あるの?
- 734 名前:名前は開発中のものです。 mailto:sage [2008/09/19(金) 21:41:57 ID:a5236E0O]
- Eclipseでいいじゃん
- 735 名前:名前は開発中のものです。 mailto:sage [2008/09/20(土) 01:32:06 ID:B0XkaKvg]
- >>729
>>731 わかりました。・・で作ってみたんですが、 サンプルコードは素材が無いと書けないのでココに置いときます〜。 l.huu.cc/zip/sample.zip VisualStudio2005Proのプロジェクトも一緒においておきました。 サンプル見るだけなら実行ファイル開いてもらったらOKです。 人に見せれるようなコードじゃないんですがね; しかも特にエフェクトの勉強とかしたわけじゃなく、 勝手に考えたんで、責任持てませんよ・・。 私も爆発エフェクトはうまく作れないので、 よい情報あったら下さいまし。
- 736 名前:名前は開発中のものです。 mailto:sage [2008/09/20(土) 04:59:41 ID:cpqyoWS/]
- 別人だが、参考になったわ。
結構綺麗に出来るのね。……重さとかは大丈夫?
- 737 名前:名前は開発中のものです。 [2008/09/20(土) 08:43:52 ID:ipBgWeEu]
- >>735
729です 大変参考になりました。かっこいいね。 www4.point.ne.jp/~shishi/htr_mk/moh_exp.html こんなの作ってみたいが、まだスキルが足りない。
- 738 名前:名前は開発中のものです。 mailto:sage [2008/09/20(土) 10:23:08 ID:U4g9HCW0]
- >>735
特定しました あなた様のコードはいつも参考にさせて頂いておりますo(*_ _)o
- 739 名前:名前は開発中のものです。 mailto:sage [2008/09/20(土) 11:53:39 ID:LKrEZzcd]
- >>735
龍神録の人でしたか いつも勉強させてもらってますー
- 740 名前:名前は開発中のものです。 mailto:sage [2008/09/20(土) 13:28:20 ID:B0XkaKvg]
- >>736
重さは多分大丈夫じゃないです; 300回も上書きブレンドしているので、結構な重さにはなっていると思います。 ただいつも通常使ってるデスクトップとわざとちょっと昔のノートと2台で 作ってるんですが、そっちで処理落ちしなければ大丈夫だと勝手に決めてて(ぇ これは処理落ちしなかったのでまぁ許容範囲かなとは思います。 >>737 おぉ、99年からこんな物が作ってるなんて、一体レンダリングに 何日かかったんだろう・・。 普通にジブリの新作か何かかとすら思いました。 >>738 >>739 どうもありがとうございます。恐縮ですm(_ _)m
- 741 名前:名前は開発中のものです。 mailto:sage [2008/09/21(日) 20:07:55 ID:TkLJpNfR]
- >>740
ちょっとスレ違いかもしれないけど質問です。水面や地形のテクスチャはどのように作っているのでしょうか?
- 742 名前:名前は開発中のものです。 mailto:sage [2008/09/21(日) 23:01:36 ID:kM+tIHw+]
- 740です。
私はですが、普通にフォトショップというソフトでマウス使ってひたすらカキカキしてます。 GIMPとか別にソフトは何でもいいと思います。 ペンタブレットがあるといいんでしょうけどね・・。 龍神録の背景製作しているときは、京都の近くに住んでるんで、 あらゆる観光名所まわって素材になりそうな写真沢山とってきて、それ見ながら描いたりしました。 光の素材は適当にフォトショで線を何本かかいた後、 適当にぼかしてはグニャっとまげ、回転したり、またぼかしたり色々やってあんな 形にしてみました。 フォトショの色んなテクはmixiのフォトショコミュとかはいると結構参考になる テク入手できますよ。
- 743 名前:741 mailto:sage [2008/09/22(月) 11:09:21 ID:QYShp17z]
- >>742
何か専用のツールとか使っているのかと思っていたのですが、 手描きであそこまで仕上げられるとは・・・凄いです。 自分も勉強してみます。
- 744 名前:名前は開発中のものです。 [2008/09/22(月) 14:41:02 ID:gqBSy5fA]
- >>742
rスパロボの戦闘画面みたいなの、つくれる?
- 745 名前:名前は開発中のものです。 [2008/09/22(月) 14:43:17 ID:gqBSy5fA]
- www.suparobo.jp/srw_lineup/srw_ogps/system/index.html
こんなかんじのやつ
- 746 名前:名前は開発中のものです。 mailto:sage [2008/09/22(月) 14:45:41 ID:wx7vpqDz]
- それは何を使うかというより使う人の技術の問題だろ
- 747 名前:名前は開発中のものです。 mailto:sage [2008/09/22(月) 16:10:45 ID:WbUOCRNA]
- つーか、そんな事訊いてどうするつもりかと。
- 748 名前:名前は開発中のものです。 mailto:sage [2008/09/22(月) 22:06:12 ID:mAu1LxBS]
- 素材があってもビルボードとかの技術がないと無理だな
- 749 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 01:01:13 ID:x39CpwhV]
- 私は絵がうまくないので、参考にならないと思います‥。
龍神録に出てくるアイシャとリリアの絵はスタッフロールにあるファンタG君に 書いてもらったのですが、絵のうまい彼はペインターとフォトショで書いてるようです。 まぁwindows標準のペイントでも神画像作ってる動画もある位ですし、 どんな絵がかけるかは、ソフトの問題じゃなく、 その人の絵のセンスかと思いますよ。
- 750 名前:名前は開発中のものです。 [2008/09/23(火) 07:22:43 ID:Kj+y16lm]
- これからDXライブラリでゲーム作りをしようと思っているのですが
始めるに当たって、みなさんに相談お願いしたいです C#で開発できるらしいですが、C#用のライブラリって↓のサイトのやつでいいんでしょうか? totora.jpn.org/archives/2006/04/c_directx.html ただ、このサイトを見ると試作段階でバグがあるかもということですが C#で開発されている方、そういう面はどうでしょうか?バグとか多いですか?
- 751 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 09:21:14 ID:OI9+VwfD]
- >>750
C#用のラッパーは公式サイトで配布されてるからそっち使え
- 752 名前:名前は開発中のものです。 [2008/09/23(火) 09:33:01 ID:Kj+y16lm]
- >>751
おおぉ、よーく探したらこっそり置いてありましたねw 有難うございます。 それにしても、C#で開発できるとかかなり便利ですよね オブジェクト指向で言語仕様も簡単だし、.netライブラリも充実してるし。 疑問に思うのですが、このライブラリを知るまでは C#でDirectX使うには、XNAかマネージドDirectXしか無いと思ってたけど DXライブラリで普通に使えるんですね、、なんで普及しないんだろ。
- 753 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 09:49:46 ID:D0JwYXSu]
- 2D専門だから
初心者が始めるのにはC#はいいが CやC++使いもしくは他言語から移るメリットが少ない
- 754 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 09:57:52 ID:OI9+VwfD]
- >>752
SlimDXオススメ わざわざC#でゲーム作ろうとする人って、C#しか使えないんじゃなくて C#(言語)や.NETのクラスライブラリが使いたいのが理由の人が多いんだと思う だから初心者向けのDXは需要がないんじゃないのかな
- 755 名前:名前は開発中のものです。 [2008/09/23(火) 10:35:17 ID:Kj+y16lm]
- >>753
なる >>754 そそ、.NETのライブラリが便利すぎなんだよ あと、普段業務PGやっててJavaとかC#の純オブジェクト指向言語のが慣れてるってのも理由のひとつ。 SlimDXね、調べてみるわ。 というか、ここのスレの雰囲気いいよね、技術系スレなのに人当たりがいい人が多い。
- 756 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 12:50:54 ID:5UTvGJHb]
- とか言われると荒らしたくなる俺
- 757 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 13:04:41 ID:hqjnHrp3]
- >技術系スレなのに
どういう意味だそりゃw
- 758 名前:名前は開発中のものです。 [2008/09/23(火) 14:23:55 ID:YaNZJWA2]
- >>757
ム板とか行ってみるとわかるんだが 大体の技術系スレは殺伐としてる
- 759 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 15:32:55 ID:fd+roZoC]
- 年齢層が結構高いという理由もある。スレにもよるが。
- 760 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 15:33:30 ID:2tYhKJm3]
- C#orVB.netのManaged DirectXはかなり遅いのが難点。
ただし作るのが楽チン。スキンメッシュとかうごかしたらかなり 遅いからすぐにわかるとおもう。 逆にいうと、動かさない、3Dシュミレーションゲームとかなら ぜんぜんこっちのほうが速く作れるからお勧め。 HLSLもつかえるし。
- 761 名前:名前は開発中のものです。 mailto:sage [2008/09/24(水) 06:05:47 ID:mdCTmiao]
- >>759
昔は若かったがなw そのまま住人が居つくから平均年齢が高くなってきたんだな。
- 762 名前:名前は開発中のものです。 mailto:sage [2008/09/24(水) 07:35:30 ID:/MicH7DQ]
- スレによって年齢層違うっしょ。
バイク、車、他各専門系のスレに小中学生とかが大半を占めてるはずないし。 ここは比較的技術・専門系ということになるのでは
- 763 名前:名前は開発中のものです。 mailto:sage [2008/09/24(水) 10:02:33 ID:yBTZmmoT]
- Cのインターフェイスそのままじゃなくて、C#向けにちょっとだけ整理したラッパーを作ってみようかな
需要ないだろうけど
- 764 名前:名前は開発中のものです。 mailto:sage [2008/09/24(水) 10:26:09 ID:KcJa/Ki0]
- いくつかやってるとこあるみたいだけど途中で止まってるみたいだね。
本家のは使えないしな。
- 765 名前:名前は開発中のものです。 mailto:sage [2008/09/24(水) 11:11:18 ID:yBTZmmoT]
- まあDXライブラリくらいだったら、ラッパー書くんじゃなくて
自分で1から作っても手間はそんなに変わらなかったりするしなあ
- 766 名前:名前は開発中のものです。 mailto:sage [2008/09/26(金) 16:53:52 ID:uI0814jI]
- >>735
見ようみまねでつくった爆発。 DXライブラリがよくわからなかったのでDirectXで作りました。 ttp://f42.aaa.livedoor.jp/~imawaka/imgboardphp/src/1222415388760.jpg
- 767 名前:名前は開発中のものです。 mailto:sage [2008/09/26(金) 17:28:56 ID:sIk1E79K]
- 静止画で出されても困るような・・・
そういう小さい爆発なら生成ツールがいくつかあったぞ 俺は発色弾というのを使ったことがある
- 768 名前:名前は開発中のものです。 mailto:sage [2008/09/26(金) 18:26:54 ID:uI0814jI]
- >>767
動画にしてみました。 ttp://www.nicovideo.jp/watch/sm4746296
- 769 名前:名前は開発中のものです。 mailto:sage [2008/09/26(金) 18:42:43 ID:4I0Ae3rZ]
- いい出来だと思うけどUPするならGIFのほうがいいよ
- 770 名前:名前は開発中のものです。 mailto:sage [2008/09/26(金) 21:24:32 ID:p7KUPS5V]
- おー見ましたよー素晴らしい。いいですねぇ。
手の込んだ事をするならDirectXでってことになっちゃいますよね。 なんとかDXライブラリで出来ないものか・・。 この動画をキレイに一つの素材として黒い背景に動画をαブレンドすればいいんでしょうけど、 背景が真っ黒じゃなかったら光ったエフェクトになりそうですね。 動画にPNGみたいな「透過色」ってのがあったらいいのに・・。 PNGの背景透過色にして、PNGでこの爆発エフェクトを連続写真のようなもので 出力することって出来ないんでしょうか?
- 771 名前:名前は開発中のものです。 mailto:sage [2008/09/26(金) 23:36:24 ID:vO2a+ZXl]
- 必死でPrtScr!
- 772 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 01:50:43 ID:yFXnQ0DO]
- いや、これならDXライブラリでもできるでしょう
火炎部分の加算と黒煙部分のアルファブレンドの組み合わせだよ
- 773 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 04:58:22 ID:S56hocnM]
- >>771
動画を静止画に分割したとしても、背景が白ではそのままでは加算するしか・・。 >>772 そう言われてみたら何となく出来そうですね。やってみます。
- 774 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 11:20:08 ID:sqmsiBjv]
- 確かに一つ一つをモワッと広げながら表現すればそれっぽくなりそうですが・・
火炎部分の絵をフォトショで頑張って描いてみましたが大した絵がかけず失敗orz う〜ん、素材がうまく作れないので絵心が無い人は損ですね・・。 >>772 もし簡単に出来る方法があれば、教えてもらえないでしょうかm(_ _)m
- 775 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 16:17:16 ID:0o9es7Z8]
- シューティングとか作ってて気がついた。敵にショットが当たって炸裂する爆発が快感なんだと。
爆発エフェクトって大事だよね。
- 776 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 16:26:47 ID:co8TOWn8]
- でも爆発エフェクトのせいで見難くなったら逆にストレスたまる。
- 777 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 22:59:52 ID:6fULJcpY]
- DXライブラリでゲームを作ろうと先週『14歳で〜』シリーズの一番新しい奴買ってきたんだが、
確かにわかりやすいけどえらい誤字脱字多いのな。 そういうのも含めて勉強になるから別に良いんだけど、初版の参考書って皆こんなもんなんだろうか。
- 778 名前:名前は開発中のものです。 [2008/09/28(日) 00:13:39 ID:2mgnfi1g]
- >>777
そんなに多いの?俺の持ってるその作者の別の本は初版でもほとんど間違いなかったけど。 その作者の本は神認定されるのとクズ認定されるのとがあるらしいからなぁ。
- 779 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 03:18:28 ID:j9AQSBAF]
- ちょっと読んでみたけど、書くべきではないコードの書き方があちこちあった。
全体的にもそうだけど、部分的にも。 あのコードのままコンパイルしたら通っても、 ちょっと改造しようとすると応用が効かないというか。
- 780 名前:名前は開発中のものです。 [2008/09/28(日) 04:50:05 ID:2mgnfi1g]
- >>779
分かりやすければいいんじゃない? サンプルは応用じゃなくとりあえず理屈が分かるのが大事だから。 まぁ個人HPならともかく書籍なのにコードが間違ってるのは致命的だけどw
- 781 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 11:51:21 ID:rt+m1aEe]
- >>778
買ったのはこれ、今年の5月が初版になってる。 ttp://www.amazon.co.jp/dp/4899772173 まだ半分も読んでないんだが、誤字や脱字、あと気になる箇所をメモったのが↓ ttp://upload.jpn.ph/10/bin/bin0016.txt 最初に書いたコードから追加していくタイプの参考書なので、 追加する際に置換・削除するコードはグレーで表示して欲しかった。 それを除けば理解しやすいし、良質な参考書だと思う。
- 782 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 12:58:09 ID:j9AQSBAF]
- >>781
>▼P90 そうそう、779で言ったのはこれの事。 立ち読みしただけだから所々しか読んでないけどそれでも 色々おかしな記述があったの覚えてる。 0xffffffとか何色示したいか知ってる人にはわかるけどね、 何ビット表示かでかわるし、まさか18273みたいな指定の仕方する人は少ないかと。 それから1リフレッシュより短時間の待機はWaitTimerよりもSleepでするべきだと 思うけど(WaitTimerはメッセージ処理するから、Sleepより重くなる)Sleep使ってない。 ゲーム画面をDxtoryやDxrecでキャプチャさせること考えると ゲーム中なるべくSleepした方がいい。 著者は知ってて端折ってるならいいけど、あちこち後々必要になりそうな 気のきいた記載がないんだよね。
- 783 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 13:01:44 ID:0G4fpLoL]
- しかしこれだけの間違いを理解できる人が、
『14歳で〜』シリーズなんて買う必要があるのだろうかw
- 784 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 14:47:52 ID:AquToWxE]
- >>783
まったくだw
- 785 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 15:29:04 ID:+XQvTJub]
- SleepはDXライブラリの関数じゃないからその指摘は酷じゃないか?
- 786 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 15:52:18 ID:rt+m1aEe]
- >>783
自分はDXライブラリ初めて触るので、ほんとに1ページから順に読んでいってるのよ。 C言語も自分の中では少し怪しいので、第二章のC言語講座の部分も含めて。
- 787 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 19:34:55 ID:7o0RXMy3]
- Sleep関数はDXライブラリの関数じゃないにしても、
DXライブラリの中でインクルードしてあるから、デフォルトで使えるし、 いいんでないかと思ったけど。 まぁ本の題名からしたら14歳が理解出来る程度のことがかいてあればいいのか・・。
- 788 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 20:58:48 ID:B4kDiXQP]
- 14歳からゲーム作ってたらさぞかし技術高いだろうな・・
- 789 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 21:08:13 ID:q2E7P3mH]
- 雑誌見ながらぽちぽちBASIC打ち込んでた頃だな……。
未だにあの頃からレベル変わってねー。
- 790 名前:名前は開発中のものです。 mailto:sage [2008/09/29(月) 01:33:40 ID:xeNsWOz5]
- >>788
実際には14で神童・・20過ぎればみたいに3,4年で飽きてしまうやつがほとんどだと思う。 それは昔のBASIC(DXライブラリの作者もこの時代の風潮を参考に開発してる)も証明してるし。
- 791 名前:名前は開発中のものです。 mailto:sage [2008/09/29(月) 04:35:27 ID:/M4YHcOb]
- >>788
80年代の雑誌見てると小学生が投稿しているからなぁ
- 792 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 20:57:59 ID:rXm6vOwJ]
- ゲーム開発で必ず付き纏う問題の一つにゲームスピード調整があるけど、
色んなやり方や宗派があるからあまり触れられないよね。最重要なのに。 BASIC時代は無意味なforループでウェイト掛けたりしてたけど、 DXライブラリ使って初めてゲーム作る人は、第一作目はそんな感じの環境依存コードになるよね。
- 793 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 21:06:49 ID:xFCytqH2]
- ScreenFlipが勝手にウェイトかけてくれるもんでそれをあてにしてたら
結構あてにならん事を後に知って色々いじる事になった……。
- 794 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 21:28:05 ID:rXm6vOwJ]
- >>793
モニタ毎のリフレッシュレート依存だし、リフレッシュレートに追いつかない重い処理だった時に処理落ちするからね。 でも結構そういう人多いんじゃない? 仮にリフレッシュレート固定だとしたらかなり精度の高いタイマーだけどね。
- 795 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 22:59:58 ID:xFCytqH2]
- 理論的にはそのはずだけど
俺、かなり無茶で非効率なプログラミングしてるのに リフレッシュレート60でほとんど処理落ちしてない。 メインPCはそこそこ高性能だから当然だとしてもちと古い型のノートPCでもそうだから よっぽど無茶な事をするか非効率なプログラミングでもない限り処理落ちの心配はないんじゃないかなぁ。 ScreenFlipの問題点はそういう処理落ちの部分じゃなくて、 リフレッシュレートを60以外にしている人の場合とか、 ウィンドウモード時にどうなるかよく解らない点とか、 環境によってはScreenFlipで垂直動機信号待ちをされない場合があるとか、だね。
- 796 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 00:19:28 ID:yPJm/pNJ]
- >>795
えと、要するにそういう事が言いたかったんだが。。
- 797 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 01:42:26 ID:hF4QIbOk]
- この場合、「ゲームスピード」って表現はおかしくないか?
- 798 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 02:36:20 ID:yPJm/pNJ]
- どの環境でも同じスピードで動く、って意味だからいいんじゃない?
たとえばキャラクターがゲーム画面の端から端(仮に800dot)まで動くのに1秒掛かる仕様だとしたら どの環境でも同じ1秒掛からなくちゃいけない。 この場合、800dot/秒を基準にすればScreenFlipでも問題ない。 リフレッシュレートが上がれば上がるほど滑らかに動いてるように見える。 ただ、この場合、時間を基準にしてるのでゲームがアクティブじゃなくてもその分動く。 >>795のようにリフレッシュレートによって移動量が変わっちゃうのはメインループの1ループ単位で移動量を計算してるからだと思う。 プログラミング的には全体を一つのインクリメントカウンタで統一するとわかりやすいけど、 ScreenFlipでウェイトする時間がリフレッシュレート依存だからマルチスレッドでカウンタを取るのがいいのかな? あと、ScreenFlipしてるのに(垂直同期を待ってるのに)fps制限してる人を見かけるけど、 デメリット以外ないと思う。
- 799 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 03:13:27 ID:hF4QIbOk]
- でもまあ、単に「ゲームスピードの調整」って言われると
「処理能力や画面の更新に伴う、開発者が意図しないゲームスピードの上下」をなくすこと ……だとは連想しないんじゃないかな? 少なくとも自分なら、 名作「パックマン」は、製品化するときに移動速度を開発版の半分に下げた……という逸話とか そっちを思い出す。 最初の>792に関しては、その後に「FOR文」や「環境依存」の一文があるから、ちゃんと伝わったっていうだけで。 >798 メリットはあるんじゃない? 最初からリフレッシュレートが一定という前提なら、開発は楽だと思う。
- 800 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 03:18:21 ID:PvtXyZlD]
- >800dot/秒を基準
移動量を時間で算出するってやり方自体は知ってるけど、 シューティング等のリアルタイムゲームにはまだ使った事ない。 1ループにかかった時間で移動量を計算して当たり判定とかしてると リプレイで微妙に違う結果が出たりしそうな気がするけど そういうのはどうしてるんだろ。 結果ごとリプレイデータとして記録すんのかな。 (俺はプレイヤーのキー入力のみを記録してリプレイさせてる) ここまでくるとDXライブラリとは関係ない話になるな……。
- 801 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 10:11:58 ID:IDZqQXIh]
- >>732
遅レスだけど、ありがたく使わせていただきます。 ところでDXライブラリのWikiができたね。 公式の掲示板で紹介されてる。
- 802 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 10:32:53 ID:Kjf6RT0i]
- 書籍へのリンクにアフィリエイト咬ませてるけど、
こういうの嫌いな人はこなくなっちゃうよ
- 803 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 12:06:45 ID:STmnJXOA]
- >>802
同感
- 804 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 12:06:59 ID:Oi7lrYWp]
- つまり、他人が作ったもの(DXライブラリ)をネタにして
他人に知識を収集(Wiki)させておいて、 自分だけが稼ごうとして 宣伝してまわってるわけですか。
- 805 名前:802 mailto:sage [2008/10/03(金) 18:01:41 ID:Ot6EbYXZ]
- うは、誰か本家の掲示板にも書いたのね
アフィリはしてもいいと思ってるんだよね。ジャンルは違うけど俺もwikiにアフィリつけてたりするし DXライブラリ使ってる人はパソコンとかネットに詳しいから、アフィリ嫌いの人多そうだな、と
- 806 名前:名前は開発中のものです。 [2008/10/03(金) 18:10:10 ID:Ot6EbYXZ]
- モザイクを使ったトランジションを試したいがさっぱりやり方がわからん
画面上の各ピクセルの色を取得 ↓ 画面を4*4とか16*16とかのブロックに分ける ↓ 取得した各ピクセルの色からブロックごとに塗る色を決める ↓ ブロックごとに色を塗る みたいな感じなのか? リファレンスにも載ってるけどGetPixelで620*480ピクセルの色を取得すると 処理に時間がかかるよー
- 807 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 18:17:38 ID:dkSGiujY]
- アフィくらい別にいいだろ、と思ってwiki開いてみたら、
一番目立つ場所に何カ所もベタベタ貼ってあって噴いた 儲ける気満々ですな 無料wiki借りた方がマシじゃねえか・・・ これで「皆様に役に立てば」はねーだろw
- 808 名前:名前は開発中のものです。 [2008/10/03(金) 18:27:00 ID:VQ82xcw5]
- ブロックの処理を1ピクセルずつじゃなくて、2とか4ピクセルずつにすればどうだろ
2だと( for( x=0 ; x < BLOCK_SIZE ; x +=2 ) for( y=0 ; y < BLOCK_SIZE ; y += 2) ) 処理量は1/4、4だと1/16だよ
- 809 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 18:32:29 ID:IDZqQXIh]
- >>806
リファレンスのGraphLockのサンプルを見るべし。 画面が入っているメモリを直接触れます。
- 810 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 19:04:13 ID:Ot6EbYXZ]
- >>808-809
なるほど、試してみます ありがとうございます
- 811 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 21:10:17 ID:STmnJXOA]
- Wikiやるなら形だけでもいいからあの管理人様に是非開いてもらいたい。
後は有志が編集すればいいんだから。
- 812 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 21:38:21 ID:IDZqQXIh]
- wiki増えた。2つもどう使えとw
おそらく旧wikiは自サイトの1コンテンツという位置づけなんだろうけど。 なんか私の発言のせいでややこしくなったみたいで申し訳ないなぁ。
- 813 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 21:47:22 ID:dLMvhKrF]
- 儲けようという魂胆が見えてヤだ、というよりは、
よほどの大手でも無い限りたいした収入があるわけでもなし、見やすさを選ぶべきでは? ……と思ったり。 単に目立っているだけの広告はクリックされない、という説も。 アフィで儲けようとするなら、まずは中身を充実させ、読みやすさを確保しないと誰もクリックしないのよ。
- 814 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 00:15:42 ID:zK8i70T1]
- そもそもWikiなんているんかいな。
- 815 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 00:27:51 ID:ijutKGs3]
- 確かに
公式のリファレンスさえあれば、あとはロジックの問題だし
- 816 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 05:03:32 ID:qgQalxJc]
- どうせやるならDXライブラリの非公開関数の解説やってほしいですねぇ。
すごくいい機能の関数なのにリファレンスで紹介されていないもの山ほどありますし。 いちいちヘッダファイルみて一行しかない注釈で使い方想像しながら 試行錯誤してみるのはめんどうですよねぇ・・。
- 817 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 05:28:37 ID:SaRl2Wd2]
- >>814
確かに公式があれだけ充実して以上必要性薄いよね
- 818 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 05:37:31 ID:SaRl2Wd2]
- >>812
旧 www.dkut.flnet.org/dxlibwiki/ 新 www.dkut.flnet.org/DxLib/ なるほど。広告は減ってるね。
- 819 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 07:30:52 ID:IJgnY5No]
- 非公開関数の解説はいいねー
あとはリファレンスに乗ってない引数の使い方解説とか
- 820 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 08:47:37 ID:aj2d0pp/]
- 非公開関数はあくまで非公開(動作保証対象外)なんだから
可能な限り使うべきじゃないと俺は思うんだけどなー。
- 821 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 12:51:38 ID:DC8s5W3X]
- そうなんだ
バンバン使ってるおwwww
- 822 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 16:12:07 ID:qgQalxJc]
- でも使いたい人は使ってくれってことでヘッダファイルにわざわざキレイに
注釈付きでかいてあるんだろう? DXライブラリの幅は非公開関数でグンと広がるし、 ドンドン使っていけばいいと思うけどなぁ。 製作者さんは忙しい人みたいだけど、ライブラリ製作自体が趣味みたいだし、 関数のバグの報告や提案なんかはしてもらって嬉しいはずだとオモフ
- 823 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 17:43:56 ID:PjoOiVzu]
- 非公開関数を使わずに開発だなんて、もう考えられない。
例えるなら、Cでポインタを覚えた時の感覚?
- 824 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 23:50:50 ID:V+0uaSqw]
- 非公開関数のwikiはいいね。
あくまで非公式非推奨だって認識で住み分ければ製作者さんや公式に迷惑掛からないし。
- 825 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 05:49:53 ID:/FNrxoPC]
- 現状の問題は、「同じWikiが2つ存在すること」だよな
- 826 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 08:52:24 ID:vTxXjVFg]
- >>825
旧wikiはあの人が自分のサイトを移行したいみたいだから、 新wikiをみんなで自由に編集するものと考えれればいいんじゃなかろうか。 wikiのタイトルもちょっと違うし。 もっとも、そのうち思い直してwikiを1つに統合しちゃうんじゃないかと 心配だけど。
- 827 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 10:02:30 ID:BD4SzJl6]
- というかWikiに関しては管理人様が週明け以降に声明だしそうだし今は保留でいいんじゃない。
- 828 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 13:31:06 ID:UM3/B1nU]
- こんな混乱を作り出すなら無料wikiの方がマシだなー。
今のところあのアホ管理人は全く余計なことしかしてないね。
- 829 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 17:42:14 ID:6np9SFhP]
- >827と>828の指す「管理人」は、それぞれ別人なのな
- 830 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 18:14:25 ID:BD4SzJl6]
- 確かに無料Wikiの方が個人情報の扱いとか永続性とか考えるといいかもしれない。
個人的にはやはりDXライブラリの管理人さんに開設だけはやってほしいな。 それならアフィ入っててもいいのに
- 831 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 18:22:15 ID:vTxXjVFg]
- >>829
公式掲示板のやり取りからして、 827の「管理人」はDXライブラリの作者さんのことかと。
- 832 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 18:29:24 ID:6np9SFhP]
- 別の人がコンテンツを管理/運営するというのもそれなりにメリットはあるんだけどね。
もともとの目的は負荷分散らしいしさ。 他にも、DxLibの悪いところみたいな、公式じゃないからこそ書けるものもあるだろう。 DxLibに限らず、たまに初心者スレで ゲームを作りたいのですが、 DxLibを使うのとDirectXを勉強するのとではどっちがいいでしょうか? といった類の質問を見かけるけど、公式だと基本的にDxLibを薦めるような形になっちゃうっしょ? 質問者に対して適切な回答があったとしても、それが他の言語や他のライブラリだとしたら答えにくい。
- 833 名前:829 mailto:sage [2008/10/05(日) 18:30:13 ID:6np9SFhP]
- >831
だからそう言ってるんじゃないか
- 834 名前:名前は開発中のものです。 [2008/10/05(日) 18:49:47 ID:vRdfR60s]
- >830
>832 同意。この中で誰か無料Wikiに開設すればこの問題は無くなるんじゃないか?
- 835 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 19:01:53 ID:vTxXjVFg]
- >>833
ほんとだ。ごめんなさい。 「別人なのかな」に見えたorz
- 836 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 19:25:00 ID:6np9SFhP]
- >834
Wikiが3つになるのは致命傷過ぎる
- 837 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 19:30:08 ID:9v5G4j7i]
- そしたら俺が予備としてwiki作っとくわ
- 838 名前:名前は開発中のものです。 [2008/10/05(日) 19:31:48 ID:vRdfR60s]
- >836
830の >無料Wikiの方が個人情報の扱いとか永続性とか考えるといいかもしれない。 を読んでくれ。 今のWikiだと問題があるじゃないか。無料Wikiの方がよいんじゃないか? 無料WikiをDxLibの管理者さんに公認してもらうか、問題のWikiを無くしてもらうように頼むかすればよいんじゃないか?
- 839 名前:名前は開発中のものです。 [2008/10/05(日) 19:33:47 ID:vRdfR60s]
- >837
ありがとう。作ったら公式掲示板やこのスレに書いておけば問題は無くなるね。
- 840 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 19:41:46 ID:G8wiKs9F]
- 新しくwiki作っておいたお(^ω^)おれいい子?
- 841 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 19:46:59 ID:6np9SFhP]
- なんかまた進展があったようだ……。
- 842 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 20:22:36 ID:ayKOs7hk]
- wktk
- 843 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 20:57:18 ID:BD4SzJl6]
- ハイパーオチンチンタイムはじまるよ〜!
- 844 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 21:25:36 ID:G8wiKs9F]
- ハイパーωωオチンチンタイムー!!はーじーまーるーよー!!!!
- 845 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 21:29:48 ID:G8wiKs9F]
- いえいえ、だからリカちゃん人形をつかうといいですよ
- 846 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 21:30:30 ID:G8wiKs9F]
- 誤爆
- 847 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 23:02:55 ID:9v5G4j7i]
- >>839
いや、さらにwikiが増えて4つになるっていうネタだったんだが…。ごめん…。
- 848 名前:名前は開発中のものです。 [2008/10/05(日) 23:10:31 ID:vRdfR60s]
- >>847
なんだ。ネタだったか。俺も本気にしてしまった。ごめん。 作らないなら俺が作っておくが…。 忙しいから完璧に管理できるとは言いがたいぞ。 ま、そもそも、今まで有志でWikiが出来なかったんだから必要かと言われれば疑問が残るんだけどね。
- 849 名前:名前は開発中のものです。 mailto:sage [2008/10/06(月) 07:37:19 ID:UfzFDaAZ]
- 男 「お父さん!娘さんを僕にください!」
父 「チミィ…チミのような高卒に娘はやらん!」 男 「んなっ!!?」 女 「ちょっと!お父さん!!」 猫 「んなー」 男 「大切にします!!僕には確かに…学歴も…彼女に指輪一つ買ってやれないふがいない男です!」 女 「要らない!そんなものいらない!!私には…貴方さえ居てくれたら…」 父 「無理だ!君は娘を幸せにすることなど出来ん!!!!帰ってくれたまえ!!」 _ , ― 、 ,−' `  ̄ヽ_ ,' ヽ ( ) ( ノ'ー'ー'ー'ー'ー'ー'ヽ ) ( ノ (●) (●) ( ) `ー' @ (__人__) @ ( ) 母「オチンチンタイム始まるよーーーーーー!!!!!」 ヽ ` ⌒´ /`ー' / \ 男 「いやっほおおおおおおおおおおおおお!!!!」 娘 「オチンチンタイムきたーーーーー!!!!!!」 父 「ぶるわあああ!!!!チンチン来たーーーー!!!!」 猫 「ひょおおおお!!!!オチンチンタイムだあああああ!!!!」
- 850 名前:名前は開発中のものです。 mailto:sage [2008/10/06(月) 11:46:56 ID:5Px6VmFZ]
- みんなwikiが好きだなぁw
- 851 名前:名前は開発中のものです。 mailto:sage [2008/10/06(月) 13:31:34 ID:EJnUz/Vz]
- 実行したらウィンドウは表示されずにプロセスだけ動いてやがる
なんぞこれ
- 852 名前:名前は開発中のものです。 mailto:sage [2008/10/06(月) 14:17:45 ID:Ykr4CVZN]
- Windowsアプリにしてないとか?
- 853 名前:名前は開発中のものです。 mailto:sage [2008/10/06(月) 15:04:03 ID:EJnUz/Vz]
- 事故解決
DxLib_Initの前にLoadGraphを呼んでたのが原因ぽい
- 854 名前:名前は開発中のものです。 mailto:sage [2008/10/08(水) 17:10:47 ID:3k3C1foI]
- DXライブラリで効果音を鳴らすと
効果音がなってる間、BGMの音量が小さくなってしまうのですが気のせいでしょか 直す方法あったら教えて下さい ちなみにPlayMusicでBGM、PlaySoundMemで効果音を鳴らしてます
- 855 名前:名前は開発中のものです。 mailto:sage [2008/10/08(水) 19:46:00 ID:yF6YrIzI]
- きのせいでしょう
- 856 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 07:39:57 ID:jpAXTtNp]
- うん
- 857 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 09:33:31 ID:+hf6fEkc]
- >>854
昔の話だが 同じ効果音を40個位いっぺんに(同フレーム内で) 鳴らした時にそんな感じになったことがあるようなきがするな。 そこら辺を確認してみてくれ。
- 858 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 10:10:57 ID:Ub9/sQw8]
- 40個も同時に鳴らさないように制御するべきでは・・。
- 859 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 10:15:11 ID:Ub9/sQw8]
- FFの内部のデータ見てみたことあるけど
同時にならさないといけない場合がある効果音は全部あらかじめ同時にならした素材として入ってた。 効果音1と効果音2の同時 効果音1と効果音3の同時 効果音1と効果音4の同時 効果音1と効果音5の同時 みたいに全ての組み合わせの素材があってビックリした。 最初異様にファイル数多いなと思ってたけど確認して納得したw
- 860 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 10:48:58 ID:GxPPxNWZ]
- 音源の貧弱さをメモリでカバーしたわけか。
- 861 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 13:44:04 ID:W6kktJvq]
- >>859
興味深い。他にあればもっと聞かせてくれ
- 862 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 18:42:08 ID:Ub9/sQw8]
- 859です。
>>861 他にもと言われても何を言えばいいんだw 同じ話だけど 「やぁ!」って声の効果音と「えぃ!」って声の効果音、ほぼ同時に鳴らすときの為に 前者が若干早い時はくっついて 「やえぃ!」 後者が若干早い時はくっついて 「えやぁ!」 って感じで同じ組み合わせでも順番まで考えてデータ作ってあったよ。 多分完全に同時だと聞こえなくなるからあえて全部ちょっとずらしてあるんだと思う。 タイミング命系のアクションゲームとかじゃなかったら FFみたいなゲームなら掛け声とか0.1秒位ずらしてもなんちゅーことないしね。 いやはや有名なゲームはよく考えてありますね。
- 863 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 18:56:02 ID:qUBF8r6z]
- それってFFのどれ。
- 864 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 22:18:37 ID:UCe7+/VV]
- そういやドラクエ4のデスピサロ戦では
最終形態移行時の「ゴゴゴゴゴ」のためにBGMの和音数が一時的に減らされてたっけな ごめん スレチだね
- 865 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 22:42:46 ID:W6kktJvq]
- >>862
なるほどーおもしろいねそういう話。 >>864 いいぞもっとやれ
- 866 名前:名前は開発中のものです。 mailto:sage [2008/10/11(土) 19:20:47 ID:WCrwwd6s]
- 右端と一番下に1ドットの隙間ができない?
すごく気になるんだけど、どうにかできないかな
- 867 名前:名前は開発中のものです。 mailto:sage [2008/10/12(日) 02:36:36 ID:0UjA6dun]
- >866
それだけ言われても分からん。 エスパーすると、ソフトウェア描画と比較してみ。
- 868 名前:名前は開発中のものです。 mailto:sage [2008/10/12(日) 02:55:39 ID:SoL04hdM]
- >>863
初期〜中期のファイナルファンタジーは声が出なかったから、 初代ファイナルファイトだと予想してみるw
- 869 名前:名前は開発中のものです。 mailto:sage [2008/10/12(日) 10:14:02 ID:tEG66pVK]
- 掛け声だけしゃべるならFF11じゃねーの
- 870 名前:名前は開発中のものです。 mailto:sage [2008/10/12(日) 19:01:33 ID:OAiuWa1a]
- >>866
エスパーすると 例えば500×500のウインドウで for(i=0;i<499;i++){ for(j=0;j<499;j++){ 座標(i,j)色を変える。 } } とすれば、右端と一番下に1ドットの隙間ができるが for(i=0;i<=499;i++){ for(j=0;j<=499;j++){ 座標(i,j)色を変える。 } } とすれば、隙間はできない。
- 871 名前:名前は開発中のものです。 mailto:sage [2008/10/12(日) 19:26:44 ID:U28t+20v]
- ああ、DXライブラリってそこらへん、余計な事してるんだよな……。
いつも迷うぜ。
- 872 名前:866 mailto:sage [2008/10/12(日) 20:17:40 ID:vIpSBElN]
- #define WX 480
#define WY 480 ChangeWindowMode(true); SetGraphMode(WX, WY, 16); DrawBox(0, 0, WX+1, WY+1, GetColor(255,0,0), true); こうした時に1ドット隙間が出来るんだ +1のところを+100に変えても隙間ができる こんな風に www1.axfc.net/uploader/Img/so/22620.png >>867 ソフトウェア描画って? >>870 それが問題じゃないみたい
- 873 名前:866 mailto:sage [2008/10/12(日) 20:19:06 ID:vIpSBElN]
- ごめん
URLミスった www1.axfc.net/uploader/Img/l/2913099659/Img_22620.png
- 874 名前:名前は開発中のものです。 mailto:sage [2008/10/12(日) 21:11:31 ID:U28t+20v]
- 赤い部分を切り抜いてみたところ480*480だった。
えーとつまりどういうことだ。 (0,0,480,480)で描画したら0〜479の480ピクセル分が塗られるはず。 つまり (0,0,480+1,480+1)で描画したら0〜480の481ピクセル分が塗られるはず。 しかしSetGraphでは(480,480)となってるから、 画面上は0〜479の480ピクセル分しかないはず。 つまり、赤く塗られている部分は正しいという事になる。 隙間が出来てるのはSetGraphで(480,480)にしたはずなのに なぜか1ピクセル分余分にできてる。 ……って事かな??
- 875 名前:名前は開発中のものです。 [2008/10/12(日) 21:41:00 ID:gLc2eLS+]
- >>870
つまりこれでもいいんだよね? for(i=0;i<500;i++){ for(j=0;j<500;j++){ 座標(i,j)色を変える。 } }
- 876 名前:名前は開発中のものです。 mailto:sage [2008/10/12(日) 23:04:47 ID:vIpSBElN]
- >>874
そうみたいですね しかもその余分にできたスペースには描画ができないんです 皆さんはこうならないんですか?
- 877 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 00:01:00 ID:6zGpRl/9]
- いや、てかそもそもそれ隙間じゃなくて枠じゃないか?
- 878 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 08:22:34 ID:N+ktUREE]
- >872
>ソフトウェア描画 SetUse3DFlag がture/falseで違いはあるか?ってこと
- 879 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 08:23:20 ID:N+ktUREE]
- tureじゃねぇ、true
- 880 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 15:33:09 ID:+BgxII2m]
- >>877
今API直打ちで画面全体塗りつぶしをしてみたんだけど隙間はできなかった >>878 違いはなかった クライアントエリアの問題かと思ってSetDrawAreaも試してみたけど効果なし ダブルバッファリングも関係なかった みんなもこうなってるのか、それとも自分だけなのかが知りたい
- 881 名前:877 mailto:sage [2008/10/13(月) 15:43:26 ID:NvE7YaYt]
- >>880
872で見せてもらった画像を、拡大してよくみると、 上側と左側には薄い灰色と濃い灰色の2ピクセル分の枠がある。 が、右側と下側にはその色はなく、 代わりにうっすーい灰色と白色の2ピクセル分がある。 その部分を隙間って言ってるんだよね? 枠の色が薄すぎるだけの話じゃないのかな?
- 882 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 16:32:41 ID:+BgxII2m]
- >>881
本当だ 拡大して比較してみるとDXライブラリのウィンドウは枠ありのウィンドウだった なるほど、これ枠だったのか・・・ ウインドウスタイルって変更できないのかな 比較の画像一応貼っとく www1.axfc.net/uploader/Img/l/7930573026/Img_22689.png
- 883 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 16:37:46 ID:1LlTRytx]
- 404じゃねえかアホ
- 884 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 16:42:36 ID:+BgxII2m]
- 自分は見えるんだけどな;
専ブラなら普通のブラウザで直接飛んでみてくれないか
- 885 名前:877 mailto:sage [2008/10/13(月) 16:49:49 ID:NvE7YaYt]
- 873は俺は見えないが872なら見えた。
同様に882は俺にも見えないが www1.axfc.net/uploader/Img/so/Img_22689.png これなら俺も見えるw
- 886 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 17:19:34 ID:1LlTRytx]
- クソみてえなアップローダ使うなよ
- 887 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 20:36:22 ID:8/f9V+rI]
- っていうか、この画像持って公式で聞いて来いw
- 888 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 21:25:16 ID:+BgxII2m]
- そうですね
公式で聞いてみます ありがとうございました
- 889 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 21:57:36 ID:Kshw6a23]
- 確かにそうなるな。
クラシックウィンドウ使ってるから気にならなかった。
- 890 名前:866 mailto:sage [2008/10/15(水) 17:55:03 ID:Yimr3vsO]
- 解決したので報告します
SetWindowLong(GetMainWindowHandle(), GWL_EXSTYLE, WS_EX_WINDOWEDGE); SetWindowPos(GetMainWindowHandle(), NULL, NULL, NULL, NULL, NULL, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
- 891 名前:名前は開発中のものです。 mailto:sage [2008/10/15(水) 23:59:28 ID:Emw9vuwB]
- 質問。
プログラムの素人レベルがシューティングを作るのにどれぐらいかかる? ・自機がジョイパッドで動く ・ショットが出る ・敵が出てきて動く(sin波ぐらいは実装したい) ・敵がショットを出す(2wayとか3wayとか全方位とか自機狙いのだけ、凝ったのなんてまだ技術的にムリだし) ・ザコが一定でた後にボス戦 ・自分にあたったら残機が減って、0になったら最初から ・敵に当たったらスコアが増えて、敵が消える ・ボスを倒したらゲームクリア ・1面のみ 本気だせば1ヶ月ぐらいで作れるかな? リソースはドットだけなら自分で書くつもり、音楽はムリ。
- 892 名前:名前は開発中のものです。 mailto:sage [2008/10/16(木) 00:35:15 ID:a+E7tl+p]
- 素人レベルってのがどれくらいかによる。
- 893 名前:名前は開発中のものです。 mailto:sage [2008/10/16(木) 00:43:12 ID:wEpmfpuy]
- プログラム全く分かりません、でなければいけると思う。
- 894 名前:名前は開発中のものです。 mailto:sage [2008/10/16(木) 00:44:07 ID:L3LJ4NiJ]
- >>892
上手く言えないけど今出来る事は 関数を作る(void なんとか(){ の奴) cppを分割してexternで呼び出してmainで実行 三角関数は一応出来る 何も見ないで自力で出来るのは、画像を→↓←↑と四角く永遠と移動させるぐらい 今やっててジョイパッドの移動ぐらいなら楽に実装できた。 でも当たり判定とか弾を出すコードのイメージがあまりつかめないって感じ。
- 895 名前:名前は開発中のものです。 mailto:sage [2008/10/16(木) 00:53:06 ID:IdgqtOe/]
- C++でexternて使ったこと無いかも
- 896 名前:名前は開発中のものです。 mailto:sage [2008/10/16(木) 00:55:21 ID:wWxMuhcD]
- >>894
ちょっと待ったー。 外部ファイルにある関数をexternで呼び出す必要はないぞ。 ヘッダファイルにプロトタイプ宣言する方法を勉強した方がいい。(ロベールとかで。) そっちの方がスマートに書けるし、それが定番。
- 897 名前:名前は開発中のものです。 mailto:sage [2008/10/16(木) 01:16:18 ID:L3LJ4NiJ]
- >>896
ん、ごめんまだ素人レベルだから言ってる事の意味が微妙に分からないんだけど つまり 何々.hのファイルにプロトタイプ宣言って言うのをすると、extern void 何々で呼び出す必要がなくなるって事?
- 898 名前:名前は開発中のものです。 mailto:sage [2008/10/16(木) 01:27:19 ID:wWxMuhcD]
- >>897
んー、実はexternの効果忘れた。>>895が言うように、使う場面が無いんだよね。 ○○.hにプロトタイプ宣言しておくと、その#include "○○.h"とするだけで、プロトタイプ宣言された関数が使えるようになる。 通常、一つにファイルに対して、一つのヘッダを作るよ。 例: hogehoge.cpp → hogehoge.h piyopiyo.cpp → piyopiyo.h 人によってはヘッダの拡張子がhppになったりする。(むしろ、C++のヘッダならこっちが主流かもしれないけれど) 確かにプロトタイプ宣言さえあれば、extern使う必要は無くなる。
- 899 名前:名前は開発中のものです。 mailto:sage [2008/10/16(木) 01:39:21 ID:L3LJ4NiJ]
- >>898
そうなのか、初めて知った。 ちなみにexternの場合だと player.cpp内の例えば void move(){ 何々 } って関数をextern.h内で「extern void move();」って宣言するだけで別のcpp内(main.cppでもnaninani.cppでも)使えるようになる。 externも勿論使うファイル内で#include "extern.h"とする必要があるけどね。 でもプロトタイプのが主流みたいだし、そっちを使ったほうがいいのかな? 因みに俺のプログラムの流れはこういう感じにしようと思ってる↓ main.cppって言うコードを作る、最低限の事を書いたら一旦放置。 ↓ キャラ移動とか敵の移動とか音楽を読み込むとかのコードを別ファイルに書く ↓ externで一つのヘッダーファイルにすべてのコードを読み込ませる ↓ main.cpp内で読み込んだヘッダーファイル内の別々に書いたコードを「○○();」メインループに読み込ませる。 って感じでつくろうかなーって頭の中で思ってたんだけど、間違ってるのかな? プログラム難しいけど楽しすぎwwwww
|

|