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)