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

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

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

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

【 質問する香具師 】
・ どんな事で躓いているのか明確にしる。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書け。
0612名前は開発中のものです。2010/06/04(金) 20:48:59ID:Q9UNwKBA
vistaや7で効果音が複数重なると音量が小さくなることってないですか?
xpだとそんな事なかったのですが
0613名前は開発中のものです。2010/06/05(土) 06:53:33ID:yudDpx9T
>>611
実際にやってみるとわかるけど、自分でサイン波とかのオシレータ作って
合成して実際の楽器の音出すのってすごく難しいぞ。
FM音源なんてとても素人がどうにかできるもんじゃない。G
M規格だけでも128種類の音色とドラムセットがあるのに。
0614名前は開発中のものです。2010/06/05(土) 14:15:02ID:D1eyiAx2
結局出せる音がFMレベルなら、FM音源最初から使えばいいじゃん
>>611はVAクラスか打楽器系の音もサンプリング音源レベルの音質をソフトだけで作るって言ってんでしょ
まあ何も知らないただのバカだろうけど
0615名前は開発中のものです。2010/06/05(土) 19:21:06ID:1y0Oq8xy
>FM音源最初から使えばいいじゃん
どうやって?
今のサウンドカードは標準でFM音源なんて付いてないぞ?
0616名前は開発中のものです。2010/06/05(土) 21:05:53ID:XfBBOv5P
おうおう、やらない理由ばっか述べるねぇ
ま、別にいいんだけど
0617名前は開発中のものです。2010/06/05(土) 22:44:24ID:yudDpx9T
多分、周波数変調かけて結果をPCMで出力しろってことだから、
ハードウェア的にはFM音源ついてなくてもPCM音源があればおk
そんなことも分からないんじゃ自分で音源作るのなんて無理
0618名前は開発中のものです。2010/06/05(土) 22:48:00ID:1y0Oq8xy
そんなのエミュでやってるやつ沢山あんじゃん。参考にすれば
0619名前は開発中のものです。2010/06/08(火) 17:58:37ID:++DOtdab
FM変調でPCMサンプリング音源レベルのクオリティの音を出してるエミュを教えろよ
0620名前は開発中のものです。2010/06/08(火) 20:08:11ID:SUdoOdZh
>>619
話がズレてない?FM音源エミュレート結果の出力先にPCMを使用するってだけだろう
いやもうどれが話の本筋なのか分からんけど

ところでちょっとグレーな話になるけど、スーファミエミュから抽出したSPCファイルって
容量が64KBしかないのに結構綺麗な音がでるよね
再生プラグインも100KBそこそこだから波形データを再生機側に大量に持ってるわけでも
なさそうだし、スゲーなーと思ってた
0621名前は開発中のものです。2010/06/08(火) 21:18:46ID:++DOtdab
サウンドドライバのプログラマがすごい頑張ってたんじゃない?
FF4は、アクトレイザーのストリングスの音聴いて影響されて、
サウンドドライバ作り直しを命じたらしいし
0622名前は開発中のものです。2010/06/09(水) 09:21:16ID:pmTsWhEo
すいません、今からゲームを作る上で、質問というか相談というかちょっと1つお聞きしたい事があります。
今の同人というかフリーゲーム開発の中でDirectXを使ってる場合、9.0と10.0どちらが主流なんでしょうか?

よっぽど凝った物でもない限り現状普及率が高い9.0のほうがいいのだろうかと思うのですが、この先の事を
考えると10.0以降の仕様に慣れておいたほうがいいのかもしれないし、もしかしたらそれほど10.0でも影響少ないのかと思って悩んでるのですが。
0623名前は開発中のものです。2010/06/09(水) 10:22:21ID:rHuJZWIL
ここでこんな質問してるうちは、10.0で組んでも10.0独自の機能なんて
使いこなせないからどっちでも同じです。10..0だとXP切捨てになるし。
10.0以降の仕様に…ならもう11に行った方がいいんじゃない?
今から10.0を一から勉強すると、10.0独自の機能使う頃には12が出てると思われ
0624名前は開発中のものです。2010/06/09(水) 10:40:14ID:IiMYCbgY
>>622
9.0と10.0の比較だと今OSとハードの過渡期真っ最中だから
移行するならもう1・2年待った方がいいかもな、まだゲームはXPがメインって奴も多いだろうし
逆に言えばソフトの公開が1年後2年後とかなら10.0に移行してても良いのかもしれん
0625名前は開発中のものです。2010/06/09(水) 10:42:22ID:fYI9N/70
9切り捨てられるなら11でいいと思うよ。
0626名前は開発中のものです。2010/06/09(水) 13:45:50ID:pmTsWhEo
なるほど・・・レス感謝。

