OBY 3
SecondDay (形ありき)
オビーに形を与える
形がないと、いるかいないかわかんないんで不便っす。
それに姿がないままだとかわいそうなんで
透明なObyに形(顔の輪郭)を与えてやることにしましょう。
■クラスを作る
● ObyFaceクラス
EllipseMorphを親にして新たに「ObyFace」を定義します。
--------------------------------------------
EllipseMorph subclass: #ObyFace
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'ObyMorph'
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
■メソッドを追加します。
● initializeメソッド
デフォルトの顔は横長の楕円で色はグリーンにしよっと!
大きさは 80@60
色は モスグリーン
--------------------------------------------
initialize
super initialize.
"顔の設定"
self extent: 80@60.
self color: (Color r: 0.4 g: 0.5 b: 0.3).
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
● Obyクラスのinitializeソッドを修正
Obyクラスだかんね。念のため。
顔を土台にくっつけます。
「ObyFace」のインスタンスを生成し
土台の「Oby」のサブモーフにします。
「ObyFace」のセンターと「Oby]のセンターを合わせます。
そうそう、土台が透明だと位置関係がわかりにくいんで
半透明にしちゃいましょう。完成したらまた透明に戻すよ〜ん。
--------------------------------------------
initialize
super initialize.
"土台の設定"
self extent: 80@80.
self color: (Color r: 1.0 g: 1.0 b: 1.0 alpha: 0.5).
self borderWidth: 0.
"顔の生成"
face _ ObyFace new.
self addMorph: face.
face align: face center with: self center.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
★インスタンスを出してみる
--------------------------------------------
Oby new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )
無事、半透明の土台(薄いグレーの部分ね)のセンターに顔がきてますね。
さてこれに次々と他のパーツを加えていくことにしましょう!!
顔の形の変更とかは後でじっくりとやりまする。
▲PREV ------ ● TOP ● ------ NEXT▼
■ MEMO ■
Saturday, 3 April 2004, 1:11:48 am
このあと顔にしていくんだけど、マリモバージョンとか顔ナシバージョンとかも一段落したら作っても良いな。--thoru
Links to this Page
- I BOBY last edited on 28 April 2004 at 8:57:55 pm by tk0005-202x210x196x109.ap-TK.usen.ad.jp
- OBY 2 last edited on 18 June 2007 at 5:19:15 am by localhost.localdomain
- OBY 4 last edited on 17 June 2007 at 7:12:45 am by localhost.localdomain