这可能是一个愚蠢的问题,但这里有。有没有办法强制结束for循环的迭代并忽略循环中的所有其他条件语句,然后进入下一次迭代?
我正在尝试制作一个工具,无论何时用户键入一个字母,它都会打印到画布上。
我正在使用for循环执行此操作,每次迭代使下一个字母每次都向右移动。
在for循环中包含用于键入字母的条件语句:
function draw(){
}
function keyPressed(){
for(i=0; i<100; i++){
if(keyCode == 65){
text("a", 60 + i*10, 60)
}
...
...
...
}
}
等等等等。但是,这只有在每个字母移动到下一次迭代之后才会起作用(否则由于'我'没有增加,字母将被打印在同一个地方,使其无法读取)。
在每个条件语句的末尾使用'return'对我来说不起作用,因为'return'结束了整个for循环,而我只想结束那个特定的迭代。
感谢所有帮助,谢谢。
听起来你正在寻找continue
关键字。以下是W3Schools的一个例子:
for (i = 0; i < 10; i++) {
if (i === 3) { continue; }
text += "The number is " + i + "<br>";
}
qazxsw poi是一个自己尝试代码的链接。
但退一步,这感觉就像一个有缺陷的设计。如果你想获得用户按下的键,你不必使用一堆Here语句。你可以使用if
变量。来自key
:
P5.js reference
即使由于某种原因它不起作用(例如,如果你想显示箭头键的东西),可能有更好的方法来解决这个问题,而不是function setup() {
fill(245, 123, 158);
textSize(50);
}
function draw() {
background(200);
text(key, 33, 65); // Display last key pressed.
}
循环中的一堆if
语句。例如,您可以创建从for
到要显示的字符串的映射,然后调用该映射。就像是:
keyCode