関数群名
SACT2
機能
キーボードのキーやマウスボタンの押下状態のフラグをクリアします。
定義
KEY_CLEAR(bool bClearJoypad = true)
void KEY_CLEAR(bool bClearJoypad = true) { SACT.Key_ClearFlag(); if(bClearJoypad) SACT.Joypad_ClearKeyDownFlag(0); }
引数
bClearJoypad
ジョイパッドの押下状態も解除するかどうか?(不明)
戻り値
なし
解説
キーボードのキーやマウスのボタンが押された場合、実際にキーが離されても
KEY_CLEAR が呼び出されるまでシステム内部では押された状態を保持され、
KEY_IS_DOWN 呼出でtrueが返ります。
ifで押下状態を取得する場合、if内でKEY_CLEARをかけるようにするといいでしょう。
サンプル
- 1
sact_timer_t tm; for(;;) { KEY_CLEAR;if(KEY_IS_DOWN(0x10)){tm.Set(0);} N(tm.Get);B;W(10);MES_CLS; }
- 2
sact_timer_t tm; for(;;) { if(KEY_IS_DOWN(0x10)){tm.Set(0);KEY_CLEAR;} N(tm.Get);B;W(10);MES_CLS; }
前者はきわめて精度が落ちます(当たり前の話ですが)。
あとWはキークリアするので、これがない方が安定しますし、10以上の場合不安定になります。
サンプル出力例
なし
定義位置
System\SACT\UI\sact_input.jaf
関連
KEY_CLEARされるもの
関数・構造体 |
CSactMenu |
sact_back_log_t |
sact_back_log2_t |
HideMsgFrame |
SACT_A_IMPLEMENT |
SACT_W |
MSG_DrawMsgUseWait |
MSG_AUTO_WAIT |
MsgKeyWaitLoop |
MSG_KEY_WAIT |
key_group_t |
SP_SELECT |
まとめ
AやWはクリアがかかります。
また、オートやメッセージ送りなどでもかかるので注意してください。