gpt4 book ai didi

javascript - 如何从javascript访问processing.js变量并更改它

转载 作者:行者123 更新时间:2023-11-28 05:48:07 25 4
gpt4 key购买 nike

在我得到的处理草图中

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 变量并在屏幕上提醒它时,浏览器告诉我它未定义。有什么方法可以访问变量并更改它们的值。

最佳答案

您的草图有几个逻辑问题:您正在 intfloat 类型之间切换,并且您正在使用 undefined variable r gb

我强烈建议在 Java 模式下编程,以便这些错误更加明显,然后在准备部署时切换到 JavaScript 模式。

但您真正的问题是:Processing.js 只允许您访问草图的函数,而不是其变量。

如果您想在 JavaScript 中获取 posX,则必须编写 getPosX() 函数,然后从 JavaScript 调用该函数。

如果您想设置它,也是一样:创建一个 setPosX() 函数,然后调用它。

关于javascript - 如何从javascript访问processing.js变量并更改它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38313311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com