Почему самодельная функция уклона не работает
Почему это не отображает шар, движущийся с уклоном?
Я пытаюсь получить функцию наклона, чтобы позволить этому шару перемещаться по экрану, учитывая две точки и текущий х, но это не работает.
это p5.js: http://p5js.org/
function graphY(num,cHI){
var GsetR = cHI-num;
return(GsetR);
};
function slope(x1,y1,x2,y2,ex){
var gg1 = x2-x1;
var gg2 = y2-y2;
var ggs = gg2/gg1;
return(graphY(ggs*ex));
};
function setup() {
createCanvas(1000,650);
}
var slipX= 100;
var slipY= 500;
function draw() {
background(204);
fill(0,0,0);
ellipse(slipX,slipY,20,20);
slipY = slope(100,500,200,400,slipX);
slipX++;
text(slipY,20,20);
}
Если это не так, как я должен это сделать. (Я видел что-то о векторах, но не понял) тогда как мне это сделать? (Это перемещение объекта из одной точки в другую по кратчайшему пути.)
1 ответ
В вашем коде есть несколько простых проблем, которые можно решить, пройдя по каждой функции. Использование отладчика или размещение console.log()
заявления в стратегических местах - хороший способ выяснить, что не так. Например, если вы делаете это с вашим slope
Функция вы заметите свою ошибку:
function slope(x1,y1,x2,y2,ex){
var gg1 = x2-x1;
var gg2 = y2-y2;
var ggs = gg2/gg1;
console.log(ggs) // <-- why is ggs always zero??
// Maybe a typo in gg2 (should probably be y2 - y1)
return(graphY(ggs*ex));
};
или же:
function graphY(num,cHI){
var GsetR = cHI-num;
console.log(GsetR) // <-- why is this NaN
return(GsetR);
};
graphY()
принимает два аргумента: num
а также cHI
, Но вы звоните с одним в slope()
, Это делает возвращаемое значение graphY()
NaN
(не номер).
Это в основном просто опечатки, так что эта тема, вероятно, будет закрыта в какой-то момент, но я надеюсь, что это укажет вам правильное направление.