如何从 VID 内部进行动态绘图

  • 本文关键字:动态 绘图 内部 VID red
  • 更新时间 :
  • 英文 :


我有一些代码应该从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:3on-time处理程序一起创建一个计时器,该计时器将每 3 秒评估一次处理程序,因此在这里无关紧要。
  • a/draw不是在 VID 中将绘制块指定为人脸定义的选项的正确语法。
  • 删除了
  • win:字设置,在这种情况下,为了简单起见,VID 块直接馈送到view

如果您在学习 Red 及其 GUI 系统方面需要更多帮助,可以加入我们的 Gitter 帮助室。

最新更新