The Green Shoes Manual 1.1.357

Events

どのようにしてマウスのクリックを離したことやキーボードをタイプしたことが分かるか 不思議に思いませんか?スロットの内部でマウスが動いたときはいつでもイベントが スロットに送られます。また、キーが押されたときはいつでも。 スロットが作成されたり破壊されたときでさえ。それぞれのそれらのイベントをブロックを 取り付けることができます。

マウスイベントはmotionclickhoverそしてleaveを含みます。 キーボードのタイピングはkeypressイベントによって表されます。 そしてstartfinishイベントはキャンバスを開始するときや破棄されたときを指し示します。

では、マウスでスロットの上をフロートするときに背景を変更したいとしましょう。 スロットの内部にマウスがくるときに背景を変更するためにはhoverイベントを使います。 そして、マウスがフロートして離れるときに戻すにはleaveを使います。

 Shoes.app do
   s = stack width: 200, height: 200 do
     background red
   end
   s.hover do
     s.clear { background blue }
   end
   s.leave do
     s.clear { background red }
   end
 end

マウスボタンがクリックされたときにはclickブロックが呼ばれます。 buttonはマウスボタンのどれが押されたかの数です。 lefttopはどこがクリックされたかのマウスの座標です。

マウスのクリックを離した瞬間をとらえるには、releaseイベントを見てください。

スロットが取り除かれたときは、finishイベントが発生します。 finishブロックはすぐにselfを手渡し、スロットオブジェクトは取り除かれます。

注意: Green Shoesはfinishメソッドをサポートしていません。

hoverイベントはスロットにマウスが入ったときに発生します。 このブロックはselfを手に入れ、どのオブジェクトの上を通ったかを意味します。

スロットからマウスが出ていくことをとらえるには、leaveイベントを確認してください。

キー(またはキーの組み合わせ)がいつ押されても、そのブロックは呼ばれます。 そのブロックにはキーの性質を表す文字列であるkeyを送られます。

そして、例えば、Shift-aが押されたなら、そのブロックは"A"の文字列を得ます。 また、F1が押されたなら、 F1の文字列を受けとります。

"Control_L", "Shift_L", "Alt_L"は左サイドに位置する修飾キーです。 もしShift-Control-Alt-PgUpが押されたなら、得られる文字列は、以下の順番で現れます: "Shift_L", "Control_L", "Alt_L", "Page_Up"

シフトキーについて1つ。USキーボードでは、Shift-7はアンパサンド(&)です。 そのため、"Shift_L""7"ではなく、"Shift_L""ampersand"を得ます。 そして、そのようなキーボードでShift-Alt-7を押したら、"Shift_L""Alt_L""ampersand"という文字列を得るでしょう。

 Shoes.app do
   info = para "NO KEY is PRESSED."
   keypress do |k|
     info.replace "#{k.inspect} was PRESSED."
   end
 end

スロットからマウスカーソルが出て行くときleaveイベントが発生します。 その瞬間すでにマウスカーソルはスロットの端の中にはありません。 leaveイベントが発生するとき、selfとともにブロックが呼ばれ、そのスロットオブジェクトは 取り残されます。

スロットにマウスが入ることを見つけたいならhoverも見てください。

マウスがスロットの内部を移動するたびにモーションのブロックは呼ばれます。 ブロックはカーソルのlefttopの座標を渡します。

 Shoes.app width: 200, height: 200 do
   background black
   fill white
   circ = oval 0, 0, 100, 100
   motion do |top, left|
     circ.move top - 50, left - 50
   end
 end

マウスがアンクリック(マウスアップ)のときにreleaseのブロックは実行されます。 それは指が持ち上げられたときです。buttonは押し下げられたボタンに対応する数です。 lefttopはボタンが離されたときのマウスのの座標です。

実際のマウスクリックを捕まえるには、clickイベントを利用してください。

初めてスロットが描かれるとき、スタート(start)イベントが実行されます。 まさに今描かれたスロットオブジェクトがselfとしてブロックに渡されます。

注意: Green Shoesはstartメソッドをサポートしていません。

Next: Manipulation Blocks