如何从 VID 内部进行动态绘图
How to do dynamic drawing from inside of VID
我有一些代码可以从 VID 内部进行绘图。人们建议使用 draw block 在 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
创建了一个不支持绘图的文本区域原生widget,所以被base
替换为支持绘图的通用人脸
rate 0:0:3
和 on-time
处理程序一起创建一个计时器,每 3 秒计算一次处理程序,因此在这里无关紧要。
a/draw
不是正确的 syntax,无法将绘图块指定为 VID 中面定义的选项。
- 删除了
win:
字设置,在这种情况下,为了简单起见,VID块直接馈送到view
。
如果您在学习 Red 及其 GUI 系统方面需要更多帮助,可以加入我们的 Gitter help room。
我有一些代码可以从 VID 内部进行绘图。人们建议使用 draw block 在 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
创建了一个不支持绘图的文本区域原生widget,所以被base
替换为支持绘图的通用人脸rate 0:0:3
和on-time
处理程序一起创建一个计时器,每 3 秒计算一次处理程序,因此在这里无关紧要。a/draw
不是正确的 syntax,无法将绘图块指定为 VID 中面定义的选项。- 删除了
win:
字设置,在这种情况下,为了简单起见,VID块直接馈送到view
。
如果您在学习 Red 及其 GUI 系统方面需要更多帮助,可以加入我们的 Gitter help room。