10向けのソフトなんてまだそれ程ないし、自分も知識や技術不足等あるので9を扱いきれるようになってから
様子見て10.1以降のに目を向けるようにします。
0627名前は開発中のものです。2010/06/09(水) 16:54:49ID:bi7/yVM/
>>620
SFCの音源部は、
・SPC700それ自体がCPU(6502系)なので、ドライバ書くときに、サウンド処理以外の負荷を考える必要がない。
・当時としては大容量の64KiBのSRAM(実際に音色データを置けたのはもっと少ない領域だったようだが)。
・32KHz/8chのADPCM。なので、容量自体はそんなに食わない(高音域の音が歪むという欠点はあるが)。
・再生波形のガウス補間、ピッチ/モジュレーション変更、エコー/リバーブ、フィルタをハードウェアでサポート。
てな具合で、無論、ドライバの工夫もあるんだろうけど、業務用ゲームも含めて、当時のゲーム用としては、もともと最高クラスのPCM音源だったのが要因。
0628名前は開発中のものです。2010/06/09(水) 20:44:25ID:yKxBirAe
midi→PCMってムズいの?
0629名前は開発中のものです。2010/06/09(水) 21:15:34ID:rHuJZWIL
ムズイっていうかMIDIは楽譜的な情報なのにPCMは波形だからなあ
自分で一からやるとそりゃあもう死ねます
実装によって仕上がりの音も全然違うし
0630名前は開発中のものです。2010/06/09(水) 22:32:28ID:qkJYSXJu
楽譜をCDにするのと似たようなもん、何処まで自分でやるかによる。

