HyperCard tribute

説明文を出す


 ボタンやフィールドの説明文を出すハンドラを作ってみます。できることならば、説明などいらないインターフェースがベストなのですが、初めてそのスタックを使う人にとってはやはりそのオブジェクトの持つ意味というのはわかりづらいものです。そこで、説明文を用意しておくのです。

 mouseEnterハンドラは、ボタンの上にマウスカーソルが来たときに実行され、mouseLeaveハンドラは、ボタンの上からマウスカーソルが出たときに実行されます。
  • マウスが入ってくると・・・
  • マウスが出ると・・・
  •  1 
     2 
     3 
    
     4 
     5 
     6 
    
    on mouseEnter
      put "クリックすると始まります!" into msg
    end mouseEnter
    
    on mouseLeave
      put empty into msg
    end mouseLeave
    

  • put "クリックすると始まります!" into msg
     2行目を見てみます。このハンドラはmouseEnterなので、ボタンの上にカーソルが来たときに実行されるスクリプトです。
    「"クリックするとゲームが始まります"」
      を
    「msg(メッセージボックス)」
      に
    「put 〜 into 〜 (上書き代入する)」
    という事になります。


  • put empty into msg
     5行目は、mouseLeaveハンドラなので、ボタンの上からカーソルが出たときに実行されます。
    「empty(空っぽ)」
      を
    「msg(メッセージボックス)」
      に
    「put 〜 into 〜 (上書き代入する)」

     説明文をつけ加えたいオブジェクト(ボタン、フィールドなど)に、このスクリプトを付けるだけで、簡単なガイド機能を持たせることが可能となります。今回の場合はメッセージボックスに説明文を出すようにしていますが、これはフィールドに出すことも可能です。そのときどきによって最適な方法を選びましょう。
     このスクリプトを応用すれば、バルーンヘルプの様にON、OFF機能を持ったガイドに発展させることも可能です。例えば、説明文表示をONにすれば説明用のフィールドを表示するとか、変数を用いてif文で処理をするなどが考えられます。
     説明文がいちいち表示されることを不快に感じる人もいますので、ON、OFF機能を付けておくほうがよいかもしれません。