1
這寫在p5.js
/處理。我的問題是,所有的函數調用是從起點,當它應該更新到老了點我的起點不改變javascript
var aslider, lslider, sslider, newx, newy;
function setup() {
createCanvas(300,300);
aslider = createSlider(1,359,17); #angle
lslider = createSlider(1,50,10); #length
sslider = createSlider(1,50,20); #amount of side
}
function draw() {
var angle = aslider.value();
var length = lslider.value();
var size = sslider.value();
var startx = 100;
var starty = 100;
var radians = angle * (Math.PI/180);
for (var i = 0; i < size; i++) {
newx = Math.cos(radians) * length + startx;
newy = Math.sin(radians) * length + starty;
line(startx, starty, newx, newy);
startx = newx; #not changing
starty = newy; #not changing
}
}
什麼時候是'startx'和'starty'「不更新」?在循環迭代期間或函數的後續運行期間(如果後續函數調用它是範圍問題)?你是否在'startx'上設置了斷點並在運行期間在調試器中進行了檢查?你確定'newx','newy'確實有新的價值嗎? – scrappedcola
您必須將'startx/y'的聲明移動到函數的外部範圍。目前,每次調用函數時都會覆蓋它們。 – Teemu