演奏者雇って楽器は買ってくれば(Windowsにファイルごと丸投げ)、たいした労力はいらんし。
自分で演奏して楽器も自作する(自分でSMFを解析し、シンセサイザーを自作する)となれば、相当な労力がいる。
0631名前は開発中のものです。2010/06/09(水) 23:59:35ID:eDbPYTsH
>>627
詳しい解説をありがとう、なんだか音のプログラマブルシェーダみたいですね
なぜSPCファイルが皆同程度の容量なのか不思議だったんだけど、ようは処理系のスナップショットなのか
0632名前は開発中のものです。2010/06/11(金) 12:50:28ID:hBamGraD
すいません、少々質問です。
>>622ですが、9.0c用のSDKを探しているのですがどのSDKを使えばいいのでしょうか?
0633名前は開発中のものです。2010/06/11(金) 12:54:06ID:hBamGraD
ageるの忘れたのと追記ですが、一応今DLしてあるものは June 10と最新の物なんですが、この中に
ソースとして10ってのと9っての2種類があるのですがもしかしてこのSDKって別に過去の物を使う必要がなく、
9.0cで使える関数等をつかえば9.0c向けのプログラムということになるのでしょうか?
0634名前は開発中のものです。2010/06/11(金) 12:58:26ID:WclTY3DZ
>>633
概ねそう。windows APIだって同じだろ。
0635名前は開発中のものです。2010/06/11(金) 16:24:22ID:b46tP7Yu
DirectSoundとかの古い機能を使わなければ問題ないな
0636名前は開発中のものです。2010/06/11(金) 22:30:53ID:WRoLJZOq
C++で実装する場合、敵データって何で管理すべき?vector?list?
shared_ptrは使うべき?
ここらへんの作法的なものがさっぱり分からなくて困る
0637名前は開発中のものです。2010/06/12(土) 08:19:34ID:odsGwdrC
私もこの質問に便乗して
私は追加削除は list の方が vector の方が速いと思ってたんですが
どっかで実は vector の方が速いとあったのでやっぱりそうなんでしょうか
しかもそれらSTL自体が遅いと聞いたので自分で作るのも考えたのですが
似たものは作れるのですが、全く同じ使い方のものを作ろうとすると今の自分にはちょっときついので
どこかで自作してるものを探したのですが、見つからなかったのでどこかにありませんでしょうか
自分で参考にもしたいと思ったもので
それとこれらの質問はゲームプログラミングを想定したものです一応念のため
0638名前は開発中のものです。2010/06/12(土) 09:36:07ID:MfFcNHJl
速さに関しては今のPCの方が優秀なのでよっぽどのことが無い限り気にするだけ無駄。
画面に何百万発の弾幕張るような仕様を実現できるかどうかはPCやグラボの性能次第。
速さの限界チャレンジは開発用PC上で”しか”意味が無い。
0639名前は開発中のものです。2010/06/12(土) 10:08:18ID:odsGwdrC
そうなん?じゃ無難に list でも使っとくか
0640名前は開発中のものです。2010/06/12(土) 10:22:20ID:ISREFi7t
描画が重いからって描画以外の部分の高速化を図るのはお門違いってこと?
0641名前は開発中のものです。2010/06/12(土) 10:31:19ID:IAfNttk3
list<effect>とlist<enemy>があってeffectからenemyにランダムアクセスしたいんだけど、
これって低速なのを承知してイテレータ使って探すしかないの?
それともなんか定石みたいのあるの?
0642名前は開発中のものです。2010/06/12(土) 10:49:27ID:Z4c//xCX
>>640
お門違いかどうかは、プロファイラで計測してみないとわかんないね。

>>641
本当にその検索がボトルネックになってるなら、同時にIDがindexのベクタに登録するとか。
つかそれ以前に、enemyに対するeffectって、enemyオブジェクト内にeffectアドレスでも
登録して、effectの寿命はCOMみたいに管理すれば、検索自体が不要な気が…
0643名前は開発中のものです。2010/06/12(土) 11:12:44ID:IAfNttk3
>>642
なるほど。後者の方法はいいかもしれないけど寿命管理が良く分からない
万が一先にオブジェクトが消えてしまて存在しないものを参照してアクセス違反とならないか不安
0644名前は開発中のものです。2010/06/12(土) 13:20:38ID:nozhbs64
>>640
よほどの数の敵が出てくるとかでなければ、コンテナの違いは
速度的にはあまり意味がない。
コンテナの違いは中身が万単位になってやっと意味が出てくる程度で
数百程度だと優位な差がなかったり、速度の逆転が起こったりする。

要素の挿入や削除でイテレータが無効になるとかの性質の方が重要。

