funfunfun 9
描画のメソッドを追加するっす。
いままで「initialize」メソッドをいじってきましたが、
こんどは「drawOn」メソッドを追加してそれをいじって見ましょう。
「initialize」メソッドではインスタンスが出来たときに実行するのですが
「drawOn」メソッドではいつでも画面が書き換わる度に実行されてるみたいです。
■四角で塗りつぶす
では以下のメソッドを追加しましょう。
モーフと同じ大きさの赤い四角形で塗りつぶします。
--------------------------------------------
drawOn: aCanvas
aCanvas fillRectangle: self bounds color: Color red.
--------------------------------------------
bounds」というのはモーフを囲む外側の四角の領域のことみたいです。
忘れずにアクセプト〜ッ!!
Alt + s ( Cmd + s )
今度はいちいちインスタンスを出さなくても、「drawOn」メソッドを追加する前に
出しておいたインスタンスをクリックするだけでいいです。
青い色から赤に変わったでしょ?
■内側に少しだけ小さな四角で塗りつぶす
どんどん追加していきまする。
内側に5だけ小さい黒い四角形で塗りつぶします。
--------------------------------------------
drawOn: aCanvas
aCanvas fillRectangle: self bounds color: Color red.
aCanvas fillRectangle: (self bounds insetBy: 5) color: Color black.
--------------------------------------------
Alt + s ( Cmd + s )
インスタンスをクリックします。
もちろん新しいインスタンスを出しても同じになってます。
■丸で塗りつぶす
今度は内側に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.
--------------------------------------------
Alt + s ( Cmd + s )
インスタンスをクリック!!
■丸い線を描く
内側に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.
--------------------------------------------
Alt + s ( Cmd + s )
インスタンスをクリ〜ック!!
■テキストを描く
テキストも描けちゃいます。
--------------------------------------------
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.
--------------------------------------------
Alt + s ( Cmd + s )
インスタンスをクリック。
▲PREV ------ ● TOP ● ------ NEXT▼
■ MEMO ■
Sunday, 11 January 2004, 4:05:04 am
insetBy:ってやつだけど、どこにあるのかなと探してたんですが
GraphicsカテゴリのRectangleってクラスにありやした。ふ〜ん。
そのときにMethodFinder(Toolsフラップ)ってやつを始めて使ったんですがこれがなかなか便利。
出てくるとSelector Browserってなってるけどね。(下の図がそれさ)
左上のペインにメソッド名を書いて「Return」(Alt+sでもオッケーだった。)
するとその下のペインに候補のリストが出てくるんで
その中で探してるやつを見っけてクリックして右のペインに出来たやつを
またまたクリック。するとそのメソッドのありかをブラウザーが開いて教えてくれたです。
いままでBrowserでやみ雲に探してたですよ、おいら。--thoru
Links to this Page
- FunFunFunMorphic last edited on 25 March 2004 at 5:25:44 am by tk0005-202x210x196x109.ap-TK.usen.ad.jp
- funfunfun 8 last edited on 18 June 2007 at 5:48:47 am by localhost.localdomain
- funfunfun10 last edited on 18 June 2007 at 5:29:11 am by localhost.localdomain