1 名前:デフォルトの名無しさん [05/02/25 05:10:53 ] ※回答する人も、質問する人も必ず読んでください 【 回答してくださる方 】 ・ できるだけ優しく質問に答えてあげてください。 ・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。 「ググれ」以外の回答でおながいします。 ・ 神ですら理解不能な質問は無視して下さい。 【 質問する香具師 】 ・ どんな事で躓いているのか明確にしる。 ・ 長くならないなら躓いている部分のコードを晒してみれ。 ・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書け。
236 名前:名前は開発中のものです。 mailto:sage [2006/07/16(日) 21:12:59 ID:+JiTcTeg] StrとかValの使い方が明らかにおかしいw あとその汚いソースコードは何とかしたほうがいい。 a+bは文字列連結だし。
237 名前:名前は開発中のものです。 [2006/07/17(月) 01:11:08 ID:MDyRCzaO] >>235 ラベルやテキストボックスのValueは、文字列だから。 >236の指摘通り、そこの使い方が根本的に間違えてる。
238 名前:名前は開発中のものです。 mailto:sage [2006/07/17(月) 09:50:04 ID:YehA4Jel] プログラミングWindows上下巻(Charies Petzold著)と英和辞典が必須か
239 名前:235 [2006/07/17(月) 10:25:35 ID:lqXylc4k] >236>237 ご指摘ありがとうございました。
240 名前:名前は開発中のものです。 [2006/07/17(月) 12:33:08 ID:lqXylc4k] VB.NETのゲーム中で音楽を流したいのですが (プログラム中のFormの場所に?)どのようなコードを記述すれば良いでしょうか? ちなみに音楽ファイルの種類は『MIDIシーケンス』、『Winamp media file』のものしか持っていないのですが、可能でしょうか?どうかよろしくお願いします。
241 名前:名前は開発中のものです。 mailto:sage [2006/07/23(日) 21:20:12 ID:ak03kWW1] >Winamp media file プログラム以前に拡張子に関して勉強やり直してきてくださ
242 名前:名前は開発中のものです。 [2006/07/29(土) 00:23:29 ID:nGtRJv9b] >>241 てめーに聞いてねえんだよ。クソが。 どなたか質問に答えてくださいおねがいします
243 名前:名前は開発中のものです。 mailto:sage [2006/07/29(土) 01:46:01 ID:S/WdcXq4] 2chでは糞な奴に会う場合が多いので、いちいち書いてたら大変なので糞がを付けないようにしている。 こんにちは(お日柄も良く)みたいにいつも糞がの省略している。 例 適切な解説ありがとう御座います。助かりました(糞が)
244 名前: ◆1porpfThBQ [2006/07/29(土) 04:13:25 ID:N4kXLIKR] w
245 名前: ◆rCHJ9S75sQ [2006/07/29(土) 04:18:28 ID:N4kXLIKR] u8
246 名前: ◆Pc8O3myB3o [2006/07/29(土) 04:19:13 ID:N4kXLIKR] e
247 名前: ◆VsPWT7kee6 [2006/07/29(土) 04:20:02 ID:N4kXLIKR] y
248 名前: ◆mv8HC/D2Bw [2006/07/29(土) 04:20:49 ID:N4kXLIKR] r
249 名前:名前は開発中のものです。 mailto:sage [2006/07/29(土) 10:07:48 ID:NBeZ7thm] >>242 ググればすぐ出てくるでしょう? 一週間も何やってたんですか?w
250 名前:名前は開発中のものです。 mailto:sage [2006/07/30(日) 17:59:57 ID:RVJrt37D] 雨にも負けず 風にも負けず 雪にも夏の暑さにも負けず 丈夫な身体を持ち 欲はなく決していからず いつも静かに笑っている 一日に玄米四合と味噌と少しの野菜を食べ あらゆることを自分を勘定に入れずに よく見聞きし分かり そして忘れず 野原の松の林のかげの 小さなかやぶきの小屋にいて 東に病気の子供あれば 行って看病してやり 西に疲れた母あれば 行ってその稲の束を負い 南に死にそうな人あれば 行って怖がらなくてもいいと言い 北に喧嘩や訴訟があれば つまらないからやめろと言い 日照りのときは涙を流し 寒さの夏はおろおろ歩き 皆にデクノボーと呼ばれ ほめられもせず 苦にもされず そういうものに 私はなりたい(糞が)
251 名前:名前は開発中のものです。 [2006/08/12(土) 20:09:02 ID:nFOVoREH] ?
252 名前:名前は開発中のものです。 [2006/08/13(日) 00:03:23 ID:NmZSkLh2] とりあえず winamp media file まで読んでみた。
253 名前:名前は開発中のものです。 [2006/08/13(日) 06:47:15 ID:2UkITm4H] 僕らは旅人、常にどこかへ歩いている。 どこに行けばいい? 僕らはここからどこへも行けないの? 誰でもいいから教えてください。 いつまで歩けばこの道は途切れる? 野宿なんてもうこりごりだよ。 目の前にある看板にはなんて書いてある? 町がどこかを書いてあるといいんだけれど。 目の前に見えているのは町? 家があるけど町ではないね。 僕に翼があればいいのに・・・。 翼があれば歩く必要も無い 翼が欲しいな。 何を どれだけ どのように 犠牲にすれば手に入る? 僕は何をすれば自由になれる? 翼を求める本当の理由 それは誰にも分かることなし。 むなしくつづる僕の文。 誰にも伝わることの無いこの思い。 preas me 僕にください。 だれでもいい 何人でもいい 条件があってもかまわない だから、お願い翼をください 僕を自由にしてください。
254 名前:名前は開発中のものです。 mailto:sage [2006/08/13(日) 07:56:34 ID:o/UAG1nJ] >preas me
255 名前:名前は開発中のものです。 mailto:sage [2006/08/13(日) 10:16:18 ID:ivtGp+tH] >press me つぶして!
256 名前:名前は開発中のものです。 [2006/08/25(金) 18:42:13 ID:Gxqk6qh5] 質問です directxの方かちょっと迷いましたが本題が微妙に違う気がしたので こちらに書かせてもらいました 今DirectX上で、文字入力をするプログラムを書いています。 表示関係は終わったのですが、入力をどうしたらよいのか迷っています。 検索してもあまりよくわからなかったのですが、普通は入力システムを自前で 全て作るものなのでしょうか? それとも、APIとかを使って何か内部バッファに入力を溜めるような便利なものが あるのでしょうか?
257 名前:名前は開発中のものです。 mailto:sage [2006/08/25(金) 18:50:59 ID:RFenyKMu] Cならchar型の動的配列を自前で用意するとか C++ならstring型とvectorコンテナかlistコンテナを組み合わせて文字列を格納するとか
258 名前:名前は開発中のものです。 mailto:sage [2006/08/25(金) 21:25:28 ID:RVtfbAQ1] >>256 話がよくわからないけど、番号が非常にキリがいいので、 エスパー能力全開で答えてみる。 WinAPI使ってるなら LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wpr, LPARAM lpr) みたいなコールバック関数があるはずだ。 ここでmsgに WM_KEYDOWN WM_KEYUP WM_CHAR があったら要注意。wprの内容を適当に内容を解釈すべし。 WM_IME_STARTCOMPOSITION WM_IME_ENDCOMPOSITION についても調べておくとちょっと幸せになるかも。 まぁ、なんかのライブラリを使ったほうがもっと幸せになれるとは思うが。。。
259 名前:名前は開発中のものです。 mailto:sage [2006/08/25(金) 22:22:37 ID:Gxqk6qh5] >>258 自分で読んで思ったけどこれだとよくわからないですよね directxで文字入力をする窓を作ったのですが(EDITコントロールみたいなの) カーソルも含めて表示はDirectXで出来るように作ったのですが 入力はどうやって作ろうかなと悩んでいるのです ざっと考えると、キー入力があったら、それに対応した文字をバッファに入れればいいような気がしますが シフトで大文字小文字とかCAPSとかコピーペーストとかIMEの有無や制御とか 全部自力で作るのかなぁと DirectXでゲームを作っている人で、画面上に文字入力をするような場合は みんなどのようにしてるんでしょうか
260 名前:名前は開発中のものです。 mailto:sage [2006/08/25(金) 22:27:30 ID:Gxqk6qh5] 付け加え 文字入力する窓というのは、テクスチャで表示している独自に作った ウィンドウのことです。文字とカーソルもテクスチャで表示しています。
261 名前:補給屋 ◆ZA3g9myNTI [2006/08/25(金) 22:34:03 ID:fUkTY6Eo] Direct3Dですか?
262 名前:名前は開発中のものです。 mailto:sage [2006/08/25(金) 23:04:52 ID:j9BFP6Ja] >>259 大文字小文字程度なら WM_CHAR で適用済みの文字コードが受け取れる IMEは変換中の文字列をどう表示するかが難しそうだな、俺は知らん
263 名前:名前は開発中のものです。 mailto:sage [2006/08/25(金) 23:18:05 ID:RVtfbAQ1] スレ違いのようだが、 質問は「DirectXでどう入力を受け取るか」だけど、 回答は「WinAPIのウィンドーメッセージで受け取れ」だから、 スレ違いじゃない罠。 >>259 DirectXのDirectはハードの直接制御だから、 ちゃんとした文字列を受け取るのは無理じゃないかと思うが… どうしても腑に落ちなきゃDirectXスレで聞いてみると良いかもね。 >>262 IMEで変換中の状態が表示されるので、 自分の場合表示位置の座標を変更して、 あたかもプロンプトから入力しているように装ってるw
264 名前:名前は開発中のものです。 mailto:sage [2006/08/25(金) 23:27:43 ID:Gxqk6qh5] >>261 表示はそうですね。文字入力窓のテクスチャを2Dで表示して バッファの文字を上に貼り付けてという風に ネトゲのチャット入力みたいなものですが、やっぱりちゃんと作らないと だめかぁ >>262 なるほど…ということは、それを含めてカーソルの移動と挿入削除とコピペと IMEの判定と変換中と確定後の処理って感じなのかな。道は長い >>263 多分258さんが言う感じで、入力調べて頑張ってという感じだと思うので その辺りをちょっと頑張って作ってみます ありがとう
265 名前:名前は開発中のものです。 mailto:sage [2006/08/26(土) 00:27:44 ID:m2Iaf5aG] >>264 最近似たような事やってたので一応コレ ttp://nienie.com/~masapico/api_ImmGetCompositionString.html
266 名前:名前は開発中のものです。 mailto:sage [2006/08/26(土) 02:41:41 ID:tKmIInJP] RPGのキャラクターとかのメモリビットマップ(PC解像度と同じ) を作りすぎると、描画速度が遅くなってしまいます。 量としては、フィールドの点滅用(480×480)×3、 マップチップ(256×256)×1、キャラチップ(72×128)×32などです。 だから、一部はファイルにおいて置いて、使うときのみロード みたいなのも行ったんですが、ロードに時間がかかりすぎます。 (ロードは8ビットだとかなり遅く、24ビットだと少し緩和されます。) 何かいい方法はないでしょうか。 環境は、9x系、128M。
267 名前:名前は開発中のものです。 mailto:sage [2006/08/26(土) 03:37:56 ID:xnHGRGx3] >>266 描画ってのが何やってんだかわかんね。 それがわからんからフィールドとかマップチップとかキャラチップとか どれが何なのかわかんね。
268 名前:266 mailto:sage [2006/08/26(土) 04:08:09 ID:tKmIInJP] >>267 レーザーラモンさんありがとうございますw 描画は全体的な速さというかBitBltの速さです。 最終的な描画は全てBitBltを介してなので。 フィールドは、ウィンドウに表示されているマップ全体の事です。 遅いなと感じるのは、マップをスクロールさせる時です。
269 名前:名前は開発中のものです。 mailto:sage [2006/08/26(土) 04:11:13 ID:MLjkH/sO] 早さを気にするのなら他の描画エンジンを使った方がいい気が。
270 名前:名前は開発中のものです。 mailto:sage [2006/08/26(土) 04:35:21 ID:xnHGRGx3] >>268 だいたいわかった。けど、やっぱりソースがないと明確なアドバイスはしづらいね。 「こんな方法があるよ」って言っても「それはもうやってる」って言われる可能性が高い。 あと、レーザーラモンじゃなくてレイザーラモンね。
271 名前:266 mailto:sage [2006/08/26(土) 06:11:03 ID:tKmIInJP] もしかしたら、描画が遅いのではなく、 ウィンドウメッセージが連続で来るスピードが遅いのかもしれません。 スクロールは極端に遅くなりますが、 普通の描画はそんなに遅くなった気がしないので、 キーを押し続けたときのWM_KEYDOWNが遅くなったのかもしれません。 こちらの方について、いろいろ実験してみます。 >>269 GDIとかですかね。何かで結局はBitBltが速い みたいなのを聞いたので、こればっか使っているんですけど。 >>270 レイザーラモン・・そうでした。 レーザーラモンでもビリビリフォーとかネタはできそうだけど。 試した方法です。 ・登録ビットマップ量を少なくする それを言ったらおしまいだが最終的にはこれでしょうか ・>>266 の使うときにロードするやり方 ロードが遅すぎる 24ビットマップならそれなりの速度になるが 作品の容量が大きくなるし、リソースには使えない ・マップに入ったときに、使用する分のみロードする なかなかいい方法 使用量が多いときはごめんなさいで ・メモリビットマップの画質をPCと同じではなく、PCより下げる 極端に遅くなる PCの画質とメモリビットマップの画質を 合わせるのに時間がかかるらしい
272 名前:名前は開発中のものです。 mailto:sage [2006/08/26(土) 07:20:57 ID:jU4tm91q] 区切りの良いスパンでメモリに確保
273 名前:266 mailto:sage [2006/08/26(土) 08:04:08 ID:tKmIInJP] >>272 なるほど、そこは考えていませんでした。 良さそうな方法がいろいろ見つかったので、 それらを実験してみることにします。 お答えいただいたみなさま、ありがとうございました。
274 名前:名前は開発中のものです。 mailto:sage [2006/09/13(水) 23:08:11 ID:3PoFJJDV] 266さんじゃないんですが、 それを解決するのに「ファイルをオープンしっ放し」という方法を取ったのですが、 これって安全なんでしょうか?
275 名前:名前は開発中のものです。 mailto:sage [2006/09/14(木) 00:49:46 ID:MoDAUHsA] ファイルハンドルを開放せずに落ちたらどうなるかの
276 名前:名前は開発中のものです。 mailto:sage [2006/09/14(木) 01:47:04 ID:rwvsmMJW] あったかクノール♪ あったかクノール♪
277 名前:名前は開発中のものです。 [2006/09/14(木) 10:50:53 ID:gNg1nIFw] >>266 に当てはまらない可能性のほうが高いけど、 俺は以前、クラスをちゃんとdeleteしてなかったせいで重くなってた。
278 名前:名前は開発中のものです。 mailto:sage [2006/09/14(木) 13:39:03 ID:YoSST93w] >>275 1.おちないようにする(大命題) 2.デストラクタを使ってクリーンアップが完全にできるように ファクトリクラスなどを作る。 DirectXの場合など開放の順番が必要になるので 開放の優先順位通りにデストラクタで開放できるようにしておけば OS的にはほとんど問題ない。
279 名前:名前は開発中のものです。 [2006/09/14(木) 20:04:48 ID:UU058loN] 274ですけど、 落ちるっていうのは、そのアプリケーションが落ちるって事ですよね? OSが落ちるって事では無いですよね? 275さんによると、OSによる自動ファイル開放は期待できない、ということですね? でも、278さんによるとデストラクタは呼ばれる可能性があるみたいですね。 もし、強制終了でもデストラクタが呼ばれるなら ファイル管理クラスのデストラクタで、ファイル開放をすれば解決しそうですが…。
280 名前:名前は開発中のものです。 mailto:sage [2006/09/15(金) 22:50:37 ID:LV6+FZpS] 本日windowsプログラムに手をつけた若造です。 最初にメッセージボックスを表示する文を打ち込んでみましたが、早速つまずきました。 打ち込んだ文は、 #include<windows.h> int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevIntance, LPSTR lpCmdLine, int nCmdShow ){ int MessageBox(NULL,"test","test",MB_OK); return 0; } これだけです。 エラー内容は、messagebox関数の行で「初期化子の数が多すぎます。」とでました。 いろいろ考えてみたけどさっぱり分からないんで、誰か教えてください。
281 名前:名前は開発中のものです。 mailto:sage [2006/09/15(金) 22:54:26 ID:Q4a1m6UH] int MessageBox(NULL,"test","test",MB_OK); ↑このintは何よ?
282 名前:名前は開発中のものです。 mailto:sage [2006/09/15(金) 22:56:34 ID:B+YyIKNU] >>280 Cの基礎からやり直せ。
283 名前:名前は開発中のものです。 mailto:sage [2006/09/15(金) 22:59:05 ID:LV6+FZpS] int抜いたら出来ました、、 Cの基礎からやり直してきます
284 名前:名前は開発中のものです。 mailto:sage [2006/09/16(土) 00:56:51 ID:AkzEWiy4] >>280 どっからコピーしてきたか知らないけど、一字一句でも間違えたらダメだよ
285 名前:名前は開発中のものです。: [2006/09/18(月) 11:20:58 ID:Sv37SaL7] windows APIで、画像をひとまとめにしたdatファイルから LoadImage()等で表示するにはどうすればいいですか? または、HSPのmemfile命令と同等の関数があれば教えてください。 開発コンパイラ:BCC32
286 名前:名前は開発中のものです。 mailto:sage [2006/09/18(月) 12:27:42 ID:ojXe2P0e] リソースを読み込むAPIなので用途が違う。 適切なAPIを使え。
287 名前:名前は開発中のものです。 mailto:sage [2006/09/18(月) 17:15:52 ID:T/AO14da] >>285 そのデータの形式にもよるが、 DIBの形で読み込めるなら、CreateDIBitmapとかで出来ると思う。
288 名前:名前は開発中のものです。 mailto:sage [2006/09/22(金) 05:20:19 ID:UxeWHvRU] TextureならFromFileInMemoryとか
289 名前:名前は開発中のものです。 [2006/10/05(木) 08:54:14 ID:UCkPjisv] うむ
290 名前:名前は開発中のものです。 [2006/10/06(金) 23:22:42 ID:nNc3THyN] すいません、困っているので、教えてください。 今、スマートボールを作っているのですが 方向ごとの衝突反応が上手くできなくて困っています。 ブロックの左に玉がぶつかったら 右の衝突反応が優先されてしまったりしてしまっています。 ブロックの左に当たったら 左の衝突反応。 ブロックの上に当たったら 上の衝突反応。 といったようにきちんとした反応が返ってくるようにしたいです。 たぶん衝突判定あたりが問題だと思うのですが どうにも直すことができません。 誰か教えてください。
291 名前:名前は開発中のものです。 mailto:sage [2006/10/06(金) 23:51:36 ID:+9iAuVTh] ボールの左上、左下、右上、右下の4つで当たりを取って、 後はそのうちのどれとどれが衝突しているかで条件分け。 がんばれ。
292 名前:290 [2006/10/07(土) 00:19:22 ID:tK+JL53m] >>291 さっそくの返答、ありがとうございます。 ボールの当たりを取るっていうのは if (ボールとブロックの衝突判定) { /*ボールの右側が当たった場合*/ if ((ballPos.x + BALL_WIDTH) == blockPos.x) { degree = (180 - degree); } } みたいな感じで良いんでしょうか?
293 名前:290 mailto:sage [2006/10/07(土) 04:34:25 ID:M90oHVt8] >>291 色々とやってみて 3回に1回くらい 思った通りの動作をするようになりました。 ですが、精度を高めることができなかったので ピンを敵に変えてアクションゲームにしました。 アドバイスをいかしきれなくて すいません。
294 名前:名前は開発中のものです。 mailto:sage [2006/10/07(土) 10:49:25 ID:JWPSnV8K] よくわからないが、ボールが右に動いて壁に当たったなら 壁には左に当たっているわけだから、壁の右の衝突判定は呼び出す必要はないだろ? もし、壁もボールも動くなら、相対速度を求めて、 どちらかだけの衝突判定をすればいいんじゃない?
295 名前:290 mailto:sage [2006/10/07(土) 18:50:12 ID:M6IRgPHU] >>294 説明不足ですいません。 ボールの速度が一定でないので 頻繁にブロックへのめり込みが発生して 思ったような衝突判定ができなかったみたいです。 あと、ブロックは動かす予定はありませんでした。
296 名前:名前は開発中のものです。 [2006/10/15(日) 17:35:00 ID:ZDJeTry+] 判定部分のソース晒すのが一番早いかと
297 名前:名前は開発中のものです。 mailto:sage [2006/10/15(日) 21:42:00 ID:C/TMVGDR] 移動する前に当たり判定して終わりのような
298 名前:名前は開発中のものです。 [2006/10/17(火) 06:19:58 ID:Ci2KLVBp] ダイレクトXってほんとわかんねーよ。 あれってわざと難しくしてるんじゃねーか? MFCは一応使えるようになったけど、(理解はしてないが) あれは次元が違う難解さだ。 ゲーム用ベーシックみたいに、Porigon(x,y,z)とかで簡単に表示できるかと思ってたわ。
299 名前:名前は開発中のものです。 mailto:sage [2006/10/17(火) 08:05:30 ID:v0yfnzhi] 頭が悪いなら諦めろ。
300 名前:名前は開発中のものです。 mailto:sage [2006/10/17(火) 11:16:17 ID:D9KM+For] >>298 3Dはみんなそんなもんだよん Direct3Dを簡単に扱うためのBASIC見たいな 文法で書くスクリプト言語とかMFCの様な C++のライブラリ使うとかすれば いいんじゃないの?
301 名前:名前は開発中のものです。 mailto:sage [2006/10/17(火) 13:39:31 ID:EGJYiJfH] PlayStationは凄い素直だった。 マイクロソフトは何でもかんでもカプセル化すれば良いと思ってる。
302 名前:名前は開発中のものです。 mailto:sage [2006/10/17(火) 17:08:41 ID:U7WoMmHI] COMとかそこら辺の流れが入ってきてるから分りにくいだけだろ。 分らない奴はOpenGLでも使ってろ。
303 名前:名前は開発中のものです。 mailto:sage [2006/10/17(火) 18:16:39 ID:hbZjh9o3] そりゃPCとコンシューマ機は違うでしょ。
304 名前:名前は開発中のものです。 mailto:sage [2006/10/18(水) 06:48:34 ID:WfLow5G2] いまどきDirectXでCOMがどうとか言ってる人がいるとは 何年前から冬眠してたんだろ
305 名前:名前は開発中のものです。 mailto:sage [2006/10/18(水) 12:28:41 ID:5TL5JyUw] 人の作ったライブラリにおんぶに抱っこじゃ、そりゃCOMのことなんか分からないよなw
306 名前:名前は開発中のものです。 mailto:sage [2006/10/18(水) 14:55:21 ID:WfLow5G2] ん?DirectXのことかな?それともWin32のことかな? 頭悪い突っ込みほど格好悪いものもないねー
307 名前:名前は開発中のものです。 mailto:sage [2006/10/18(水) 16:11:59 ID:5TL5JyUw] DXライブラリ厨乙
308 名前:名前は開発中のものです。 mailto:sage [2006/10/18(水) 20:30:52 ID:jafne6Pg] 二人合わせてWTL
309 名前:名前は開発中のものです。 [2006/10/19(木) 19:35:51 ID:QtL2sYe+] DXライブラリは救世主だと思ったのに
310 名前:名前は開発中のものです。 [2006/10/22(日) 11:41:55 ID:Q0NnJdKD] i:::::::::::::i:::::::;:::::::::::::::::::::::::/i:::::/ i::::::::::::::::::::::| そんなことよりもっと考えるべきことがあるだろう。 |::::::::::::|:::::/::::::::::;:::::::::/ /:::/ i::::::i:::::::::::::i たとえば『画面のキャリブレーション』だ。 |:::::::::::|:::::i:::::::/::::/ /:::/ |::::|:::::::::::/ 画面によってぜんぜん発色が違うのは常識だね? ∨:::::::|::::|:::::イ:::/ /:::/ |::::|:::::::::/ そう、常識だ。いや、常識だと多くの人々が思っている。 ∨:::::|:::| ̄ナナ=、 /::Zz=='"T:T|:::::::/ だが、実は画面やドライバの設定がおかしいだけかもしれない。 ∨:::|::|::ャ代戌ナ= // 弋戌テT:ァi::::::/ そもそも最低限の調整すらしたこと無い人が多いのではないか。 ∨:::i:i/ i/ / i/./:::::/,_,, そう主張する人も少なくない。 rヤ::::|i. ! / /i::::::ハ Y ふっ、どうも私は口下手で困るよ。 ,,イrヤ::::|ゝ. i / ,イ::::< .〉 .ト、 つまり常識を疑えということだ。 rイ! レヤ:::|i .ゝ. _ _ .イ.|:::/ ソ ! ト‐、 >ー''フ/''| | ヤi::| i .|\ // |::/ / ト、 `ー、 / i i ャヤi j > 、 //./ |:i / | Y ttp://www.eurus.dti.ne.jp/~koich-n/retouch/display.html ttp://blogs.yahoo.co.jp/komutai_tk/42100061.html ttp://www.w3.org/Graphics/Color/sRGB ttp://bsg.to/mt/archives/200609/2006-09-07T23:42.shtml
311 名前:名前は開発中のものです。 mailto:sage [2006/11/04(土) 08:44:47 ID:u3HqISdl] 会話などを表示するためにサブウインドウを作成し、表示したのですが 表示中に再描画を行うとサブウインドウの画面がちらついてしまいます。 これを防ぐにはどのような対処を行えば良いでしょうか?
312 名前:名前は開発中のものです。 mailto:sage [2006/11/04(土) 12:58:01 ID:/q8A3ZyR] >>311 一度画面全体をバックバッファに描く
313 名前:名前は開発中のものです。 mailto:sage [2006/11/04(土) 16:36:15 ID:u3HqISdl] >>312 ShowWindow();を使ってたんですが ウインドウも画像を使うべきということでしょうか?
314 名前:名前は開発中のものです。 mailto:sage [2006/11/04(土) 19:48:09 ID:eIj40MQq] >>313 とりあえずバックバッファでググレ。
315 名前:名前は開発中のものです。 mailto:sage [2006/11/07(火) 11:51:06 ID:8tSL6aoZ] >>313 ヒント「DIBSection」
316 名前:名前は開発中のものです。 mailto:sage [2006/11/07(火) 14:05:03 ID:WJeQGxZV] そのサブウィンドウってのはWindowsのウィンドウとして作ってるの? だとしたら親ウィンドウにWS_CLIPCHILDREN属性を設定すればいいと思う。 ただ、ゲームを作る場合312-315のとおり、ウィンドウは1枚だけにして 内部のユーザインターフェイスは自前で用意するのが普通。
317 名前:313 mailto:sage [2006/11/07(火) 14:07:56 ID:WJeQGxZV] >>313 を見落としてた WM_PAINTを呼び出したいなら再描画指示はInvalidateRectで、 最後のパラメータはFALSEでね。
318 名前:311 mailto:sage [2006/11/07(火) 18:31:21 ID:wb4UfHDQ] >>312-317 画像で作成する方法がよく使われてるということですので そちらで作成することにします ご回答下さった方ありがとうございました
319 名前:名前は開発中のものです。 mailto:sage [2006/11/07(火) 19:56:31 ID:Gmffc/vx] >>311 C言語?他に使ってるライブラリは?
320 名前:311 mailto:sage [2006/11/08(水) 22:17:58 ID:g81bdmif] Cです ライブラリ等は特に使ってません
321 名前:名前は開発中のものです。 mailto:sage [2006/11/09(木) 01:44:06 ID:RPNJn70P] 問題が解決したのなら必要ですが、WM_ERASEBKGNDメッセージ処理を DefWindowProcにさせなければ良いという話がよくあります。
322 名前:名前は開発中のものです。 mailto:sage [2006/11/09(木) 01:45:22 ID:RPNJn70P] >>321 大きな間違い。 ○必要ですが、 ×必要ないですが、 問題が解決したのなら必要ないですが、WM_ERASEBKGNDメッセージ処理を DefWindowProcにさせなければ良いという話がよくあります。
323 名前:名前は開発中のものです。 [2006/11/17(金) 04:17:18 ID:5hvBfGHn] シーン管理などで手間取ってるのですが、 何か良いサイト・参考書などありませんでしょうか?
324 名前:名前は開発中のものです。 mailto:sage [2006/11/17(金) 05:19:47 ID:t6WIPUdH] 漠然とし過ぎてる。
325 名前:名前は開発中のものです。 mailto:sage [2006/11/17(金) 05:30:25 ID:5hvBfGHn] Sceneクラスを管理するSceneManagerクラスを作ったまでは良かったんですが、 Sceneクラス内でシーンのpopやpush、deleteをするのに、SceneManagerに直接頼めないので困ってます。 Sceneクラスにフラグを持たせて逐一チェックすれば実装は可能なんですがなんか微妙ですし…。
326 名前:名前は開発中のものです。 mailto:sage [2006/11/17(金) 06:03:38 ID:t6WIPUdH] @言語は? Aシーンをスタック(pushとpop)するという事はアドベンチャーゲーム? Bdeleteするのはスタックされているシーン?
327 名前:名前は開発中のものです。 [2006/11/17(金) 06:24:34 ID:5hvBfGHn] @C言語です Aアドベンチャーではありません。 B自クラスorスタックされてるシーン全て含みます。 ドラクエを例に取ると オープニングシーン ↑↓シーン移動 セーブデータロードシーン ↑↓シーン移動 マップシーン ↑↓シーンPush(移動も可) 戦闘シーン という作業を効率良く管理したいのです。
328 名前:323 [2006/11/17(金) 16:18:43 ID:5hvBfGHn] ・最下層ヘッダ ( SCENE (TITLE_SCENE, OPENING_SCENE...)の定義 ) ・CScene ・CSceneManager の順を守ることで自己解決しました。
329 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 08:06:52 ID:x2dz501C] isuファイルの作り方が分かりません。
330 名前:名前は開発中のものです。 [2006/11/19(日) 10:23:46 ID:urBRsIAy] 参照とポインタ、値渡しと参照渡し このあたりの違いが、うまくまとまらないんです
331 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 10:50:12 ID:x2dz501C] >>330 C++?
332 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 11:16:06 ID:x2dz501C] ポインタが出てくるからC++か。 void func1(int& val) { val = 10; } void func2(int val) { val = 10; } func1では参照渡しなので引数valの値が変化します。func2ではvalのコピーが渡されるだけなので 値は変化しません。 C++では参照は定義した時に初期化が必要です。 int& val = intger; int* pVal; val = 10; 参照に後から代入すると(ここでは)intgerの値が変化します。 pVal = &intger; ポインタは後からアドレスを代入できます。 *pVal = 10; これでintgerの値が変化します。
333 名前:名前は開発中のものです。 [2006/11/19(日) 13:43:43 ID:urBRsIAy] >>332 ありがとう、前半はいいんだけど、 例えば例題として、値渡ししていた関数funk3があるとして //関数コールはこんなかんじ int val = 10; val = funk3(val); int funk3(int val) { val = val * 2; return val; } //参照渡しに変更するとき int val = 10; int& ref = val; //【疑問1】ここで宣言すんの? val = funk3(ref); int funk3(int& val) //【疑問2】呼び出し時点で初期化されてるのかな? { val = val * 2; // return val; } この辺がよくわからないのです。
334 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 13:54:54 ID:fUpTw/Bs] mciでmidiオープンするとwavはすぐなのに時間かかるのなんで?
335 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 14:31:24 ID:x2dz501C] >>333 参照渡し引数に参照を用意して渡す必要はありません。 int val = 10; funk3(val); int funk3(int& val) { val *= 2; // 2倍にする場合左の記述が出来ます。 return val; } この時関数funk3を抜けると引数valは20になります。戻り値を受け取る必要はありません。 この場合、funk3は以下のように戻り値なしでも良いです。 void funk3(int&val) { val *= 2; } 以下のように別に戻り値を受け取る必要がある場合は別ですが。 int val = 10; int data; data = funk3(val); int funk3(int&val) { val *= 2; return val * 2; }
336 名前:名前は開発中のものです。 [2006/11/19(日) 15:16:12 ID:urBRsIAy] >>335 ありがとうございます。漸く理解できました。 ということは、やはりメンバで宣言された時点で初期化も行われているのですね。 参照は初期化が必要と聞いていたのでその点がどうしてもわかりませんでした。 int val = 10; funk3(val); // └──┐引数valの参照としてメンバーのvalが定義される int funk3(int& val) { val = val * 2; return val; //この場合return不要とのことですが、記述したままで不都合はありますかね? //関数の型を維持しておきたいのです。 } //次にポインタの場合なのですが、 int val = 10; funk3(&val); // └──┐valに参照演算子を使ってアドレスを引数にする。 void funk3(int* pVal) //アドレスはint*型のpValに代入したい。でも*pValって値を格納する式だよね。 { pVal *= 2; // それとも *pVal *= 2; ? // なんか変だ、pValというのはポインタなので、値を代入する場合は*pValに入れる必要がある。 // 最初に宣言した*pValにはアドレスが入っちゃってるんじゃないだろうか。2倍するのは危険じゃないか。 } funk3(val);で呼び出して、void funk3(int* pVal) に渡すのかな。 funk3(&val);で呼び出して、void funk3(int pVal) で、式中では*pValを使用でいいのかな。 と、このような感じで悩んでおります。 ここが解ればテキストを読み進められそうなので、お願いします。本当に長々と申し訳ありません。