速度に問題があれば、コンテナを変える前にアロケータを変えることを
考えた方がいいかも。
0645名前は開発中のものです。2010/06/13(日) 04:37:42ID:B+np0z/d
アロケータ調べてみたけど難しかったのでもう最初に new で一旦それぞれ使う分とっといてそれを使いまわすことにするわ
0646名前は開発中のものです。2010/06/14(月) 07:50:15ID:+L/wTpB0
アロケータとかリストとか自分で頑張って作ろうとしてみたけど疲弊しただけだったわw
もっと実力上がってから挑戦してみることにする
当面は大人しく new と STL 使ってるわ
いやね、言い訳になるが単純にリスト作るだけなら出来ると思うけど
汎用化させたりいろいろ絡んでくるとちときついわ今の自分の力では
0647名前は開発中のものです。2010/06/22(火) 16:48:44ID:TOC+2Opi
おれは動的配列を自分で作ってしまったよ。
ただ、配列のサイズ変更も自動でやってくれるとか、
自分なりに使い易い形にカスタマイズはした。
趣味の人ならこういう部分を楽しむのもアリだと思う。
0648名前は開発中のものです。2010/07/17(土) 22:15:17ID:84ym2+jv
おれは道程だから自分でオナってしまったよ。
ただ、ちむこのサイズ変更が自動でなってしまう朝立ちとか、
自分なりにイキ易い形にカスタマイズはした。
趣味の人ならこういう部分を楽しむのもアリだと思う。
0649名前は開発中のものです。2010/07/20(火) 09:31:58ID:9KeZQpZV
動的配列ってパイソンのリストみたいなやつ?
0650名前は開発中のものです。2010/07/20(火) 12:09:38ID:IRMyEe9a
std::vectorみたいなものでは?
0651名前は開発中のものです。2010/07/20(火) 13:18:37ID:ka0nTHRg
2D横スクロールアクションを創りたいんだけど、マップとかを作るのが大変すぎる
RPGツクールみたいな感じで創りたいんだけど、それには自分で専用のエディタをプログラミングしなきゃ駄目?
出来れば画面のある場所をクリックするとイベントが配置されて、画像とかイベント内容とかを
プログラムに書き加えてくれるような仕組みにしたいんだけど・・・
そういうのは難しいんだろうか
(モンスターAをどの位置に配置する、という地図をテキストデータにまとめて保存ということ
なら今の俺の技術でもできると思うんだけど、エディタの設定をもとにプログラムを自動生成して
書き加えてくれるようなのって可能?って質問です)
0652名前は開発中のものです。2010/07/20(火) 13:43:17ID:4zAYS/8u
>>651
普通にレイヤー編集が出来るマップエディタでだいじょうぶでしょ
マップチップをモンスターやらイベントやらに割り当てればいい

地形レイヤー(あれば便利な当たり判定レイヤーを分けるといい)
イベント配置レイヤー(アイテム・モンスターレイヤーで分けてもいい)

好きなだけ必要なレイヤー作ればいいと思うよ
0653名前は開発中のものです。2010/07/20(火) 13:48:33ID:ka0nTHRg
>>652
レイヤを作ってモンスターの配置・上層マップチップ・下層マップチップに分けて、
それの位置と内容をテキスト化何かに保存、というのは俺も考えてるんだけど、
問題はイベントの内容をエディタの中で決められないかな、ということ
RPGツクールだと「文章の表示」だの「画面を暗くする」だの「場所移動」だのの
コマンドを組み合わせるだけでいいでしょ
それと同じことをオリジナルエディタでやろうと思ったらどういう技術を使えば可能かってこと
0654名前は開発中のものです。2010/07/20(火) 13:51:20ID:9KeZQpZV
ツクールなんて普通知らねえよw
0655名前は開発中のものです。2010/07/20(火) 14:20:13ID:4zAYS/8u
>>653
オリジナルなら聞くまでも無くどうとでもなるじゃん。
フリーのマップエディタでどうにかならんかってことじゃないわけ?

イベントレイヤにマップチップ1を貼り付けて、
別ファイルたとえば"ev_1.txt"にメモ帳で内容を書くとすると、
簡単にマップチップとイベントを繋げられる。

