トップページgamedev
818コメント302KB

Windowsゲームプログラミング 質問スレ

■ このスレッドは過去ログ倉庫に格納されています
0001うゆ ◆vvvK3Fcqdg 2008/11/06(木) 21:28:45ID:lNn2skuQ
※回答する人も、質問する人も必ず読んでください

【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。

【 質問する香具師 】
・ どんな事で躓いているのか明確にしる。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書け。
0511名前は開発中のものです。2010/02/08(月) 22:42:47ID:yaKOf+tK
>>510
レミングみたいなのが何百匹もいたら重くなるんじゃない?
0512名前は開発中のものです。2010/02/08(月) 23:45:29ID:TFUWga5H
三十匹くらいかな
0513名前は開発中のものです。2010/02/15(月) 05:51:28ID:iDG/RoSA
超、初心者なんだけども練習がてら
数当てゲーム
15パズル
リバーシ(オセロ風)
テトリス
ブロック崩し
「パックマン」
補講:敵のアルゴリズム(AI)?
横スクロールアクション
STGを作れ
SLGを作れ
FF風RPG/DQ風RPG
簡単な3Dゲーム
を、python,c,c++,c#と段階的に練習してみようと思うんだがどうだろうか
0514名前は開発中のものです。2010/02/15(月) 06:25:39ID:7pi/323z
>>513
横スクロールアクションの方が、地形の扱いや重力の扱い等の要素が多い分
STGよりはやることが多い。

SLGというのが非リアルタイムの大戦略的な物なら、かなり簡単な部類。
FF風RPG/DQ風RPGなんてSTGとかより簡単。
この辺はバランスを取りつつ膨大なデータを作るのが大変なだけ。

3Dに行く前に、回転有りの2Dを経験した方がいい。
ナムコのアサルトやキャメルトライ等。

パックマンのあたりで、スクロール無しのアクション系でもやった方がいいかも。
0515名前は開発中のものです。2010/02/15(月) 06:26:05ID:RFVAWStO
>>513
「どうだろうか」とはどういう意味?
やってみたら良いんじゃないでしょうか。としか答えられないけど・・・
まあ、初心者なのに12ジャンル×4言語=48個は多すぎじゃないか?
とりあえず言語は一つに絞った方がいいよ。
0516名前は開発中のものです。2010/02/15(月) 07:17:04ID:cbly0qco
初心者にC++はないわ
0517えいいち ◆GRGSIBERIA 2010/02/15(月) 07:45:05ID:4ZhNq4Tf
>>513
難しさだったら
Python << C# < C < C++
だと個人的には思う。
でも、Pythonはどちらかと言うと、C++を使うのが面倒くさいマ向け言語だから、
言葉通りの超初心者だったらオススメしない。
最初からCでやったほうが他の言語に移行しやすい。

C++で本格的にやりたいのなら、まずはC++でクラス設計の基本を押さえつつ、
Pythonで一度組んでみることがお勧め。
1クラス1ヘッダーなんて理不尽なファイル構成にならないためにも、
モジュール単位でコードを組む方法を身につけたほうがいいから。

>>515
各言語1個ずつやるってことではないんでないのかい?
0518名前は開発中のものです。2010/02/15(月) 08:21:29ID:cbly0qco
言語1つ覚えるだけでも大変で各言語1個ずつやるなんて考える余裕なんてないでしょましてや超初心者に
0519名前は開発中のものです。2010/02/15(月) 17:16:13ID:Cd1wbsad
C++を使えるようになれる自信があるならC++でやっとけ
もしプログラマになる可能性があるならC++は必須
趣味で考えたゲームが実現できればいいだけなら、
その目標のゲームを作ることができる一番簡単な言語を選ぶ
0520名前は開発中のものです。2010/02/15(月) 17:36:44ID:cbly0qco
超初心者がC++に手を出すのはやめといた方が・・・
やるんなら取りあえずCまともに使えるようになってからでも遅くはないと思うがなあ
0521名前は開発中のものです。2010/02/15(月) 17:43:22ID:Nxk5kWkJ
段階的にやるって言ってるんだし、まずはスクリプト言語で作って
移植していくのでいいかと
0522名前は開発中のものです。2010/02/15(月) 17:57:52ID:n4qXt3PM
言語外の部分に伏兵が多い品。
0523名前は開発中のものです。2010/02/17(水) 23:06:07ID:B+oI5OUV
今仕事でJavaやっててこの後、C++かC#でDirectX使ってゲーム作成してみたいけど
C++とC#で実行速度に違いは顕著に出るんですか

