May 05, 2005

自由自在 Squeak プログラミング:第7章 Morphic 入門(1)

Squeak Logo
squeakでグラフィカルなプログラムを作る時に、Morphic(モーフ)を利用する。
squeakのデスクトップもMorphicで作られている。
モーフの生成:Morph クラスのnewメッセージで生成する。
例:Morph のインスタンスを生成して、ワールドに表示。
  morph := Morph new.
  morph openInWorld. "do it"
モーフを削除するには、インスタンスに delete メッセージを送る。
  morph delete. "do it"
※:Morph new openInWorld. "do it" でも生成できるが、deleteを送るインスタンスがないので、モーフを右クリックし、ハローを表示して左上の(×)ボタンで閉じる。

ハロー(halo):モーフを右クリックすると、モーフの周りに表示されるアイコンを「ハロー halo:後光」と言う。
halo

  1. 削除(Move to trash):クリックすると、モーフがゴミ箱へ移動される。
  2. 最小化(Collapse):タイトルバーのみの形状で、デスクトップの端に表示される。もう一度クリックすると元に戻る。
  3. ビューアを開く(Open a Viewer for me):タイルスクリプト(Squeak Toys)で操作するための、「ビューア」を表示する。
  4. タイル生成(Make a tile representing this object):タイルスクリプト(Squeak Toys)で使用する、そのモーフのタイルを生成する。
  5. 回転(Rotate):ドラッグする事で、モーフを任意の角度に回転する。
  6. メニュー(Menu):モーフに関するポップアップメニューを表示。
  7. グラブ(Pick up):入れ子になったモーフから、選択したモーフを取り出す。
  8. ムーブ(Move):ドラッグする事で、モーフを移動する。(ハローを使わなくても、モーフは移動可能)
  9. 複製(Duplicate):ドラッグすると、モーフのコピーが作成される。
  10. デバッグ(Debug):インスペクタなど、デバッグ用ポップアップを表示。
  11. スポイト(Change color):カラー選択ツールを表示し、モーフの色を変更できる。
  12. リサイズ(Change size):ドラッグすると、モーフのサイズを変更できる。
※:カッコ内は各ハローにカーソルを合わせた時に表示されるふきだしの内容です。

<インスペクタからの操作>:状態を見るだけでなく、値を変更やメッセージを送る事ができる
生成したモーフを右クリックしてハローを表示し、10.デバッグ(スパナアイコン)をクリックすると、「Morph」メニューが開きますので、一番上の「inspect morph」を選択して、モーフのインスペクタウインドウを表示します。
inspect morph
・インスペクタからのメッセージ送信:インスペクタウインドウのメッセージ送信ペインから、モーフにメッセージを送る事ができる。
 例:self position. "print it" boundsプロパティと同じ、位置 256@128 情報を得られる。
   self position: 100@100. "do it" キーワードメッセージpostion: に位置を渡す事でモーフを移動できる。
・変数ペイン上での直接書き換え:モーフのプロパティを選択して、変数ペインに表示された値を直接変更する事もできる。
 例:プロパティ欄から「color」を選び、変数ペインの内容を「Color blue」に変えて変数ペイン上で中ボタンクリックし"accept"(command - S)します。メッセージ送信ペインでキーワードメッセージ color: を使った時と違い、モーフに変更が連絡されないので、モーフをマウスで一度クリックするか、またはメッセージ送信ペインで self changed. "do it" します。(Morphクラスのインスタンスメッセージcolor: を見ると、最後にself changed が有ります。)

<オブジェクト・エクスプローラ>:複雑なモーフ(オブジェクト)を観察する時に便利な汎用ツール
モーフを右クリックしハローから、10.デバッグ(スパナアイコン)をクリック、「Morph」メニューの上から3つ目「explore morph」メニューを選択します。
横向き三角マークをクリックすると、その項目に関してのより詳しい内容を見る事ができる。

<ビューアからの操作>:モーフ専用のツール
エンドユーザが簡単にモーフの値を見たり、タイルスクリプトに利用するために使用される。
モーフを右クリックし3.ビューア(目アイコン)をクリックすると、画面右側にビューアが表示されます。
※:エンドユーザ用ビューアの位置(Morph's x, y)とbounds プロパティとは、座標系が違う為、値が違っている。


Posted by 3k1 at 10:18 P | from category: Squeak | TrackBacks
Comments
No comments yet
:

:

Trackbacks