我有一些代码应该从VID内部进行一些绘图。人们建议使用绘制块在 VID 中使用它。 我试图在这里这样做,但也许不正确。
下面是一些代码,显示了我正在尝试执行的操作的基本思想。
Red [Needs: 'View]
Consolas: make font! [size: 11 name: "Consolas" style: 'bold]
win: [ size 600x400
a: area 460x400 rate 0:0:3 on-time [
a/draw [
font Consolas
text 10x20 "Miter"
text 170x20 "Round"
text 330x20 "Bevel"
]
]
]
view win
此代码不会创建任何错误,但不执行任何绘图。如何更改代码以实际绘制?
这里的关键是,我试图根据其他因素有条件地进行绘画,这将有助于确定应该绘制的内容。但是,如果我不能做到这一点,就没有希望添加逻辑。
下面是代码的正确版本:
Red [Needs: 'View]
Consolas: make font! [size: 11 name: "Consolas" style: 'bold]
view [
size 600x400
a: base 460x400 draw [
font Consolas
text 10x20 "Miter"
text 170x20 "Round"
text 330x20 "Bevel"
]
]
我进行了以下更改:
-
area
创建一个不支持绘图的文本区域本机构件,因此它被替换为base
,后者是支持绘图的通用面。 -
rate 0:0:3
和on-time
处理程序一起创建一个计时器,该计时器将每 3 秒评估一次处理程序,因此在这里无关紧要。 -
a/draw
不是在 VID 中将绘制块指定为人脸定义的选项的正确语法。
删除了 win:
字设置,在这种情况下,为了简单起见,VID 块直接馈送到view
。
如果您在学习 Red 及其 GUI 系统方面需要更多帮助,可以加入我们的 Gitter 帮助室。