有一个掉落的变形以捕捉到网格(Cuis Smalltalk)



我需要在Cuis中更改哪种方法,classPasteUpMorph才能有一个丢弃的变形来捕捉到10乘10像素的网格?

打开方法查找器:World/Open/Message Names在文本框中输入"drop"。单击(搜索)。显示的第一条消息是#acceptDroppingMorph:event:我们很幸运!在PasteUpMorph实现的末尾添加:

p := aMorph morphPosition.
p := (p x roundTo: 10) @ (p y roundTo: 10).
aMorph morphPosition: p.

就是这样。也许你想使用自己的变形而不是世界,那么你可以向世界添加一个DragAndDropAreaMorph,并且该类添加了这个方法:

acceptDroppingMorph: aMorph event: evt
    | p |
    super
        acceptDroppingMorph: aMorph
        event: evt.
    p := aMorph morphPosition.
    p := (p x roundTo: 10) @ (p y roundTo: 10).
    aMorph morphPosition: p

最新更新