在Smalltalk Squeak中绘制矩形

在Smalltalk Squeak中绘制矩形,smalltalk,squeak,Smalltalk,Squeak,给定矩形类中的两个整数变量“a”和“b”,如何绘制矩形? 我对smalltalk还不熟悉,我正在为一门课程学习它。 谢谢 Squeak使用Morphic作为其默认UI。因此,最简单的方法是创建变形: 一次评估所有三行。这将创建一个新的rectanglemorp实例,将其范围设置为从300和200创建的点(通过使用200参数将消息@发送到300),并向其发送openInWorld消息,使其出现在世界中。它将在屏幕左上角打开。我们本可以用另一个点参数发送位置:消息,但您也可以轻松地用鼠标指针抓住它,

给定矩形类中的两个整数变量“a”和“b”,如何绘制矩形? 我对smalltalk还不熟悉,我正在为一门课程学习它。 谢谢

Squeak使用Morphic作为其默认UI。因此,最简单的方法是创建变形:

一次评估所有三行。这将创建一个新的
rectanglemorp
实例,将其范围设置为从
300
200
创建的
点(通过使用
200
参数将消息
@
发送到
300
),并向其发送
openInWorld
消息,使其出现在世界中。它将在屏幕左上角打开。我们本可以用另一个
参数发送
位置:
消息,但您也可以轻松地用鼠标指针抓住它,并将其移动到任意位置

在你的课堂上,你可以使用
a@b
创建扩展点(假设
a
b
是矩形的宽度和高度(以像素为单位)

Morphic很好,因为它创建了可以交互操作的真实对象,例如通过cmd单击以显示光晕。如果你不想这样,你也可以直接在屏幕上画画。例如:

Display fill: (0@0 extent: 300@200) fillColor: Color red.
。。。其中,
Display
是一个全局表单实例(包含位图),它引用整个吱吱声显示。但是,由于该表达式只是将像素放在屏幕上,它们将很快被覆盖。相比之下,变形知道如何在需要时重新绘制自己


还可以创建自己的Morph子类并实现自定义的
drawin:
方法。但对于像显示矩形这样简单的东西来说,这太过分了。

我们需要知道你的Smalltalk方言,因为绘画对每个人来说都是不同的,他不知道你说的方言是什么意思-我用的是squeak Smalltalk啊是的,我明白了,对不起。
Display fill: (0@0 extent: 300@200) fillColor: Color red.