・・・・ということじゃなく、そういうエディタを作りたいなら
最低WindowsGUIに関するプログラム(C#あたりなら楽)、
ツクール並みのイベント内容を解析したいならLuaあたりの知識、
1からスクリプト作りたいなら、構文解析に関する技術が必要だけど?
0656名前は開発中のものです。2010/07/20(火) 14:34:33ID:ka0nTHRg
>>655
そういうんじゃなくて、プログラムとエディタをいったりきたりする手間を省けないかなってことです
例えばエディタ上でイベントを配置したい場所をクリックするとウインドウが出てきて、
そこにプログラムを書いてOKを押すと、そのプログラムをCファイルに書き足してくれる、
というようなものです
0657名前は開発中のものです。2010/07/20(火) 15:03:14ID:4zAYS/8u
うーん、それだったら自分のニーズに合うものを作るしかないね。
プログラムとエディタを行ったり来たりしたくなければ、
スクリプトとしてイベントを外部に追い出すしかないだろうから。

>>651 で考えているのはCに直すんだから一種のトランスレータだろうけど、
その方法は、動かすたびにコンパイルしなおさにゃならんので、
結局エディタとプログラムを行ったり来たりすることになるよ。

しかし、そこから作るよりもあるものを使って作ったほうが最初はいいと思うけどね。
マップエディタと、メモ帳があればいいんだし。
マップチップに対応したイベントファイルにたとえば、

HP=10
移動パターン=1
攻撃力=12
防御力=3
落とす金=10

それをプログラムで読んでパラメータ設定したら、かなりエディタだけでよくなる。
これでも、経験が無いなら四苦八苦するだろうけど。
0658名前は開発中のものです。2010/07/20(火) 15:04:48ID:4zAYS/8u

×マップチップに対応したイベントファイルにたとえば、
○モンスターレイヤのマップチップに対応したイベントファイルにたとえば、
0659名前は開発中のものです。2010/07/20(火) 15:40:33ID:FFEjXre5
スト2の昇竜拳の軌道計算でつまってます。
下記の画像の逆放物線のような軌道計算は、
どのように行っているのかご存知でしょうか。
もしくは参考サイトなどありますでしょうか。

http://iup.2ch-library.com/i/i0121467-1279607725.jpg

入力情報としては

・頂点座標
・頂点到達時間(フレーム)
・現在再生フレーム(相対)
・横方向の力

出力情報としては

・フレームの進行度に対する前フレームからの相対位置
 要するに計算結果を加算するだけにしたい。

を考えています。
0660名前は開発中のものです。2010/07/20(火) 15:55:52ID:4PiPc8U0
1フレームずつ座標をプロットして結果をテーブル化
06616592010/07/20(火) 15:59:01ID:FFEjXre5
頂点位置や横方向の力は可変にしたいので
固定数値だと都合が悪いですね
0662名前は開発中のものです。2010/07/20(火) 16:13:47ID:SmPxzstR
物理的に考えれば等加速度運動とか等速運動だとかだけど
フレーム毎の計算だから数列の和だとかそんな感じか
高校数学レベルの話かな
0663名前は開発中のものです。2010/07/20(火) 16:22:41ID:4zAYS/8u
vx と vy に必要な初速度計算して

x = x + vx
vx = vx / (適当 * フレーム * 横の力)
y = y + vy
vy = vy / (適当 * フレーム)

みたいなのを毎フレーム呼び出すとかかいな
0664名前は開発中のものです。2010/07/20(火) 16:38:47ID:ka0nTHRg
>>657
遅くなりましたがありがとうございます。
テキストデータをエディタで編集して出力して既存のプログラムをテキスト化したものの中に埋め込み、
それの拡張子をつけかえてCファイルにして、コンパイル、
なんてことが出来ればそれが一番いいのですが・・・
色々調べたけど難しいみたいですね
0665名前は開発中のものです。2010/07/20(火) 16:46:15ID:4PiPc8U0
データと処理を完全に分離してテキストデータを書き換えるだけで動作が変わるようにした方が良いと思うが
0666名前は開発中のものです。2010/07/20(火) 16:54:45ID:ka0nTHRg
>>665
つまりテキストを引数にした関数を作っておくってこと?
0667名前は開発中のものです。2010/07/20(火) 16:59:53ID:4PiPc8U0
引数でもfopenでも何でもいいけど、データを書き換える度に毎回コンパイルするのは面倒臭くない?
0668名前は開発中のものです。2010/07/20(火) 17:07:34ID:ka0nTHRg
確かにそうですね
敵のパラメータもテキストで管理して、
マップにおける敵の位置もテキストで管理して・・・
そしたらエディタだけでだいぶ楽できるようになりますね
ただパラメータとかじゃなしの具体的な動作はプログラムでやらざるをえませんが
0669名前は開発中のものです。2010/07/20(火) 17:12:43ID:4zAYS/8u
具体的動作もLuaとか使えば外に持てるけどね。
0670名前は開発中のものです。2010/07/20(火) 17:22:14ID:ka0nTHRg
LuaでC++のコードを生成できるってことですか?
0671名前は開発中のものです。2010/07/20(火) 17:27:38ID:4zAYS/8u
ちがう。
Luaスクリプトを自作のプログラムに組み込める。
これはたとえば、Cで作った自作プログラムの上でさらにCを動かせるようなもの。
コンパイルなしで。

でもまぁ、最初からそうしようとすると今の状態だときついだろうから、
プログラムとデータを分離することに集中したほうがいいよ。
0672名前は開発中のものです。2010/07/20(火) 17:41:41ID:ka0nTHRg
>>671
うーん難しいですね・・・
キーワードとして覚えておきます
ありがとうございました
0673名前は開発中のものです。2010/07/20(火) 17:53:49ID:4PiPc8U0
具体的動作まで外部に出すべきかなあ。そこはコンパイラにチェックしてもらった方が安全だと思うな。
0674名前は開発中のものです。2010/07/20(火) 18:00:01ID:4zAYS/8u
ツクールでも作らない限りは、設定ファイルの延長で十分だし
そこのさじ加減は作る人の好みだねぇ
0675名前は開発中のものです。2010/07/21(水) 00:33:49ID:EY0IZyCn
>>673
一度のコンパイルで十分くらいかかる位プロジェクトがでかくなったらそんなこと言えなくなるぞ
0676名前は開発中のものです。2010/07/21(水) 00:57:10ID:eplgz5cR
じゃあC/C++を捨ててスクリプト言語でプログラム作ってろよ
0677名前は開発中のものです。2010/07/21(水) 02:02:55ID:EY0IZyCn
実際そうなる
0678名前は開発中のものです。2010/07/21(水) 06:18:38ID:O18++P2x
>>675
リビルドならともかく、ビルドでそうなるってのは、どっか設計が間違っていると思う。
0679名前は開発中のものです。2010/07/21(水) 07:38:28ID:60wOpc+n
いまどきのPCならコンパイルも瞬殺だから、外だしする理由もないよね
0680名前は開発中のものです。2010/07/21(水) 07:39:25ID:60wOpc+n
無駄に色んなクラスが1つのファイルに収まってたり、
無駄にヘッダを読みまくってたりすると、一箇所変更しただけで
大量にコンパイルが発生して遅くなったりはするけど
0681名前は開発中のものです。2010/07/21(水) 09:47:27ID:Ef6/96NX
俺の場合1プロジェクトで何個もゲームこさえるスタイルだから無駄に色んなクラスが1つのファイルに収まってるわw
0682名前は開発中のものです。2010/07/21(水) 09:54:22ID:EY0IZyCn
一箇所変更しただけでコンパイルとかしないから。
どのくらいの大きさのプロジェクト作ったことある?ソースファイル1000個超えたことある?
0683名前は開発中のものです。2010/07/21(水) 10:08:52ID:DTn2ZgeR
つーか、複数のグループで分業とかしないのかな
0684名前は開発中のものです。2010/07/27(火) 02:25:46ID:RZRqKDLL
>>656
何故Cのファイル?

C言語がベースならLuaを組み込んで、エディタからLuaのスクリプト吐くとか。
Lua組み込みすら大変な事情があるなら、構文を制限してcsvとか >>657 みたいな構文で吐くのはまだ楽
ただどっちにしろ羅列したコマンドを自分で処理する必要が出てくる

ただし、イベントスクリプト内で四則演算したいとか関数がほしいレベルの要求があるなら
迷わずLuaなりなんなり組み込み言語に行くのが今の時代だな
1からスクリプト組む時代じゃないわ
0685名前は開発中のものです。2010/07/27(火) 02:36:14ID:RZRqKDLL
>>682
コンパイルの速さはそれこそ言語や処理系によるからな

ソースファイルが1000程度なら、Delphiなら10年くらい前でもフルコンパイルに30秒もかからなかったからな。
部分修正なら一瞬だった。
C++なら工夫しないと部分的修正でもファイル多いと死ねた時代だ。
pimplとか試してたわ

家ゲーの知り合いに聞いたら、今はスペック上がったからC++でもサクサクコンパイルできると言ってたが
実際どうなん?

うちはC++から離れちゃったんで最近C++事情に疎い
0686名前は開発中のものです。2010/07/27(火) 07:58:54ID:gQwuLlov
そりゃまあ、プリコンパイルなしで、あらゆるソースでテンプレートを使いまくったあげく、
そのファイルを更新した、なんてことしたら大変なことになるよな。

>>685
ソースコードが42MBのライブラリをリビルドすると、数分はかかる > Core2Duo 3GHz/VC++2005
うまく切り分けてあるソースのビルドならほとんどの場合数十秒未満だから、まあ、さくさくっちゃーさくさく。
0687名前は開発中のものです。2010/07/31(土) 19:12:16ID:odxEQo6u
ちんまいファイルを沢山読むせいかRAMDISKとかSSD使うと明らかに速くなるな

0688名前は開発中のものです。2010/10/27(水) 15:38:02ID:PA2n5kiT
横スクアクションゲームについて質問なんだけど
スーファミのドンキーのようなやつはマップチップ使ってるのか?
マップチップ使ってるやつならなんとなく作り方分かるけどあーゆーのはどうやって作るの?
あとマップエディタ使ったときステージ固有のギミックとかどうやって組み込めばいいの?
06896882010/10/28(木) 05:05:55ID:BuHTqjnE
ごめん別のとこに移る
0690名前は開発中のものです。2010/12/13(月) 01:35:44ID:k+jnh4qf
↓の優先デバイスってプログラム側でどうやって取得するのでしょうか?
ttp://peufrequente.blog41.fc2.com/blog-entry-636.html

VC#2008 Expressで、ManagedDirectXつかってゲーム作っているのですが、
DeviceList list = Manager.GetDevices(DeviceClass.GameControl, EnumDevicesFlags.AttachedOnly);
を実行するとゲームパッドの取得順番が変わるのかと思いきや、変わりません。
もしかして別に取得する手段があるのではと思い、質問させていただきました。

ご存知の方、どうかご教授お願いします。
0691名前は開発中のものです。2010/12/16(木) 18:44:40ID:0O6i5tIq
はじめの1歩でつまずいたので助けてください。

環境VC++2010Express
DrectXSDK June 2010

やったこと
VC++で新規プロジェクトを作る( Win32の空やつ)

test.cppをソースに追加する
内容
#define STRICT
#include <Windows.h>
#include <d3dx9.h>

LPDIRECT3D9 g_pD3D;

int PASCAL WinMain(HINSTANCE hInst,HINSTANCE hPrev,char *CmdLine,int CmdShow)
{
g_pD3D = Direct3DCreate9(D3D_SDK_VERSION);
}

プロジェクトのプロパティからVC++ディレクトリをみて
インクルードディレクトリに$(DXSDK_DIR)Include
ライブラリディレクトリに$(DXSDK_DIR)Lib\x86
を追加する。

ビルドする

この作業で
error LNK2019: 未解決の外部シンボル _Direct3DCreate9@4 が関数 _WinMain@16 で参照されました。
が発生してます。
あと、どのディレクトリを参照させればいいですか?
0692名前は開発中のものです。2010/12/16(木) 20:16:39ID:eb1OKGp3
#includeの下あたりに

#pragma comment(lib, "d3d9.lib")

とでも書いとけ
0693名前は開発中のものです。2010/12/16(木) 20:46:19ID:arJifEUh
つーかPASCALとかいつの記法だよと
0694名前は開発中のものです。2010/12/16(木) 22:38:10ID:0O6i5tIq
>>692
ライブラリの指定って必要なんだっけか?
ディレクトリ指定して終わりじゃないんだ。
解決できました、ありがとうです。


>>693
オレはこれしか知らんのだが
最近は違うのがあるのか?
(199X年発行のウインドウズプログラム入門書見ながら)
0695名前は開発中のものです。2010/12/17(金) 12:23:19ID:NsCCmq8+
PASCALとかWin16時代の遺物だろ。

microsoft.com内を検索してもページによって
WINAPIだったりCALLBACKだったりでわけわからんことになってるな。
どれも最終的に__stdcallになるだろうが。
0696名前は開発中のものです。2010/12/20(月) 12:54:09ID:CPsUR6OJ
>>694
お前は10年以上経ってもプログラム技法が変わらないとでも思っているのか
0697名前は開発中のものです。2010/12/20(月) 15:03:26ID:kH/vSo81
それにしてもCは長いよな。
まぁCといっても色々変遷してはいるが。
0698名前は開発中のものです。2010/12/20(月) 15:41:17ID:unK/nJml
次は何になるんだろうな?
64bitに切り替わる時か、128bitに切り替わる時に何かあるかな?
0699名前は開発中のものです。2010/12/26(日) 14:40:10ID:BzGIguKq
質問失礼します
C++でのWindowsプログラミングで、エディトウィンドウAでの文字入力を捕まえてエディトウィンドウBに同じメッセージを飛ばすということをしたいのですが、次のコードだと日本語入力を捕まえてくれません。
(Aをサブクラス化しています)

LRESULT CALLBACK AProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
 if(message == WM_KEYDOWN) {
  PostMessage(B, WM_KEYDOWN, wParam, lParam);
 }
 return CallWindowProc(defEditProc, hWnd, message, wParam, lParam);
}

