[過去ログ] 【初心者】課題をクリアしていくスレ【講習会】 (787レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
213(1): 生徒BLUE [] 04/06/30 00:29 ID:HYWm3For(1/4) AAS
>>181181(1): 名前は開発中のものです。 [sage] 04/06/27 22:58 ID:qWAk5Epz(2/2) AAS
>>177
> 0x8000の意味とかまだよくわかりませんけれど
「ANDでマスクとる」とかはわかる?
定数書いちゃダメとか、staticって書くようにするとか、
拡張子がcppなのにC言語風じゃん!とか、
バックバッファあたりは毎回生成&破棄しなくても最初に一度だけ
作成してしまった方が処理の無駄がないとか、ブラシとペンも。
>「ANDでマスクとる」とかはわかる?
はい、この場合は2進数に直して一番左のビット以外を全部0にするってことですよね
MSDN読んだりあれからさらに調べてみたので前よりはちょっとわかったのですが
左端のビットが1ならボタンが押されているという程度の理解でいいのでしょうか
・定数書いちゃダメ
defineを積極的に使ってみました
C++の場合だとdefineは使わずにconstを使ったほうがいいと書いてあるホームページも
みつけましたがどうなんでしょう?
・拡張子がcppなのにC言語風
意識せずに全部cppにする習慣がついてたので……
クラスを使う→cpp、使わない→cでいいですか?
拡張子の使い分けむずかしい
・バックバッファあたりは毎回生成&破棄しなくても最初に一度だけ
GetDCを使えばいいんだ!と前回は気づいてませんでした
WEBの情報をあちこちからつまみ食いしてるので全体的にチグハグな感じに
なっていたようで指摘してもらって勉強になります
ソースみていただける方は2ちゃんねるに貼り付けとアップローダのどちらが見やすいでしょうか?
それとも両方のほうがよい?
215(2): 通りすがり人 [sage] 04/06/30 12:46 ID:qBs2hfFg(1) AAS
>>213
> 左端のビットが1ならボタンが押されているという程度の理解でいいのでしょうか
HELPには...
最上位ビットがセットされたときは現在キーが押されていることを示し、
最下位ビットがセットされたときは直前のGetAsyncKeyState関数呼び出し以降に
キーが押されたことを示します。
って書いてある。つまり・・・
#include<windows.h>
#include<stdio.h>
void main()
{
intRv;
for(;;) {
Sleep(1);
Rv = GetAsyncKeyState(VK_SPACE);
if (Rv != 0) {
printf("%08x\n", Rv );
}
}
}
スペースをバシッと叩くとわかるんだけど、初回だけ最下位ビットが変化してる。
つまり、リピート状態なのかを判断できるわけ。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.028s