yi *_*eng 5 smalltalk squeak pharo morphic
我有两个变形,一个在另一个.
a:= Morph new.
b:= Morph new.
a addMorph: b.
a openInWorld.
Run Code Online (Sandbox Code Playgroud)
但是当我想通过做b位置改变b的位置:100 @ 100时,它永远不会显示变化,所以我在这里缺少什么?或者是否有责任跟踪b的位置?
这应该工作:
| morph1 morph2 |
morph1 := Morph new.
morph1 color: Color red.
morph1 extent: 200@200.
morph2 := Morph new.
morph2 color: Color green.
morph2 extent: 50@50.
morph1 addMorph: morph2.
morph2 position: 100@100.
morph1 openInWorld.
Run Code Online (Sandbox Code Playgroud)
结果:

请注意,这些位置是绝对的,如果您想要相对位置,您必须执行以下操作:
morph2 position: (morph1 position + (100@100))
Run Code Online (Sandbox Code Playgroud)
如果你将Morphs添加到一个窗口,你可以看看SystemWindow #addMorph:fullFrame:它提供了更好的定位submorphs的可能性.Morph还实现了#addMorph:fullFrame:但是在Pharo 2.0中,这似乎不适合我.
请看一下:Pharo collaborActive书 和Pharo的Basic Widgets章节.
| 归档时间: |
|
| 查看次数: |
1197 次 |
| 最近记录: |