日本語入力も捕まえるようにするにはどうすればいいでしょうか。ご教示お願いします。
0700名前は開発中のものです。2010/12/26(日) 19:40:07ID:DlRTWhIN
>>699
やりたいことはよくわからんが、WM_CHARの方を使うとか
0701名前は開発中のものです。2010/12/26(日) 21:04:31ID:BaeaVQ+I
>>699
フォーカスがBに無いと受け取らないんじゃね?調べてないけど。
WM_USER+xとかで送れば?
0702名前は開発中のものです。2010/12/29(水) 05:14:22ID:IFaaeh/8
>>699
捕まえるにはWM_IME_KEYDOWN、WM_IME_KEYUPを見たらいけるかもしれない。
ただし、それをそのまま転送してもだめなはず、
IMEの処理が入る位置はWM_KEYDOWNやWM_IME_KEYDOWNより前の段階であるため。
やるならSendInputやkeybd_eventで同じキーストロークを再現する(これでうまくいくかは知らない)。

あるいは、>>700の言っているようにWM_CHARなどの転送で事足りるのかもしれないけど。
0703名前は開発中のものです。2010/12/30(木) 22:44:31ID:ptpBQcHB
WM_IME_COMPOSITIONを捕まえてGCS_ほげほげで判定したらいけました。
ありがとうございました。
0704名前は開発中のものです。2011/02/05(土) 01:46:02ID:oyWwf9Pp
ひとこと書いてみた。
0705名前は開発中のものです。2011/02/07(月) 17:55:57ID:jb6HR8rZ
MIDIをOpenALで鳴らしたいのですが、どうすれば良いですか?
0706名前は開発中のものです。2011/02/07(月) 20:20:59ID:xF2jTO5N
無理です
0707名前は開発中のものです。2011/02/07(月) 20:44:44ID:9xgbd+uS
almixerってどうなの?
0708名前は開発中のものです。2011/04/07(木) 15:30:11.65ID:i/kzJacP
フリーのシューティングゲームなどで、カーソルや自機が左上に移動し続ける現象が起こりますが、原因はなんでしょうか。
対処法も教えてください。
0709名前は開発中のものです。2011/04/07(木) 16:36:53.27ID:Ifq1Rv8t
ジョイスティックの調整をしろ。
0710名前は開発中のものです。2011/04/07(木) 16:52:58.06ID:pcoolw30
プログラミングの質問なのにそれはないだろうw
0711名前は開発中のものです。2011/04/07(木) 18:04:54.19ID:hqT2HpYb
708の質問を読む限り、プログラミングの質問に思えないんですが。

「フリーのシューティングゲームなどで」って事はプレイする側の話でしょ?
■ このスレッドは過去ログ倉庫に格納されています