你将如何实现Morph>> #moveTo:inSteps:在Pharo Smalltalk中?假设步骤之间存在硬编码延迟。并不一定担心更新世界(即说它将在后台分叉)。我只关心算法。
从https://stackoverflow.com/a/17906567/424245开始,我想出了:
Morph>>#moveTo: pointB inSteps: anInteger
| deltaX deltaY |
deltaX := (pointB x - self center x) / anInteger.
deltaY := (pointB y - self center y) / anInteger.
anInteger timesRepeat: [
self align: self center with: self center + (deltaX @ deltaY).
10 milliSeconds asDelay wait ].
但是我想知道是否有一些我在核心中缺少的东西并重新发明轮子......