0524名前は開発中のものです。2010/02/18(木) 03:59:59ID:S5tbEoCa
>>523
C++でもある程度のスペックが必要だし、ボトルネックになるのは描画部分なのであまり気にしなくていいと思いますよ。
ベンチマーク結果もあるみたいなので参考までに。
ttp://www.shudo.net/jit/perf/
ttp://reverseblade.blogspot.com/2009/02/c-versus-c-versus-java-performance.html
0525名前は開発中のものです。2010/02/18(木) 22:03:52ID:w01VKSPN
>>523
レースゲームで物理エンジン組むなり、
SLGで何万人もの動きをシミュレートするなりするなら話は別だが、
そうでもない限り気にするような違いは出ないと思う。
0526名前は開発中のものです。2010/02/21(日) 04:38:17ID:2l2wvu6L
ロード画面のことで質問があります。

「Now Loading」とだけ表示し、ロードが終わったらタイトル画面などに切り替える場合だと

Draw("NowLoading");
image1 = LoadFile("image1.bmp");  //ファイル読み込み
....
bgm5 = LoadFile("bgm5.ogg");    //ここまで
state = new Title;  //状態遷移

といった具合になると思うのですが
ファイルを読み込みながら、読み込んだ割合を表示するというのはどういう風に書かれているのですか?
思いついたのはファイル一覧をテーブルにして

i = 0;
while(i < FILE_MAX){
  for(; i < FILE_MAX; i++){
    file[i] = LoadFile(filename[i]);
    if(3秒経過した) break;
  }
  Draw("Loading %dパーセント", i*100/FILE_MAX);
}

みたいなのだけど、まさかこんな事やってないだろうと思っているのですが…
0527名前は開発中のものです。2010/02/21(日) 07:28:08ID:i9ENpozX
>>526
その方法で問題無いよ。
ただし、1ファイルの読み込みに3秒以上時間がかかったときに処理落ちしてしまう。
この場合はマルチスレッドにして読み込みと表示を別スレッドにするのが一般的じゃないかな。
それ以前に読み込みを高速化させるべきだとは思うけど・・・
0528名前は開発中のものです。2010/02/21(日) 20:28:55ID:2l2wvu6L
>>527
有難うございました
0529名前は開発中のものです。2010/02/22(月) 12:37:06ID:dzJGwHVS
メッセージボックスを使わずに(新しいウインドウを出さない)テキストフィールド
を作成するのって可能なんでしょうか?画面にそのままキーボード入力できる箇所を作りたいのですが
0530名前は開発中のものです。2010/02/22(月) 14:47:05ID:GzvshjVK
環境による
通常のWindowsアプリならウィンドウに直接テキストボックス貼り付ければいいけど
Directなんとかでやってるなら、SDKのサンプル見てみるといいかも
0531名前は開発中のものです。2010/02/22(月) 15:07:58ID:FbIcwD45
ウインドウメッセージからテキストの追加削除を行い描画する。
キーやクリックにあわせてカーソルを移動させる。

大して難しい処理じゃない。
0532名前は開発中のものです。2010/02/22(月) 17:25:48ID:dzJGwHVS
>>530
>>531
DirectXのサンプルにテキストボックスを扱ったものがありましたが、色々と
インクルードしなければなりませんでした。
531に書いてあるようにキーに合わせてフォントを描画方法でやりたいと思います。
ありがとうございました。
0533名前は開発中のものです。2010/02/23(火) 12:09:49ID:IDzEfXiX
WSAAsyncSelectのFD_ACCEPTは最初のクライアントからの接続要求のみ呼び出されて、
それ以降の他のクライアントからの接続では呼び出されないのですか?
2人目以降のクライアントはクライアント側のFD_CONNECTしか呼び出されていませんでした。
0534名前は開発中のものです。2010/02/23(火) 12:36:31ID:IDzEfXiX
すみません。
2人目以降もFD_ACCEPTが呼ばれるようでした。
お手数おかけしました
0535名前は開発中のものです。2010/02/26(金) 16:14:12ID:vSXVLwvV
ゲームでよくあるデータの保存と読み込みってどういう仕組みになってるんですかね?
保存
保存したい変数を文字列で格納→何らかのアルゴリズムで暗号化→ファイル出力

