検索結果 12 件

by table_in_trace
8年前
フォーラム: C言語何でも質問掲示板
トピック: 滑らかな画面スクロール(ゲームプログラミング)
返信数: 29
閲覧数: 43762

Re: 滑らかな画面スクロール(ゲームプログラミング)

かなり期間が開いてしまいましたが、最終報告をさせて頂きます。 結果から言いますと、真の原因を突き止めることは出来ませんでした。 しかしながら1つの推測はできました。 恐らくですが、私の感じていた違和感は「ティアリング」という現象だと思います。 この現象はWin32 APIでは解決が不可能なようです。 これを解決するには垂直同期(vsync同期)を採る必要があるらしく、この時点で私のコンセプトから外れてしまいますので 解決自体は放棄しました。 その代わり、リフレッシュレートに合わせて描画タイミングを調整する事と、再描画の処理をStretchBltからBitBltに変更する事で 体感的にはかなり違...
by table_in_trace
8年前
フォーラム: C言語何でも質問掲示板
トピック: 滑らかな画面スクロール(ゲームプログラミング)
返信数: 29
閲覧数: 43762

Re: 滑らかな画面スクロール(ゲームプログラミング)

先ほど解決したと書きましたが、もう一度起動して動かしてみるとやはり引っ掛かりとチカチカするような感じがあり どうやらマップサイズが原因ではなかったようです。 皆様から頂いたコメントにまだ試していない方法がいくつもありますので、理解できる部分から1つずつ実効して確認していきたいと思っています。 ただ、下記①、②のようなプログラムを作りたいという思いがあり、この条件を満たすような解決方法に辿り着けるか不明ですが もし解決したら原因を報告させて頂きます。 (既に解決済みにしてしまっていますので質問を重ねる事は控えます) ①キー入力があった場合のみ処理を行う(入力が無い場合は常に待機する) ②キー入力...
by table_in_trace
8年前
フォーラム: C言語何でも質問掲示板
トピック: 滑らかな画面スクロール(ゲームプログラミング)
返信数: 29
閲覧数: 43762

Re: 滑らかな画面スクロール(ゲームプログラミング)

自己解決しました。
どうやらhMapDCのサイズが大きすぎた事が原因だったようです。
スクロールするたびにhMapDCからhOriginalDCにコピーしていましたが
hOriginalDCより周囲1マス分大きいデバイスコンテキストを用意して
スクロールはここからhOriginalDCにコピーするようにしました。

ご相談に乗って頂いた皆様ありがとうございました。


> ISLe() 様

ISLe()様の仰っている事は私にはレベルが高すぎるようです。
せめてコミュニケーションが取れる程度のレベルがあれば良かったのですが
それも適わないようで残念です。
by table_in_trace
8年前
フォーラム: C言語何でも質問掲示板
トピック: 滑らかな画面スクロール(ゲームプログラミング)
返信数: 29
閲覧数: 43762

Re: 滑らかな画面スクロール(ゲームプログラミング)

> みけCAT 様 >> メイン処理をスレッド内で行っている事に関してはごちゃごちゃしているとは感じておりませんのでご安心ください。 > 「納得してください」ならまだわかりますが、「ご安心ください」というのはなんか違う気がしましたが…気のせいだろうか? 私の質問に対してISLe()様に「納得して」もらう必要はどこにも無いと思います。 というより、ISLe()様は「”私(質問者)自身が”、”コードを整理できていない(ごちゃごちゃしている)”から これが解決できたら質問内容に対する問題ももっとはっきりわかるようになりますよ。」 という意味合いでごちゃごちゃの根本原因について言及してくださったのだと...
by table_in_trace
8年前
フォーラム: C言語何でも質問掲示板
トピック: 滑らかな画面スクロール(ゲームプログラミング)
返信数: 29
閲覧数: 43762

Re: 滑らかな画面スクロール(ゲームプログラミング)

> h2so5 様 非常に個人的な問題ですが、私は「標準 Windows API」というサイトでWindowsプログラムを勉強し始めたので その延長上で記述したいと思っていて、 DirectXの勉強は、Win32 APIでどうしても実現できない場合に、次のステップとして勉強しようかと思っています。 includeするものが多くなってきたりすると私自身すぐ混乱してしまう事があるので なるべく自分にとってブラックボックスというか呪文に近い部分を作らずに作成していきたいので。。。 なので、どうしてもWin32 APIでは私には目的のプログラムが作れないと思った時は 皆さんの仰るDirectXを使った...
by table_in_trace
8年前
フォーラム: C言語何でも質問掲示板
トピック: 滑らかな画面スクロール(ゲームプログラミング)
返信数: 29
閲覧数: 43762

滑らかな画面スクロール(ゲームプログラミング)

