3

我需要在 Cuis、PasteUpMorph 类中更改哪种方法使下降的变形捕捉到 10 x 10 像素的网格?

4

1 回答 1

3

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

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

而已。也许您想使用自己的变形而不是 World,然后您可以向世界添加 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
于 2013-12-13T13:10:19.053 回答