2012-03-16 65 views
0

所以,我一直在寻找Processing.js库/语言。我最近下载了它,不幸的是,它立即感到困惑。我只想看看我是否可以从我的Javascript代码中调用Processing.js函数和对象。这是我想要做的:从JavaScript内调用Processing.js函数?

var p = new Processing(document.getElementById("canvas")); 

var orange = new p.color(204, 102, 0); 
var blue = new p.color(0, 102, 153); 
var orangeblueoverlay = p.blendColor(orange, blue, p.OVERLAY); 

console.log(orangeblueoverlay); 

虽然上面的代码不会给我任何错误,但它不会像预期的那样行为。我收到一条包含'0'的警告消息,这不是我正在寻找的。我究竟做错了什么? (也许一个更好的问题是,“我在做什么吗?”)

+0

第一件事第一。停止使用警报,学会使用开发者控制台,然后过上漫长而幸福的生活。 – hugomg 2012-03-16 04:30:09

+0

那两个齐头并进?那么我会改为'console.log'。 :) – 2012-03-16 04:31:06

+0

只是不要简写你自己'function print(txt){if(window.console){console.log(txt);}}'并且在你调用它时不要打开打印对话框。真实的故事。 – dwerner 2012-03-16 04:34:18

回答

1

从这里的经验:http://processingjs.org/articles/jsQuickStart.html

你需要创建一个函数来传递到您的处理情况时,它的实例,以及函数最少需要覆盖处理setup()函数或draw()函数。

function sketchProc(processing) { 
    processing.draw = function(){ 
    //in here is where you can drop your code. setup() runs once, draw() will run 
    //continuously 
    var orange = new processing.color(204, 102, 0); 
    var blue = new processing.color(0, 102, 153); 
    var orangeblueoverlay = processing.blendColor(orange, blue, processing.OVERLAY); 

    console.log(orangeblueoverlay); 

}; 

} 

然后创建您的处理实例是这样的:

var p = new Processing(document.getElementById("canvas"),sketchProc); 

这一切都这样类型的,我喜欢写与加工处理,然后只将其绑定到画布上。它最终更简洁。你甚至可以使用处理内部类!这是我发现有点太晚了,我的网站,这是一个很好的例子process.js在工作...(http://www.rfinz.me)

+0

太棒了,谢谢! – 2012-03-17 18:42:40

+0

这一切是否按计划进行?我从我复制和粘贴的地方发现了一些错别字... – rfinz 2012-03-18 04:02:59

+0

我还没有整合它,但是这在我要做的事情清单上很高。 :)虽然这看起来不错,但没有人回答,所以即使我还没有工作,我也接受了。 – 2012-03-18 04:28:16