繁体   English   中英

如何编写启动脚本来加载quil / processing sketch?

[英]how can I write a boot script to load a quil/processing sketch?

我已经开始使用其他示例,但我试图将它与quil / Processing一起使用。 我编写了这个简单的脚本并尝试运行它,但它只是启动一个Java Applet窗口然后立即关闭。 没有错误日志供我调试。

#!/usr/bin/env boot
(set-env! :dependencies '[[quil "2.6.0"]])
(require '[quil.core :as q])
(defn setup []
  (q/background 111 111 111 )  )
(defn -main  [& args]
  (q/defsketch my-art
  :size [800 800]
  :setup setup))

这段代码有效,但它不是正确的答案,因为它使用了睡眠。 有没有睡觉的更好的方法吗?:

#!/usr/bin/env boot
(set-env! :dependencies '[[quil "2.6.0"]])
(require '[quil.core :as q])

(defn draw []
  (println "in draw")
  (q/background 111 111 111 )  )

(defn -main  [& args]
  (println "starting")
  (q/defsketch my-art
    :size [800 800]
    :draw draw)
  (Thread/sleep 5000))

创建窗口后,主线程可能没有其他任何操作,JVM退出。 您可以通过在调用q/defsketch之后添加(Thread/sleep 5000)来确认这q/defsketch

我快速浏览了一下quil的代码。 defsketch返回的实例quil.Applet ,它实现processing.core.PApplet 虽然PApplet使用AWT,它不会扩展或实现任何AWT类,但它在内部创建了其他Processing类。

保持窗口打开的最简单方法是在创建草图后从控制台读取(.read System/in) 可能还有其他更好的方法。

通常,您希望将示例转换为启动任务,然后调用您的quill任务+监视任务以防止启动管道退出。

即。 boot watch quill

这将阻止在您的主轴任务完成后退出,但是您可能需要根据主轴的功能实现其他控制流程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM