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

funfunfun 9

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


描画のメソッドを追加するっす。

いままで「initialize」メソッドをいじってきましたが、
こんどは「drawOn」メソッドを追加してそれをいじって見ましょう。
「initialize」メソッドではインスタンスが出来たときに実行するのですが
「drawOn」メソッドではいつでも画面が書き換わる度に実行されてるみたいです。



■四角で塗りつぶす

では以下のメソッドを追加しましょう。
モーフと同じ大きさの赤い四角形で塗りつぶします。
--------------------------------------------
drawOn: aCanvas
	aCanvas fillRectangle: self bounds color: Color red.
--------------------------------------------
bounds」というのはモーフを囲む外側の四角の領域のことみたいです。

Uploaded Image: zu3.jpg

忘れずにアクセプト〜ッ!!

Alt + s ( Cmd + s )

Uploaded Image: image27.jpg


今度はいちいちインスタンスを出さなくても、「drawOn」メソッドを追加する前に
出しておいたインスタンスをクリックするだけでいいです。
青い色から赤に変わったでしょ?

Uploaded Image: image28.jpg



■内側に少しだけ小さな四角で塗りつぶす

どんどん追加していきまする。
内側に5だけ小さい黒い四角形で塗りつぶします。
--------------------------------------------
drawOn: aCanvas
	aCanvas fillRectangle: self bounds color: Color red.
	aCanvas fillRectangle: (self bounds insetBy: 5) color: Color black.
--------------------------------------------

Uploaded Image: zu4.jpg

Alt + s ( Cmd + s )

Uploaded Image: image29.jpg


インスタンスをクリックします。
もちろん新しいインスタンスを出しても同じになってます。

Uploaded Image: image30.jpg



■丸で塗りつぶす

今度は内側に10小さい大きさの青い丸で塗りつぶします。
--------------------------------------------
drawOn: aCanvas
	aCanvas fillRectangle: self bounds color: Color red.
	aCanvas fillRectangle: (self bounds insetBy: 5) color: Color black.

	aCanvas fillOval: (self bounds insetBy: 10) color: Color blue.
--------------------------------------------

Uploaded Image: zu5.jpg

Alt + s ( Cmd + s )

Uploaded Image: image31.jpg


インスタンスをクリック!!

Uploaded Image: image32.jpg



■丸い線を描く

内側に20小さい黄色の丸い線も描いて見ましょう。
線の太さは3にしてます。
--------------------------------------------
drawOn: aCanvas
	aCanvas fillRectangle: self bounds color: Color red.
	aCanvas fillRectangle: (self bounds insetBy: 5) color: Color black.

	aCanvas fillOval: (self bounds insetBy: 10) color: Color blue.
	aCanvas frameOval: (self bounds insetBy: 20) width: 3 color: Color yellow.
--------------------------------------------

Uploaded Image: zu6.jpg

Alt + s ( Cmd + s )

Uploaded Image: image33.jpg

インスタンスをクリ〜ック!!

Uploaded Image: image34.jpg



■テキストを描く

テキストも描けちゃいます。
--------------------------------------------
drawOn: aCanvas
	aCanvas fillRectangle: self bounds color: Color red.
	aCanvas fillRectangle: (self bounds insetBy: 5) color: Color black.

	aCanvas fillOval: (self bounds insetBy: 10) color: Color blue.
	aCanvas frameOval: (self bounds insetBy: 20) width: 3 color: Color yellow.

	aCanvas drawString: 'I am TestMorph3.'
	                  in: (bounds insetBy: self borderWidth + 3)
	                  font: nil
	                  color: Color white.
--------------------------------------------

Uploaded Image: zu7.jpg

Alt + s ( Cmd + s )

Uploaded Image: image35.jpg

インスタンスをクリック。

Uploaded Image: image36.jpg




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







■ MEMO ■

Sunday, 11 January 2004, 4:05:04 am
insetBy:ってやつだけど、どこにあるのかなと探してたんですが
GraphicsカテゴリのRectangleってクラスにありやした。ふ〜ん。
そのときにMethodFinder(Toolsフラップ)ってやつを始めて使ったんですがこれがなかなか便利。
出てくるとSelector Browserってなってるけどね。(下の図がそれさ)
左上のペインにメソッド名を書いて「Return」(Alt+sでもオッケーだった。)
するとその下のペインに候補のリストが出てくるんで
その中で探してるやつを見っけてクリックして右のペインに出来たやつを
またまたクリック。するとそのメソッドのありかをブラウザーが開いて教えてくれたです。
いままでBrowserでやみ雲に探してたですよ、おいら。--thoru

Uploaded Image: mfnd1.jpg

Links to this Page