3

ドロップしたモーフを 10 x 10 ピクセルのグリッドにスナップするには、Cuisの PasteUpMorphクラスのどのメソッドを変更する必要がありますか?

4

1 に答える 1

3

Method Finder を開きます: 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 に答える