我正在尝试在每个draw()
上将对象的X位置更改为1。但是,椭圆形没有移动,而且没有出现任何错误。
function setup() {
createCanvas(windowWidth, windowHeight - 4);
}
function windowResized() {
resizeCanvas(windowWidth, windowHeight - 4);
}
function draw() {
background(51, 51, 51);
var el1 = {
x: 100,
y: 100,
width: 50,
height: 50
};
var el2 = {
x: 300,
y: 300,
width: 50,
height: 50
};
ellipse(el1.x, el1.y, el1.width, el1.height);
ellipse(el2.x, el2.y, el2.width, el2.height);
el1.x = el1.x + 1;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.7.2/p5.js"></script>
答案 0 :(得分:1)
您将在每个帧中重新创建el1
和el2
变量,因此您将以它们的默认值重新启动它们。
如果要修改单个el1
变量,则需要在草图顶部声明它。
比较此代码:
function draw(){
var x = 42;
console.log(x); // always prints 42
x = x + 1;
}
此代码:
var x = 42;
function draw(){
console.log(x);
x = x + 1;
}