View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide

BOBY 9

PREV ------ ● TOP ● ------ NEXTUploaded Image: imager.jpg


■ボビー君の設計図を調べちゃうです


ボビー君たちは「HeadMorph」という設計図(クラス)からつくられた
モノ(インスタンス)らしいんですな。
こんどはその設計図でボビー君たちがどんな風に設計されているのか
「HeadMorph」という設計図を見てみることにしましょう。そうしましょう!!。
設計がどうゆう具合になってるのか知りたい場合は
「SystemBrowser」ってのを使うんですな。

これ以降は設計図はクラスってことでよろしく。

「Workspace」にいままで入力した中の「HeadMorph」ってのを選択して
ブラ〜ウズイ〜ット!! (browse itのことです)
このショートカット覚えてね!!
Alt + b ( Cmd + b )

Uploaded Image: image43.jpg


ブラウザが登場いたします。
これを使ってSqueakのクラスにアクセスできるわけですな。

Uploaded Image: image44.jpg


Uploaded Image: image50.jpg


HeadMorph

上の段の左から2番目のペイン(クラスペイン)をみると
「HeadMorph」が選ばれています。
上の段の左から4番目のペイン(メソッドペイン)には
選ばれた「HeakMorph」のメソッドが並んでます。

よく見るとボビー君に帽子やら鬚やらめがねをくっつけたときに
使った見慣れた単語(メソッド)がならんでますな。
これで百面相やってたってわけだね。

Uploaded Image: image45.jpg


FaceMorph

これまた見慣れたメソッドがいくつかあるね。
これで喋らせたり表情変えてたんだすな。

Uploaded Image: image46.jpg


EyeMorph

これで目を閉じたりあけたりしてたんだね。

Uploaded Image: image47.jpg


LipsMorph

表情のほとんどはこの口でやってるんだすなあ。

Uploaded Image: image48.jpg


■各「initialize」というメソッドを見てみると・・・

EyeMorph
LipsMorph
FaceMorph
HeadMorph


Uploaded Image: image49.jpg


と、まあこんなふうにボビー君たちは作られていたわけですな。
(取り敢えずここでは見た目だけなんだけどね。)


■「HeadMorph」
----------------------------------------------
initialize
	super initialize.
	self color: self randomSkinColor.
	self face: FaceMorph new.
	self extent: self face extent  (1.5 @ 1.7).
	self face align: self face center with: self center + (0 @ self height // 10).
	self addRandomFurnitures.
	queue _ SharedQueue new
----------------------------------------------

■「FaceMorph」
----------------------------------------------
initialize
	super initialize.
	color _ Color transparent.
	self addMorph: (leftEye _ EyeMorph new).
	self addMorph: (rightEye _ EyeMorph new).
	self addMorph: (lips _ LipsMorph new).
	leftEye position: self position.
	rightEye position: leftEye extent x @ 0 + leftEye position.
	lips position: (0 @ 20 + (leftEye bottomRight + rightEye bottomLeft - lips extent // 2)).
	self bounds: self fullBounds
----------------------------------------------

■「EyeMorph」
----------------------------------------------
initialize
	super initialize.
	self color: (Color r: 1.0 g: 0.968 b: 0.935).
	self borderColor: Color black; borderWidth: 1.
	self extent: 30 @ 37.
	self addMorphFront: (iris _ EllipseMorph new extent: 6 @ 6; borderWidth: 0; color: Color black).
	self lookAtFront
----------------------------------------------

■「LipsMorph」のメソッド
----------------------------------------------
initialize
	super initialize.
 	self beSmoothCurve.
	vertices _ {11@3. 35@1. 60@5. 67@17. 34@24. 3@17}.
	color _ Color black. "red darker."
	borderColor _ Color black.
	borderWidth _ 1.
	closed _ true.
	self neutral; updateShape
----------------------------------------------



PREV ------ ● TOP ● ------ NEXT







■ MEMO ■

Sunday, 29 February 2004, 8:04:14 pm
インスタンス変数やクラス、メソッドがどうなっているかは「explain」すると説明が出てくるです。<これ山宮さんからおせ〜て貰った。いままではクラスは「?」ボタン、メソッドは「documentation」ボタンでやってたけど、説明ない場合がおおかったのね。「explain」のほうがぜ〜んぜん優れものじゃん!!Thanks!---thoru

Links to this Page