関数群名
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はクリアがかかります。
また、オートやメッセージ送りなどでもかかるので注意してください。