Method: Miyako::TextBox#command

Defined in:
lib/Miyako/API/textbox.rb

#command(choices, dx = nil, dy = nil) ⇒ Object

コマンド選択を設定する

コマンド選択処理に移る(self#selecting?メソッドがtrueになる)

引数choicesに配列を渡すとき、各要素の構成は以下のようになる

コマンド文字列・画像,選択時コマンド文字列・画像,選択した結果(オブジェクト)

引数choicesにChoicesクラスインスタンスを渡したとき、内部で、インスタンスを複写したものに置き換える

このメソッドが呼び出された時、選択肢はlocateメソッドの値となる位置に移動する引数dx,dyともにnil以外の数値を渡すと、上記の位置から更に移動する(位置が補正される) body_selectedをnilにした場合は、bodyと同一となるbody_selectedを文字列を指定した場合は、文字色が赤色になることに注意

choices

選択肢の配列、もしくはChoicesクラスのインスタンス

dx

選択肢を表示するx座標の移動量。デフォルトはnil(移動しない)

dy

選択肢を表示するy座標の移動量。デフォルトはnil(移動しない)

返却値

自分自身を返す



520
521
522
523
524
525
526
527
528
529
530
531
532
533
# File 'lib/Miyako/API/textbox.rb', line 520

def command(choices, dx = nil, dy = nil)
  if choices.methods.include?(:start_choice)
    @choices = choices
    @choices.snap(self)
  else
    @choices.clear
    choices.each{|cc| @choices.create_choices(cc) }
  end
  @choices.left!{|b| @locate.x}.top!{|b| @locate.y}
  @choices.move!(dx, dy) if (dx != nil && dy != nil)
  start_command
  Fiber.yield if @fiber
  return self
end