読み込み
保存したファイル読み込み→暗号データから文字列に復元→変数に代入

というかんじでしょうか・・
テキストファイルをそのまま出力してもプレイヤーに読み取られてしまうと思うので




0536名前は開発中のものです。2010/02/26(金) 18:10:11ID:k8Nclp+o
>>535
そんな感じです。
0537名前は開発中のものです。2010/02/26(金) 19:45:39ID:lcr+uN2q
>>535
文字列にする必要はないけどね。
バイト列の方が扱いやすいし、人間にも読まれにくい。
まぁ、バイト列でもそのまま出力すると、簡単に解析されてしまうが。

XORかけて、チェックサムでも入れとけば十分。
0538名前は開発中のものです。2010/02/27(土) 04:37:55ID:pMMukQvt
バージョンうpによるセーブデータの互換性も考慮したいなら少しまんこい
0539名前は開発中のものです。2010/02/27(土) 11:03:05ID:lavVPI3c
どうも有難うございます
参考にさせて頂きます
0540名前は開発中のものです。2010/03/03(水) 00:33:50ID:wPHsfoXn
てst
0541名前は開発中のものです。2010/03/06(土) 21:44:25ID:cKzvkmmp
プログラムというよりかはアルゴリズムの質問になってしまうと思うんですが、
パネポンみたいなパズルゲームのせり上がりの処理って
どういう風に考えればよいのでしょうか?
0542名前は開発中のものです。2010/03/06(土) 22:05:07ID:oMl4iNGE
普通に考えて、2次元配列のブロックを
描画では端数だけ上げて、1ブロック分上がったら
配列を前段繰り上げるようにすればいいと思うけど。

反問するけど、仮にせり上がりがなかったとして
どんな風に実装するつもりなんだ?
0543名前は開発中のものです。2010/03/06(土) 22:21:04ID:cKzvkmmp
ありがとうございます、かなり単純なことみたいですね…

何に対しての実装かちょっとわからないんですが、
ゲームの仕様ってことだったらパネポンと大して変わらないもの
を試しに作ってみたい思った次第です。
0544名前は開発中のものです。2010/03/06(土) 22:32:15ID:JczPuVwf
>かなり単純なこと
逆だバカ

やりたい事を難しく考え杉
0545名前は開発中のものです。2010/03/07(日) 03:26:35ID:uh/knnrz
VisualC++2008ExpressEditionについて質問です

出力したEXEでは画像が読み込まれるのですが、
F5やデバッグ開始ボタンだと画像の読み込みに失敗してしまいます。

これってビルドしたEXEを出力してるディレクトリに使いたい画像とかおくだけじゃだめなんですね
何を設定すればいいんでしょうか

一昨日からプログラムを始めたのでコンパイラそのものの仕様がよーわからんとです。
関連付け?カレントディレクトリ設定?と考えたのですがいまいちヒットしないので助力願います
0546名前は開発中のものです。2010/03/07(日) 03:34:34ID:uh/knnrz
書き込んだら冷静になって、自己解決しました
なぜかEXEを基準にかんがえてたのでDebugフォルダに画像などを用意してたとです・・・
プロジェクトやソースそのもの位置でいいのですね

お騒がせしましたorzスレ汚しごめんなさい
0547名前は開発中のものです。2010/03/08(月) 12:39:39ID:0nKKs+l0
カレントディレクトリは実行する人の都合で好きに変えられるから
どうしてもEXEの場所がいいなら、APIでEXEの場所調べてそこ使った方がいいぞ
0548名前は開発中のものです。2010/03/08(月) 15:10:42ID:OwcKYY2B
>>23
0549名前は開発中のものです。2010/03/10(水) 22:52:00ID:fado/aIt
プログラムを組んだ事の無い人間なんですが、
SLGを作ろうと考えてます。

2Dで3D処理は無しで考えてるのですが、
C++とHSPで作るとしたら、どちらが良いでしょうか?
長所と短所が有ったら教えて下さい。
0550名前は開発中のものです。2010/03/10(水) 23:06:19ID:cS7N9VCd
C++はかなり難しいと思うので初心者が手を出すとかなり時間が掛かるんじゃないかなあ
これやる位ならCから始めた方がいいかも
HSPは初心者向きの言語って言われてるからC++よりはこっちの方がいいんじゃないか
0551名前は開発中のものです。2010/03/11(木) 09:51:57ID:ar5ZJEPB
なぜHSPを挙げたのでしょうか。教えてください
0552名前は開発中のものです。2010/03/11(木) 13:24:30ID:I816Pm6U
車の運転免許取るときに、エンジンの構造の勉強からはじまったら嫌だろ。
最初は興味もあるだろうが、ブレーキ、ギア、クラッチ・・・とか延々と続くとやってられない。

目的が運転なら、オートマ車で
アクセル踏んだら進む、ハンドル切ったら曲がる、ブレーキ踏んだら止まる、
とか必要な部分だけをさくっと覚えて、
運転をしたくないか?

つーことで、ゲームを作るのに必要な最低限の機能が備わっている
HSPを覚えた方が良いから進めてるんだと思うぞ。

C++は何でも出来るけど、なぜ何でも出来るかを理解しないと、
何でも出来ないという所があるからお勧めしないんだと思うぞ。

0553名前は開発中のものです。2010/03/11(木) 14:38:37ID:ar5ZJEPB
それならツクール薦めりゃいんじゃん
0554名前は開発中のものです。2010/03/11(木) 14:42:19ID:VLD8tp4g
SLGツクールってどんなのがあるよ?
0555名前は開発中のものです。2010/03/11(木) 16:22:38ID:0Tgz6gC5
ていうかC++とHSPのどちらかと聞かれたからHSP挙げたまでで
より簡単だというんならそりゃツクールとかあるだろうよ
ただツクール金掛かるのが嫌だな
05565492010/03/11(木) 21:57:21ID:UxZwAiXZ
>>550
アドバイスありがとうございます。
>>552
更にわかりやすく、噛み砕いた説明ありがとうございます。

SLGツクール系は、買って合わなかったらやだな〜って事で
除外してました。

答えてくれた方々、ありがとうございました。
0557名前は開発中のものです。2010/03/15(月) 21:07:36ID:q4e6j4OO
>>549
参考スレ

初心者専用スレ「シミュレーションゲーム」を作らない?2
http://pc11.2ch.net/test/read.cgi/gamedev/1172141181/
0558名前は開発中のものです。2010/03/30(火) 23:55:58ID:i144vM1o
個人でFFTみたいなゲームを作ろうとおもうのですが
どんなソフトがあれば作れるでしょうか。
当方ズブの素人です。visual studio2008は持っています。
趣味で何年かかけて作ろうとおもっています。
後、初心者でゲーム作るならこの本読んどけってのもあれば
教えていただけるとありがたいです。
ご助力お願いします。
0559名前は開発中のものです。2010/03/31(水) 00:34:25ID:/1s1VCU/
逆に聞きたいんだけど、それ以外に何が必要だと思うの?
0560名前は開発中のものです。2010/04/03(土) 01:35:28ID:6drkN7Tj
再描画と安定したFPSについての質問です。
C#でGDIのゲームを作っているのですが、
Vista (32bit) まではヌルヌルだったのに、
7 (64bit) に変えたら微妙にコマ落ちするようになりました。
重くなったわけではなく、0.5秒ごとに割り込みが掛かっている感じでカクつくんです。

スレッドやプロセスの優先度を上げても変わらないし、
そもそもフレーム処理時間は安定して一定時間に終わっているようなのです。

Vista -> 7 で、なにかGDI周りの挙動に変更が入ったりしたのでしょうか?
0561名前は開発中のものです。2010/04/03(土) 07:11:45ID:ML07Lysw
分解能
0562名前は開発中のものです。2010/04/11(日) 21:47:05ID:Ko/6dSa+
ようやく規制が切れた

>>560
Windows7は全く使ったことのない俺だが、

>そもそもフレーム処理時間は安定して一定時間に終わっているようなのです。
ってことは描画に遅延が入っているか、GDIの描画先がオフスクリーンバッファで
それが表面に更新されていないかだろうね

