gpt4 book ai didi

smalltalk - 如何在 Squeak 中的 Morph 上使用 Pen 交互绘制?

转载 作者:行者123 更新时间:2023-12-05 00:10:33 31 4
gpt4 key购买 nike

它无法让 Pen 在 Morph 中正常工作。

我到达了下面的代码段,但我不明白如何在移动笔后更新 Morph 的 View 。我试图在各种 (sm, pen, (sm owner)) 对象中发送“更改”,但它没有解决它。

如果我调整窗口大小,则在下面的代码段中会绘制线条。或者,如果我将“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.

最佳答案

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

sm revealPenStrokes

这是 - 双关语 - 相当意图揭示;不是吗?

我是怎么找到的

使用 Nicola 提供的提示,我调试了 sm layoutChanged试图理解为什么它会显示这条线。我试过 sm changed之前没有运气,所以我知道线索必须在 generateRotatedForm .并且由于此方法重新定义了 ivar rotatedForm ,我寻找了所有改变它的方法,因为我怀疑问题出在某些缓存没有被 changed 失效。 .很快,选择器 revealPenStrokes从相当短的修改方法列表中脱颖而出 rotatedForm .

关于smalltalk - 如何在 Squeak 中的 Morph 上使用 Pen 交互绘制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57502879/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com