funfunfun10
こうゆう場合はどうよ?
さっきは初めに全面を四角で塗りつぶしちゃったけど、円の塗りつぶしをすると
それ以外の場所はどうなるんだろ?ってんで新しくクラスを作って試してみるです。
■クラスを作る
さっきと同じ物を作るです。クラス名は「TestMorph4」とします。
--------------------------------------------
Morph subclass: #TestMorph4
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'MyMorph'
--------------------------------------------
アクセプトね。
Alt + s ( Cmd + s )
■メソッドを追加
「initialize」メソッドも同じよん。
--------------------------------------------
initialize
super initialize.
self extent: 100@100.
--------------------------------------------
これまたアクセプトね。
Alt + s ( Cmd + s )
「drawOn」メソッドを追加します。オレンジ色の円で塗りつぶしましょう。
--------------------------------------------
drawOn: aCanvas
aCanvas fillOval: self bounds color: Color orange.
--------------------------------------------
アクセプトね。
Alt + s ( Cmd + s )
■インスタンスを出します。
Workspaceに下記のコードを書いてドゥーイット。
--------------------------------------------
TestMorph4 new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )
オレンジ色の円が出てきました。これをドラッグして何かに重ねてみると、おお!!
オレンジに塗りつぶされているところ以外は透明になってますね。
これは便利かも。もし白にぬりつぶされるならめんどうだなと思ってたもんでね。
リージョンがどうたらこうたらとかね・・・ぶつぶつ。
■ついでに透明度も試してみましょう!!
透明度は「alpha」ってのがあったのでこれを使いましょう!!
下記のようにちょっと色の部分を修正します。
--------------------------------------------
drawOn: aCanvas
aCanvas fillOval: self bounds color: (Color orange alpha: 0.5).
aCanvas fillOval: (self bounds insetBy: 30) color: (Color red alpha: 0.5).
--------------------------------------------
アクセプトね。
Alt + s ( Cmd + s )
おお!!透明になっちょるなちょる!!
▲PREV ------ ● TOP ● ------ NEXT▼
■ MEMO ■
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 9 last edited on 18 June 2007 at 5:18:58 am by localhost.localdomain
- funfunfun11 last edited on 17 June 2007 at 7:24:48 am by localhost.localdomain