我无法使用函数trajgen()来计算x和y,并且在尝试三天之后我仍然无法找到解决方案。整个程序超过200行,所以我会指责你在以下“有问题”的功能中找到错误的东西。 :) 看看......
function trajgen(){
$(".reddot").remove();
x=xo;
y=yo;
$(".reddot").css({"top": y, "left": x});
isin=true;
while(isin==true){
x = xo + v0*Math.cos(angle)*time;
y = yo + v0*Math.sin(angle)*time - 0.5*g*Math.pow(time,2);
alert("x= "+x);
alert("y= "+y);
$("#frames").append('<div class = "reddot" style = "top: '+ y + 'px; left: '+ x +'px;"><img src="red.png" height="10" width="10"></div>');
time+=1;
isin=inchecker();
}
return;
}
function inchecker(){
if(y<Dy||y>Ay||x<Dx||x>Bx){
isin = false;
return isin;
}
isin = true;
return isin;
}
现在,当我提醒x和y时,这个东西会返回NaNs(我知道这意味着什么),对于这两个坐标。另一个有趣的方面是,函数inchecker不会阻止他们离开div之后附加的bug reddot,我将其用作绘制我的轨迹的元素。而不是获得抛物线弧,我得到无限垂直克隆/附加红点。所有其他变量都能正常工作,x,y,xo,yo,speed,time ......等等都是全局变量。 Xo和哟我得到(0; 0)从发射射弹的地方,我发现所有其他变量都运行良好,唯一的问题是那些x和y到目前为止我还没有在其他地方使用过。我给它们分配了零但是现在这并没有改变我的脚本不愿意计算x和y。 #frames是所有这些事情发生的div。请帮助我,并提前致谢。
答案 0 :(得分:1)
在计算x和y的行上,角度,v0,xo或vo为空或不是数字。
运行一个调试器并逐步执行这些行,然后检查这些值。