1フレームの描画が終わったらGdiFlushを呼んでるか、HDCを開放しているか
くらいしか思い浮かばん
05635602010/04/12(月) 10:16:43ID:6QZI5wHp
>>561
ループで描画しているので分解能は関係ないんです。
QueryPerformanceCounter使ってるし。

>>562
おっしゃるとおり、GDIレイヤで遅延しているように見えます。
でもGdiFlushなども使ってみましたがダメでした。。。
0564名前は開発中のものです。2010/04/12(月) 16:29:39ID:Ub/aw0v4
7からはgdiはレガシーになった云々、ハードウェアアクセラレーションが云々。
0565名前は開発中のものです。2010/04/12(月) 22:16:40ID:ohJzuPYP
>>563
最終出力を自分のプロセスで行えない場合、システムに余力がないと更新が滞ることもあるな
全てのCPU使用率が常時50%以下になってるか確認してみるとか
05665602010/04/12(月) 22:49:05ID:6QZI5wHp
>>564
Direct2Dでごり押ししてみないと真相は不明でしょうか・・・。
GDIが全体的に遅くなるのなら理解できるんですが、
0.5秒という長すぎる間隔でカクつくのが腑に落ちないっす。
DWMがアンチティアリングをしているせいかとも思うんですが、確認するすべも思いつきません。。
05675602010/04/12(月) 22:50:32ID:6QZI5wHp
>>565
常時1%〜4%です。
タスクマネージャで確認するレベルですが。
0568名前は開発中のものです。2010/04/13(火) 00:32:26ID:mniTafWA
>>560
#これで、結局バックグラウンドでインデクシングが
#発生しているだけだったら笑える。ディスクアクセスしてない?

ところでそのループは描画しているウィンドウを生成したスレッドで動作してるの?
05695602010/04/13(火) 01:43:29ID:nmFp0o6d
>>568
ウインドウを生成したスレッドでしています。
何もしていない状態でもかくつきます。


いろいろ試してみたら、やはりDWMのアンチティアリングが影響しているようです。
0.5秒間隔のカクつきはV-sync待ちとのタイミングが最悪な時なのかも?
Aeroを切ったり、CreateWindowのスタイルパラメタを変更しても挙動が変わることが分かりました。
一番安定したのはAero状態のD2DでV-sync待ちで描画したとき。

正直大混乱中。よくわかんねーっす。。。
0570名前は開発中のものです。2010/04/13(火) 11:00:59ID:mniTafWA
>>569
Aero off と on で動作が違うと言えば、例えば::InvalidateRect()で、第3引数のbEraseをFALSEにすると
Aero off の時クライアント領域が更新されないことがあったりしたな。
ただこれはVISTAも同じだから、7だけおかしいと言うことだと関係ないかも知れないが。

GDIを利用して作成していると言うことだけど、どっかで更新をOSに任せてたりしないか?
一度全部明示的にアップデートしてみるといいよ。
0571名前は開発中のものです。2010/04/15(木) 22:39:37ID:oS8V8JHF
3Dのゲームを開発しています。

キャラクターが毎フレーム移動するんですが
その際に前回いた座標と今回いた座標を結んだベクトルを計算し、
壁などのポリゴンを通過したら押し戻すという処理をしています。
しかしポリゴンに対して直角(90度)に進めば押し戻されるのですが
10度くらいの角度で進むといずれはめり込み、
計算の誤差のようなもので通り抜けてしまいます。

こういう場合はどうしたら意図した動きになるでしょうか?
普通壁にめり込まない処理というものはベクトルで処理をするものではないのでしょうか?
0572名前は開発中のものです。2010/04/15(木) 22:56:32ID:oS8V8JHF
age
0573名前は開発中のものです。2010/04/16(金) 08:49:10ID:E7soBA+n
スレタイも読めない池沼さんはお帰りくださいね
0574名前は開発中のものです。2010/04/16(金) 15:39:17ID:tfuXF2uQ
>>571
移動してから次フレームで衝突判定するんじゃなくて
移動させて衝突判定させて移動量減らしてから移動確定
0575名前は開発中のものです。2010/04/17(土) 18:34:27ID:YPPhHYQE
>>574
その方法をとっているのですが上手くいきません
ベクトルとポリゴンは諦めて
球とポリゴンの当たり判定にしたいのですが
参考URLなどご存知ないでしょうか?
0576名前は開発中のものです。2010/04/17(土) 20:49:33ID:g85Nq5+3
DL版のMSDNが2GBもあるってどういうことだよ
おとす気が失せるな・・・
0577名前は開発中のものです。2010/05/02(日) 13:48:47ID:qwH1pwxC
_CrtSetDbgFlagがメモリリーク検出してくれないんだけど
心当たりある?
WinMainの最初で呼んでんだけど.
0578名前は開発中のものです。2010/05/02(日) 21:18:23ID:Fty9ttWn
>>577
デバッガで起動してないとか
0579名前は開発中のものです。2010/05/03(月) 00:13:29ID:G8fNhcut
してます...

