将选项传递给quil和clojure中的draw函数声明。
我是使用Quil和Clojure的初学者,我正在尝试从一些现有的数据结构中绘制一些矩形。如果我定义draw函数来获取某种结构,那么如何使用defsketch传递该结构进行绘制将选项传递给quil和clojure中的draw函数声明。,clojure,draw,Clojure,Draw,我是使用Quil和Clojure的初学者,我正在尝试从一些现有的数据结构中绘制一些矩形。如果我定义draw函数来获取某种结构,那么如何使用defsketch传递该结构进行绘制 (defn draw [x] (stroke 80) (stroke-weight 3) (fill 23 181 100) (rect x x x x)) (defn create-sketch [] "Automatically uses the given setup and draw func
(defn draw [x]
(stroke 80)
(stroke-weight 3)
(fill 23 181 100)
(rect x x x x))
(defn create-sketch []
"Automatically uses the given setup and draw functions. Magic."
(defsketch example
:setup setup
:draw draw
:size [2000 2000]))
在上面的代码中(取自Quil的一个示例),我可以定义draw来获取随机参数x,然后使用它。我不知道在定义草图时如何传入参数。现在的
:draw-draw
声明适用于参数列表为空的函数。我已经尝试了所有我能想到的方法,将它传递到某个x值。我对问题的实质了解不够,无法解决它 quildraw
不接受任何参数。如果您总是绘制相同的矩形列表,则注释中显示的partial
技巧有效。
如果你想让一个动画
绘制
必须访问一个可变状态(例如原子
) 你想传递什么参数?你想在哪里定义它们?@ponzao我想传递绘制一系列的项目,我可以使用rect函数来显示。我只想从函数中得到一系列命令,这些命令在程序条目上运行,并以createsketch结束。这将涉及到给create sketch和defsetch一个序列,然后将它传递给绘图,而我似乎无法这样做。这就是我正在做的。它现在很黑。运行项目从内部绘图调用。@ponzao nevermind解决了这个问题。需要:draw(部分绘制术语列表)
而不是:draw(绘制术语列表)
。对于Quil(如在处理中),有millis
函数返回草图开始后的毫秒数。()如果您不想添加自己的(更多)可变状态,也可以将其用于动画。