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

funfunfun14

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


ドロップイン

モーフに別のモーフをドロップインさせるってやつね。

■クラスを作る

Morphクラスが親ね。(継承するっていうらしいでするよ<白々しいかな)
--------------------------------------------
Morph subclass: #TestMorph6
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'MyMorph'
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )

Uploaded Image: image8.jpg


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

確認の為Workspaceに下記のコードを書いてドゥーイット。
(ちなみにこれはおいらの癖なんでそのままメソッド書いちゃってね)

--------------------------------------------
TestMorph6 new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )

Uploaded Image: image9.jpg


Uploaded Image: image10.jpg


■メソッドを追加 色と大きさをゲッチュ!

ドロップインする側の色と大きさをゲットして、
ドロップインされる側(今作ったやつ)にその色と大きさを設定してます。
--------------------------------------------
acceptDroppingMorph: aMorph event: evt
	self color: aMorph color.
	self extent: aMorph extent.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )

これはドロップインを受け入れるってやつかな。
--------------------------------------------
wantsDroppedMorph: aMorph event: evt
	^ true.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )

Uploaded Image: image11.jpg

このモーフの中にいろいろなモーフを「部品」から出してドロップインしてみてちょ。
モーフがドロップインしたモーフの色と大きさと同じになるよ。

Uploaded Image: image12.jpg


ところでなんでドロップインしたモーフはなくなっちゃうんだ?
っていうか残しておくにはどうしたらいいんだ?(調査、調査やね)




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







■ MEMO ■

Tuesday, 20 January 2004, 5:12:50 pm
ちなみに、ドロップした後跳ね返すには
aMorph rejectDropMorphEvent: evt
を付けたら良いですよ。 --tak


Friday, 16 January 2004, 4:29:09 pm
メソッドをオーバーライドするときは、通常の処理をさせてから、
自分の仕事をします。こんな風にすれば消えないです。--み

acceptDroppingMorph: aMorph event: evt
super acceptDroppingMorph: aMorph event: evt.
self color: aMorph color


Monday, 12 January 2004, 8:28:45 pm
「justDroppedInto:」はMorphクラス>grabbingカテゴリをみるべし。--thoru


Monday, 12 January 2004, 8:28:25 pm
ドロップインはObjectクラス>drag and dropカテゴリをみるべし。--thoru

Links to this Page