別に仕様変更で,最近機能がなくなったとかじゃないですよね...?
0580名前は開発中のものです。2010/05/03(月) 00:24:48ID:G8fNhcut
#define _CRTDBG_MAP_ALLOC
#include <crtdbg.h>

int main()
{
_CrtSetDbgFlag(
_CRTDBG_ALLOC_MEM_DF //メモリリークチェック用のヒープ使用
| _CRTDBG_LEAK_CHECK_DF //プログラム終了時にメモリリークチェック
);

int* p_int = new int();

return 0;
}

このプログラムでエラーメッセージがでません.
ちなみに,当方VCですが,メッセージは
出力ウィンドウでの確認で間違いないでしょうか?
0581名前は開発中のものです。2010/05/03(月) 17:53:02ID:F+lE+L/N
試しにやってみたら上のコードでメモリリーク検出されたよ

以下、出たメッセージ >>
Detected memory leaks!
Dumping objects ->
{59} normal block at 0x008F4D40, 4 bytes long.
Data: < > 00 00 00 00
Object dump complete.
<<ここまで

_CrtSetDbgFlag()をコメントアウトすると出なくなるからちゃんと機能してるみたい
環境はwin7 64bit VS2008で、win32コンソールアプリケーション
コンパイルの設定は、プリコンパイル済みヘッダを使用しない、にした以外はデフォルトのまま
0582名前は開発中のものです。2010/05/04(火) 04:57:17ID:2vXYcehC
SFCの奇々怪界〜謎の黒マント〜の丸パクリゲーを作りたいんですけども、
ゲーム製作に関する技術が0の状態です
プログラミングもまったく技術がありません
このゲームを作るのに向いているプログラミング言語がありましたら教えてください
勉強しようと思います
私のPCのOSはwin7です
windows系列で動作するゲームにしたいです
0583名前は開発中のものです。2010/05/04(火) 06:05:40ID:2vXYcehC
ちなみにwin7の64bitです
32でも64でも動くものにしたいです
0584名前は開発中のものです。2010/05/04(火) 09:47:00ID:N7bMdxX7
.>>581
ありがとうございます.
コードはおかしくないってことですね.
こちらでも別環境で試してみます.
なんでだろう...
0585名前は開発中のものです。2010/05/04(火) 11:18:45ID:ATvQPLh8
>>582
C言語
0586名前は開発中のものです。2010/05/04(火) 15:19:34ID:3AEGCGVU
+DXLIB
0587名前は開発中のものです。2010/05/04(火) 17:08:55ID:2vXYcehC
>>585-586
thx
0588名前は開発中のものです。2010/05/04(火) 21:18:06ID:I3BOmytc
vsyncがスマートに待てるんならDIBでやりたくなるけど、何かいい方法ないかな
0589名前は開発中のものです。2010/05/05(水) 00:46:35ID:I28q1E30
Vista以降ならIDXGIOutput::WaitForVBlankでできんじゃね
使ったことないから的外してるかもしらんけど
0590名前は開発中のものです。2010/05/30(日) 22:41:11ID:/03sGIqd
VRAMに直で書き込むのって、Windows環境だとやっぱり、DirectXを使わないと出来ないもの?
まだ学生だから、車輪の再開発をしまくって勉強したいと思ってるんだけど、なんらかの
コンポーネントを使用しなきゃ出来ないのなら、割り切ってコンポーネントの勉強をしようと思うんだけど
0591名前は開発中のものです。2010/05/30(日) 22:59:33ID:hMrpRgoR
DirectXを使わないと出来ない
0592名前は開発中のものです。2010/05/30(日) 23:01:41ID:hMrpRgoR
そういや、CreateDIBSectionを使うという手もあったな。
0593名前は開発中のものです。2010/05/31(月) 00:00:56ID:y4dMI0mp
newとかで確保したメモリに書いた画像を出力するならSetDIBitsToDeviceが手っ取り早いと思うけど、
VRAM自体のアドレスを取得してロックしようと思ったらDirectXを使うしかないと思う
0594名前は開発中のものです。2010/05/31(月) 23:03:43ID:QJNjNz5n
アクションゲーム作ってるんだけど、敵の処理どうやってる?
全ての敵の行動をクラスに纏めたEnemyクラスっていうのを作っちゃって、
そこに敵の種類ごとに動作とか設定しちゃおうかなって思ってたんだけど、
それじゃ敵の種類が少ないマップでもロードに時間がかかるとかってなる?
0595名前は開発中のものです。2010/05/31(月) 23:06:46ID:QJNjNz5n
あと、敵の残りHPとか座標とか時間管理のデータってどこで管理すればいいんでしょう?
グローバルな変数を作るとか?
0596名前は開発中のものです。2010/05/31(月) 23:13:40ID:+7YvNv71
>>595
Enemy クラスに HP、時間、座標を定義して
Enemy を継承した EnemyA、EnemyB … を作ってそこに種類ごとの行動を書けばいい
ロード時間はといより Enemy で全部やろうとすると処理コストが増えるかと
0597名前は開発中のものです。2010/05/31(月) 23:30:20ID:SBpXG6MJ
大体それぞれの敵データ管理するためにクラス作ったんじゃなかったのか・・・
0598名前は開発中のものです。2010/05/31(月) 23:31:08ID:QJNjNz5n
なるほど継承ですか
そういうのがあるんですね
ありがとうございます
0599名前は開発中のものです。2010/05/31(月) 23:58:57ID:OsgCe482
OpenALでMIDIを再生したいのですが、どうすれば良いですか?
0600名前は開発中のものです。2010/06/01(火) 00:53:23ID:8zniKIGy
無理です
0601名前は開発中のものです。2010/06/01(火) 11:05:50ID:HlkdJvUb
MIDIデータをWavにする部分を全部自分で書けば何とか
06025992010/06/01(火) 18:31:41ID:zaH3D1aV
>>601
正にそれです。
MIDIパーサ、MIDIレンダラーを作りたいのですが、何をどうすれば良いのか
さっぱりな上、そういった事を解説してるサイトも皆無なので困っています。
0603名前は開発中のものです。2010/06/01(火) 19:13:55ID:jI99bfoW
そんな事言ってる奴にはまず無理。
0604名前は開発中のものです。2010/06/01(火) 22:07:22ID:02kRTTDw
>>602
FM音源とかにしといたら?
そこそこのクオリティを持ったMIDI音源とか個人でなんとかなるレベルじゃなさそう
0605名前は開発中のものです。2010/06/02(水) 11:17:16ID:eHTKFESg
まず音源データそのものを集めないとね
こればっかりはプログラムだけじゃ無理だろう
0606名前は開発中のものです。2010/06/02(水) 22:56:16ID:Ggr0fEGO
>>591
>>592
>>593
やっぱりそうなのか…
回答ありがとう。とりあえず、Direct3D9の勉強を少しやってみようかと思う。ありがとう
0607名前は開発中のものです。2010/06/03(木) 22:58:45ID:N5aCEzsm
>>602
ソフトウェアシンセとSMFファイルを解析する部分が要る
とりあえずGM規格の仕様書でも読んでみたらいい、やる気なくすから
0608名前は開発中のものです。2010/06/04(金) 16:44:04ID:Vz1OVRZS
ソフトシンセもSMF解析も言うほど難しくは無いだろ
0609名前は開発中のものです。2010/06/04(金) 17:04:27ID:tnAvyTGm
この世にそういうソフトが存在している以上不可能ではないな
いずれにしてもまずはGM互換の版権フリーか自前の音源データが必要
0610名前は開発中のものです。2010/06/04(金) 18:16:01ID:vIQ5MHoj
音をサンプリングしてまともにPCMシンセとして使えるレベルまで
編集するだけでも、どれだけ機材と時間と技術と手間がかかるんだか…
■ このスレッドは過去ログ倉庫に格納されています