我正在编写一个绘图脚本,该脚本使用p5 javascript创建圆形图案。我希望通过按键更改多边形中的边数。我做了所有的工作,但是我意识到,如果360可以被侧面数整除,则图案效果会更好。我想写一个函数,当用户增加或减少侧面时,它将跳过不可分割的值。这些键仍然有效,但是它们并不总是像if语句总是出现false
一样递增一。我尝试将返回值放在else
中,但是那样一来就不会返回任何值。我在这里想念什么?这是javascript函数:
function modCheck(num, dir){
num = num + dir; //num is the number of sides | dir indicates if the sides should increase or decrease
if(360 % num !== 0){
modCheck(num, dir);
}
return num;
}
这里是按键功能:
function keyPressed(){
if((key === 'q' || key === 'Q') && sides > 1 ) sides = modCheck(sides, -1);
if((key === 'a' || key === 'A') && sides < 360) sides = modCheck(sides, 1);
}
函数中的问题是您没有在num
语句中更新if
变量。这里有一个工作示例:
function modCheck(num, dir){
num = num + dir; //num is the number of sides | dir indicates if the sides should increase or decrease
if(360 % num !== 0){
num = modCheck(num, dir);
}
return num;
}