给定矩形类中的两个整数变量'a'和'b',你如何绘制一个矩形?我是smalltalk的新手,我正在研究它.谢谢!
Squeak使用Morphic作为其默认UI.所以最简单的方法是创建一个变形:
RectangleMorph new
extent: 300@200;
openInWorld
Run Code Online (Sandbox Code Playgroud)
一次评估所有三条线.这产生一个新的RectangleMorph
实例,设置其程度至Point
创建从300
和200
(通过发送消息@
到300
与的参数200
),并且还发送它的openInWorld
,因此出现在世界消息.它将在左上角的屏幕角落打开.我们可以position:
用另一个Point
参数向它发送消息,但你可以轻松地用鼠标指针抓住它并随意移动它.
在您的类中,您可以使用a@b
创建范围点(假设a
并且b
是矩形的宽度和高度,以像素为单位).
Morphic很不错,因为它可以创建可以交互操作的真实对象,例如通过cmd-click来调出Halo.如果你不想那样,你也可以直接在屏幕上画画.例如:
Display fill: (0@0 extent: 300@200) fillColor: Color red.
Run Code Online (Sandbox Code Playgroud)
...在哪里Display
是一个全局的Form实例(包含一个Bitmap),引用整个Squeak显示.但由于该表达式只是将像素放在屏幕上,因此它们将被快速覆盖.相比之下,变形知道如何在需要时重绘自己.
也可以创建自己的Morph子类并实现自定义drawOn:
方法.但是对于像显示矩形这样简单的东西来说,这样就太过分了.
归档时间: |
|
查看次数: |
567 次 |
最近记录: |