我试图了解我在做什么时,我以下面的方式将pjs草图粘贴到html画布上。pjs草图和html画布
<body>
<canvas id="mycanvas" style="border: 1px solid black;"></canvas>
</body>
<script src="https://cdn.jsdelivr.net/processing.js/1.4.8/processing.min.js">
</script>
<script>
var sketchProc = function(processingInstance) {
with (processingInstance) {
size(800, 400);
frameRate(30);
draw = function() {
background(235, 245, 255);
};
}};
var canvas = document.getElementById("mycanvas");
var processingInstance = new Processing(canvas, sketchProc);
</script>
当我开始学习这个东西,我渴望我的动画添加到一个HTML文档。我学会了上述的方式,几乎可以让我想象仓鼠可以学习按下按钮并接收颗粒;也就是说,我不太了解机制,但结果是积极的。
这里是在行动上面的例子: https://jsfiddle.net/h1Lb91ux/
这是我在做的这个意义上的尝试。
以下代码定义了一个名为sketchProc的函数。
var sketchProc = function(processingInstance) {
with (processingInstance) {
size(800, 400);
frameRate(30);
draw = function() {
background(235, 245, 255);
};
}};
这不会返回任何东西,因为我们只是定义了sketchProc,而不是调用它。它的参数是processingInstance,它被定义为局部变量,就像我这样做:
var functionX = function(x) {
return x;
};
但我不明白with语句。我知道来自excel-vba的语句,它可以用来将多个方法附加到一个对象上,而不必重复输入对象名称。这是一样的吗?
以下说法非常有道理。
var canvas = document.getElementById("mycanvas");
但是,这下一个是混乱的根源:
var processingInstance = new Processing(canvas, sketchProc);
对我来说,这就像是我们正在从一个对象的构造函数内建立一个单一实例或对象(在JavaScript)或类(处理中),它有两个参数:canvas和sketchproc。我们调用了这个特定的实例processingInstance,它与函数sketchProc中使用的局部变量名称相同。
我希望这不是太乱。
是的,我认为“var processingInstance”可以被称为别的,因为它只是新的处理实例的名称。 –
啊哈。这是另一个小提琴:https://jsfiddle.net/Lnuq6apg/ 这有两个不同的画布标签,每个画布标签都附有不同的草图实例。因此,就我而言,确认“var processingInstance”只是一个实例。到现在为止还挺好。 – Jozurcrunch
很酷。你对其余部分的理解似乎是正确的。是的,“与”关键字是一个时髦的事情。快速谷歌应该找到一些解释它的博客文章。 –