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

拡張版stickモジュール

キー割り当てを自由に変更できるstickです。Z, X, Cなどを使用するゲームの作成をスムーズにすることができます。 nキーロールオーバーにご注意ください。

スクリプト

※サンプルを実行するときは #if 0 を #if 1 にしてください。

filestick.hsp
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
 63
 64
 65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
-
|
|
|
-
|
|
|
|
!
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
// 拡張stick [stick.hsp] @ HSP開発Wiki
//   キー割り当てを独自に変更できる拡張stickのモジュールです。
#ifndef __STICK_EX__
#define global __STICK_EX__
#undef stick
#module mdl_stick
// キー割り当ての変更
//   第1引数…何バイト目に結果が帰るキーを変更するか
//   第2引数…設定するキーコード(getkeyのヘルプ参照)
#define global set_stick_keys( %1, %2 ) key_code@mdl_stick( %1 ) = %2 : len_keys@mdl_stick = length( key_code@mdl_stick )
//
// モジュールの初期化
#deffunc init_stick
    dim key_code, 11            // キーコードを格納する配列変数
 
    // HSPデフォルトのキーコードを設定
    set_stick_keys  0, 37       //  0バイト目はカーソルキー(←)
    set_stick_keys  1, 38       //  1バイト目はカーソルキー(↑)
    set_stick_keys  2, 39       //  2バイト目はカーソルキー(→)
    set_stick_keys  3, 40       //  3バイト目はカーソルキー(↓)
    set_stick_keys  4, 32       //  4バイト目はスペースキー
    set_stick_keys  5, 13       //  5バイト目はEnterキー
    set_stick_keys  6, 17       //  6バイト目はCtrlキー
    set_stick_keys  7, 27       //  7バイト目はESCキー
    set_stick_keys  8,  1       //  8バイト目はマウスの左ボタン
    set_stick_keys  9,  2       //  9バイト目はマウスの右ボタン
    set_stick_keys 10,  9       // 10バイト目はTabキー
    return
//
// stick命令の本体
#deffunc _stick@mdl_stick var result, int no_trigger, int check_mode, int half_trigger
    result = 0
    repeat len_keys
        getkey tmp, key_code( cnt )
        result |= tmp << cnt
    loop
    if ( check_mode == 1 ) & ( ginfo_act == -1 ){
        // HSPウィンドウがアクティブでない
        prev = result
        result = 0
    } else {
        // トリガータイプキー指定
        tmp = result
        result &= ( -1 ^ prev ) | no_trigger
        prev = tmp
    }
    return
//
// パラメータ省略用マクロ
#define global stick( %1, %2=0, %3=1, %4=0 ) _stick@mdl_stick %1, %2, %3, %4
#global
    init_stick       // モジュールの初期化
 
 
// 以下サンプルスクリプト(実行する場合は #if 0 を #if 1 に変更してください)
#if 0
    set_stick_keys 4, 'Z'       // 戻り値の4番目(5ビット目)に、スペースキーの代わりにZキーを返すようにする
    mes "Zキーを押してみてください。16が返ります。\n逆にスペースキーでは何の値も返りません。"
*main
    stick keys, %11111          // カーソルキーとZキーを非トリガータイプキーとする
    title str( keys )
    wait 2
    goto *main
#endif      // サンプルスクリプトここまで
#endif      // モジュールここまで

コメント


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

添付ファイル:
filestick.hsp
613件 [詳細]
トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS
Last-modified: 2009-02-15 (日) 00:35:55 (1757d)