更多信息:
所有示例都显示了如何在页面加载时实例化/创建草图,但我需要稍后动态创建它。我尝试了另一种方法:
// checking if we need to create a canvas for Processing
var sensor_type = sensorID.substr((sensorID.indexOf('_')+1),sensorID.length);
//alert(sensor_type);
if(sensor_type === 'X')
{
//alert('it is X');
$("#"+sensorID+"P").append(
// canvas container
'<div id="' + canvasdiv + '" >' +
//'<canvas id="cube" data-processing-sources="/processing/rotating_cube.pde" width="240" height="240">' +
'<canvas id="cube" data-processing-sources="/processing/rotating_cube.pde" style="border: 1px solid black" width="240" height="240">' +
'</canvas>' +
'</div>');
// AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
// creating a processing instance based on http://ben1amin.wordpress.com/2011/03/27/initializing-a-processing-sketch-using-a-canvas-tag-and-javascript/
var processingCode = ('import processing.opengl.*;' + '\n' +
'float inc = 0.01;' + '\n' +
'void setup()' + '\n' +
'{' + '\n' +
' noStroke();' + '\n' +
' size(240, 240, OPENGL);' + '\n' +
'}' + '\n' +
'void draw()' + '\n' +
'{' + '\n' +
' background(#1B9Ff0);' + '\n' +
' lights();' + '\n' +
' inc +=0.01;' + '\n' +
' pushMatrix();' + '\n' +
' translate(width/2, height/2);' + '\n' +
' rotateX(inc);' + '\n' +
' rotateY(inc);' + '\n' +
' box(120, 50, 20);' + '\n' +
' popMatrix();' + '\n' +
'}' + '\n');
var jsCode = Processing.compile(processingCode).sourceCode;
Processing("cube", jsCode);
// end of creating a processing instance
// ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
};
上面的代码在函数 var jsCode = Processing.compile.... 上失败。
仍然需要帮助。谢谢
简