在处理草图,我得到如何从javaskript访问processing.js变量和更改
int posX = 10;
int posY = 10;
int s = 12;
int vx,vy;
int red,gr,bl, =0;
void setup(){
size(200,200);
vx = random(6);
vy = random(6);
}
void draw(){
if(mousePressed){
red = r;
gr = g;
bl = b;
}
background(red,gr,bl);
fill(255);
posX += vx ;
posY += vy ;
if (posX > width || posX<0){
vx *= -1;
}
if(posY > height || posY < 0){
vy *= -1;
}
ellipse (posX,posY,s,s);
}
HTML:
<!DOCTYPE html>
<html>
<head>
<script src="processing-1.4.1.js"></script>
</head>
<body>
<div id="msg">
</div>
<canvas id = "canvas" data-processing-sources="mixing.pde"></canvas>
<button onclick = "startSketch();">Start</button>
<button onclick = "stopSketch();">Stop</button>
<script type="application/javascript">
var processingInstance;
sp = 1;
function startSketch(){
switchSketchState(true);
}
function stopSketch(){
switchSketchState(false);
}
function switchSketchState(on){
if(!processingInstance){
processingInstance = Processing.getInstanceById('canvas');
}
if (on){
processingInstance.loop();
}
else{
processingInstance.noLoop();
}
alert(processingInstance.posX);// this return undefined i have to see 10
}
</script>
</body>
</html>
,当我试图通过JavaScript和警报访问POSX变量它在屏幕上像浏览器告诉我,它是未定义的。有没有办法访问变量并更改它们的值。
你可以发布[mcve]或小提琴吗?你什么时候执行JavaScript?你确定它是在你的Processing代码被加载后发生的吗? –
它是一个普通的HTML文件,在我的画布后,我得到两个按钮之一来启动'loop()'和一个谁停止动画与'Noloop()'后他们我有我的JavaScript代码,我很岸,我的代码加载因为我使用动画球来移动画布,我通过按钮开始和停止动画 –
在没有看到我们可以运行的[mcve]或者我们可以使用的JSFiddle的情况下帮助你很难。 –