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

OBY 3

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


SecondDay (形ありき)

オビーに形を与える
形がないと、いるかいないかわかんないんで不便っす。
それに姿がないままだとかわいそうなんで
透明なObyに形(顔の輪郭)を与えてやることにしましょう。


      Uploaded Image: zu1.jpg




■クラスを作る

ObyFaceクラス
EllipseMorphを親にして新たに「ObyFace」を定義します。
--------------------------------------------
EllipseMorph subclass: #ObyFace
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'ObyMorph'
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )

Uploaded Image: image7.jpg



■メソッドを追加します。

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 )

Uploaded Image: image8.jpg


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 )

Uploaded Image: image9.jpg



★インスタンスを出してみる
--------------------------------------------
Oby new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )


無事、半透明の土台(薄いグレーの部分ね)のセンターに顔がきてますね。
さてこれに次々と他のパーツを加えていくことにしましょう!!

Uploaded Image: image10.jpg




顔の形の変更とかは後でじっくりとやりまする。


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







■ MEMO ■

Saturday, 3 April 2004, 1:11:48 am
このあと顔にしていくんだけど、マリモバージョンとか顔ナシバージョンとかも一段落したら作っても良いな。--thoru

Links to this Page