Win32 APIを使ってファミコンレベルのRPGを作成しようと思っています。 まずはワールドマップ上を主人公が歩くプログラムを組んでみたのですが、 ワールドマップをスクロールする時に若干引っかかるような違和感を感じます。 ゲームプログラミングのサイトなどでは「ちらつき対策」としてダブルバッファリングが紹介されていましたが 私の感じている「引っ掛かり」のような感覚について記載のあるサイトは見つけられませんでした。 ワールドマップ用の非表示画面(デバイスコンテキスト?)が大きすぎるのか、bmpファイルが良くないのか または単にPCスペックの問題なのか皆目見当がつきません。 今のプログラムを活かし...
by table_in_trace
9年前
フォーラム: C言語何でも質問掲示板
トピック: MessageBoxとMessageBoxAを合わせた自作関数
返信数: 7
閲覧数: 4904

Re: MessageBoxとMessageBoxAを合わせた自作関数

> へにっくす様 MultiByteToWideChar関数を使用してUnicodeとマルチバイトの文字コード変換を試みましたが、 理解不足のようでコンパイルが通らなかったので、今回は諦めました。 そこで、汎用性を放棄して、強制的にマルチバイトで扱うためにTEXT("AAAあああ")をすべて"AAAあああ"に変えたところ MessageBoxではNGでしたが①~④すべてMessageBoxAで期待通りの動作になりました。 (MessageBoxがうまくMessageBoxAとMessageBoxWに切り替わっていない?) ともかく、汎用性を放棄すれば、char型に格納した文字列も、任意の""に...
by table_in_trace
9年前
フォーラム: C言語何でも質問掲示板
トピック: MessageBoxとMessageBoxAを合わせた自作関数
返信数: 7
閲覧数: 4904

Re: MessageBoxとMessageBoxAを合わせた自作関数

> (下記プログラムのように半角英数では期待通りの動作になります)
すいません、呼出し部分のプログラムを記載し忘れていました。

コード:

	MessageBoxX(NULL, TEXT("てきすと1"), TEXT("たいとる1"), MB_OK);
	MessageBoxX(NULL, &text[0], TEXT("title2"), MB_OK);
	MessageBoxX(NULL, TEXT("text3"), &title[0], MB_OK);
	MessageBoxX(NULL, &text[0], &title[0], MB_OK);
by table_in_trace
9年前
フォーラム: C言語何でも質問掲示板
トピック: MessageBoxとMessageBoxAを合わせた自作関数
返信数: 7
閲覧数: 4904

MessageBoxとMessageBoxAを合わせた自作関数

Win32で空のプロジェクトから少しずつ勉強して書けるプログラムを増やしています。 今は、MessageBoxの柔軟性を高くするために、引数に合わせて正しくメッセージボックスを生成させようと思っています。 ① MessageBox(NULL, TEXT("text1"), TEXT("title1"), MB_OK); ② MessageBox(NULL, &text[0], TEXT("title2"), MB_OK); ③ MessageBox(NULL, TEXT("text3"), &title[0], MB_OK); ④ MessageBox(NULL, &text[0], &tit...
by table_in_trace
9年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]ドラッグ&ドロップの再現
返信数: 6
閲覧数: 5203

Re: [C++]ドラッグ&ドロップの再現

> sleepさん
私も勉強方法のほとんどが参考書か、ネット上でも教科書に近い形式のサイトを読み込む事なので
気を使う用語であるという認識がありませんでした。
人から物を教えてもらううえで、目的や完成形のイメージを伝えた方が誤解が生じにくいかと思い
なるべく多くの情報を記載させて頂いたつもりでしたが、不必要でしたようで失礼致しました。
教えて頂いてありがとうございます。
世間情勢などは最も知識が足りない部分ですのでご、指摘頂きとても参考になります。
by table_in_trace
9年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]ドラッグ&ドロップの再現
返信数: 6
閲覧数: 5203

Re: [C++]ドラッグ&ドロップの再現

zeekさんの指摘どおり、「SetCapture(hwnd);」を入れてみたところ、 10回試して(VK_DOWNを発生させると)1~2回ドラッグ&ドロップが成功するような妙な状況になりました。 case VK_DOWN: // デスクトップ上の点(x=20, y=100)→(x=220, y=100)にドラッグ&ドロップ SetCapture(GetDesktopWindow()); SetCursorPos(20, 100); mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); SetCursorPos(220, 100); mouse_event...
by table_in_trace
9年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]ドラッグ&ドロップの再現
返信数: 6
閲覧数: 5203

[C++]ドラッグ&ドロップの再現

VC++のWin32 Applicationで、遠隔操作用ツールを作成したいと思っています。 まずはマウスによる操作をプログラムで再現したいと思っているのですが、 マウス位置の移動、クリック、右クリック、ダブルクリックは再現できたものの ドラッグ&ドロップの再現が出来なくて困っています。 (ドラッグ&ドロップを再現して、デスクトップ上のアイコンを移動させようとしたのですが期待通りの動作になりませんでした。  単純に”移動→クリック→移動→クリックOFF”となるだけで、アイコンが移動しない状態です。) どうすればドラッグ&ドロップを再現することが出来るのか教えて頂けないでしょうか。 初投稿で質問...

詳細検索ページへ移動する