如何用钢笔在吱吱声中进行交互绘制?

Nic*_*tti 4 smalltalk squeak pen morphic

它无法使笔在Morph中正常工作。

我到达下面的代码段,但是在移动笔后我不明白如何更新“变形”视图。我试图在各种(sm,pen,(sm所有者))对象中发送“已更改”,但无法解决。

如果我调整窗口大小,则会在下面的代码段中绘制线条。或者,如果我把“ openInWindow”作为最后一行。

sm := SketchMorph new.
sm clearExtent: 600@600 fillColor: (Color yellow) darker darker.
sm position: 100@100.
sm openInWindow. 
pen := sm penOnMyForm.
pen defaultNib: 4; color: (Color red).
pen up.
pen goto: 10@10. 
pen down.
pen goto: 100@100.
Run Code Online (Sandbox Code Playgroud)

Lea*_*lia 5

您应该发送给SketchMorph而不是的消息#layoutChanged

sm revealPenStrokes
Run Code Online (Sandbox Code Playgroud)

这是“双关语”-相当有意图的揭示;是不是

我怎么找到的

使用Nicola提供的提示,我进行了调试,sm layoutChanged试图了解为什么它显示了这一行。我sm changed以前没有碰运气就尝试过,所以我知道这个线索一定存在generateRotatedForm。并且由于此方法重新定义了ivar rotatedForm,因此我寻找了所有更改了它的方法,因为我怀疑问题出在某些缓存中,并没有使失效changed。很快,选择器就revealPenStrokes从很少的方法修改列表中脱颖而出rotatedForm