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

funfunfun10

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


こうゆう場合はどうよ?

さっきは初めに全面を四角で塗りつぶしちゃったけど、円の塗りつぶしをすると
それ以外の場所はどうなるんだろ?ってんで新しくクラスを作って試してみるです。


■クラスを作る

さっきと同じ物を作るです。クラス名は「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 )


Uploaded Image: image37.jpg


「drawOn」メソッドを追加します。オレンジ色の円で塗りつぶしましょう。
--------------------------------------------
drawOn: aCanvas
	aCanvas fillOval: self bounds color: Color orange.
--------------------------------------------

アクセプトね。

Alt + s ( Cmd + s )


Uploaded Image: image38.jpg



■インスタンスを出します。


Workspaceに下記のコードを書いてドゥーイット。

--------------------------------------------
TestMorph4 new openInWorld
--------------------------------------------

Alt + d ( Cmd + d )


Uploaded Image: image39.jpg


オレンジ色の円が出てきました。これをドラッグして何かに重ねてみると、おお!!
オレンジに塗りつぶされているところ以外は透明になってますね。
これは便利かも。もし白にぬりつぶされるならめんどうだなと思ってたもんでね。
リージョンがどうたらこうたらとかね・・・ぶつぶつ。

Uploaded Image: image40.jpg


■ついでに透明度も試してみましょう!!

透明度は「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 )


Uploaded Image: image41.jpg


おお!!透明になっちょるなちょる!!

Uploaded Image: image42.jpg




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







■ MEMO ■

Links to this Page