独学ツクールブログ

ツクールでのオリジナル作品の話を中心に創作関係の徒然な語り。

<< 真・プリセットスクリプトフルグレードアップ計画5:FontとRectのなんやかや | main | 真・プリセットスクリプトフルグレードアップ計画7:Kernelヤバい >>

[ - ] スポンサーサイト

一定期間更新がないため広告を表示しています

| 2018.05.23 Wednesday | - | - |

[ RGSS奮闘記 ] 真・プリセットスクリプトフルグレードアップ計画6:Inputをほにゃらら

今日もいつものあれ。
今回はInputモジュールの拡張。

module Input
  class << self
    def trigger_any?
      constants.any? {|key| @@key = trigger?(const_get(key)) ? key : nil}
    end
    def press_any
      constants.any? {|key| @@key = press?(const_get(key)) ? key : nil}
    end
    def repeat_any
      constants.any? {|key| @@key = repeat?(const_get(key)) ? key : nil}
    end
    def get_key(const = false)
      const ? @@key : const_get(@@key)
    end
    alias _p press? unless method_defined?(:_p)
    def press?(n)
      _p(n.kind_of?(Symbol) ? eval(n.to_s) : n)
    end
    alias _t trigger? unless method_defined?(:_t)
    def trigger?(n)
      _t(n.kind_of?(Symbol) ? eval(n.to_s) : n)
    end
    alias _r repeat? unless method_defined?(:_r)
    def repeat?(n)
      _r(n.kind_of?(Symbol) ? eval(n.to_s) : n)
    end
  end
end
any?と付いているのはデフォルトのメソッドの拡張バージョンで、「指定したキー」から「いずれかのキー」にしたもの。判定の区別はany?がついていないものと同じ。
get_keyは、any?の付いたメソッドを実行した後に呼んで押されたキーを取得するメソッド。引数に真を渡すと定数、偽を渡すか何も渡さないと値を返す。any?とこれを組み合わせることでキー入力分岐が非常に楽になる。
最後はデフォルトのメソッドの強化。定数ではなくシンボルで渡せる。これもまた、記述時の労力軽減用だ。

次回あたりはそろそろプリセットスクリプトに手が入るかも。


タグ:[RGSS] [フルグレードアップ計画] [Input]

| 2015.02.25 Wednesday 23:40 | comments(0) | trackbacks(0) |

[ - ] スポンサーサイト

| 2018.05.23 Wednesday 23:40 | - | - |

コメント

コメントする






この記事のトラックバックURL

トラックバック

このページの先頭へ▲

Twitter

WebClap

Blogram

ブログランキングならblogram

calendar

S M T W T F S
   1234
567891011
12131415161718
19202122232425
262728293031 
<< August 2018 >>

categories

archives

Amazon

selected entries

recent comment

recent trackback

recent ranking

links

search this site.

sponsored links

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM