hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。
Module/allgetkey - HSP開発wiki
トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS

Module

 HSP3 

登録したキーコードの状態を全て取得する

無謀にもループ内での入力取得決定版を模索。

基本は標準命令のみで、必要になったらなんでもあり。

最強の?メインループを作るページ。


出来ている機能

キー登録型管理機能。

連続して押されているフレーム数の取得

連続して押されていないフレーム数の取得

ダブルクリックの取得。


出来ていない機能

ダブルクリックの取得や連続押、連続離をフレーム間隔でなく時間間隔で取得、設定する機能。

キーの状態を視覚的に分かりやすく表示する命令。(デバッグ用)

トリプルクリック。やそれ以上のクリックに対する細かな設定

複数キーの組み合わせによる特殊設定。


時間間隔取得・・・

これはgettimeを使った制御機能を追加して オプションで設定できるようにするのが冷静か。

もしくは諦めて、、FPSを整える機能と合体するといい感じになるかも。。


視覚的表示・・・どんな画面がいいだろうか・・・?

254個の変数を見やすく表示するなら 640,480ぐらいの大きさは必要かもしれない。

モジュール

全てのキーを取得します。

+  allgetkey
+  モジュールの説明です

カスタマイズテスト

Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
-
|
|
!
 
-
|
|
|
!
 
 
 
 
 
 
 
 
#include "allgetkey.hsp"
;最初はダブルクリックを受け付けない状態で
;全てのキーが登録されています。
 
// 全削除 カスタマイズ開始
keyconfig 0
 
//標準命令のstickと同じものをダブルクリック間隔10で登録。 
keyconfig 10, 37, 40
keyconfig 10, 32
keyconfig 10, 13
keyconfig 10, 17
keyconfig 10, 27
keyconfig 10, 1,, 1;左クリックは連打を全てダブルクリックに。
keyconfig 10, 2
keyconfig 10, 9
//やっぱりスペースキーは間隔1(ダブルクリックなし)
keyconfig 1, 32
 
//カーソルキーはやはり要らないので無効化。
keyconfig 0, 37, 40
 
;カスタマイズ終了。
 
Allgetkeyinit key  ;格納用変数の変数の初期化
 
*main
 
    Allgetkey key  ;全て取得
    
    title strf("マウス左 %5d:マウス右 %5d", key(1), key(2))
    
    if ginfo(23) > 460: pos, 0: pget 640: boxf: color
    
    if key(1) = 0 : mes "マウス左ダブルクリックされました。" 
    if key(1) = 1 : mes "マウス左クリックされました"
    if key(1) > 15: mes "マウス左クリック長押し中"
    if key(1) = -1: mes "マウス左が離されました"
    
    if key(2) = 0 : mes "マウス右ダブルクリックされました"
    if key(2) = 1 : mes "マウス右クリックされました"
    if key(2) > 15: mes "マウス右クリック長押し中"
    if key(2) = -1: mes "マウス右が離されました"
 
    if key(9) = 1 {    
        keyconfig 10, 2 ;有効化
        mes "Tabが押されたのでマウス右を有効化しました"
    }
 
    if key(13) = 1{
        keyconfig 0, 2   ;無効化
        allgetkeyinit key, 2 ;無効化した要素の初期化
        mes "Enterが押されたのでマウス右を無効化しました"
    }
 
    if key(27) = 0: mes "ダブルESC。"
    
    if key(32) >= 0: mes "スペースが押されています"
    if key(32) = 0: mes "ダブルスペース"
 
    await 16
    goto*main

コメント


URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS
Last-modified: 2011-03-01 (火) 21:29:10 (1012d)