JavaScript實現兩個小球碰撞簡單模型【未完】
阿新 • • 發佈:2019-01-23
var xPos,xpos1;//
var timer,timer1;
var xSpeed;//黑球移動速度
var interval=50;//間隔時間
var countNum,countNum1;//計數
var totalTime,totalTime1;//總時間
var a;//加速度
var temp,temp1;
function move(){
var blackBall = document.getElementById("blackBall" );
countNum++;
totalTime=countNum*interval;
temp=xPos+(xSpeed*totalTime/50)-0.5*a*totalTime*totalTime/2500;
blackBall.style.left=temp+"px";
if (xSpeed-a*totalTime/50>0&&temp<475)
{timer=window.setTimeout("move()" ,interval);}
else{
if(xSpeed-a*totalTime/50>0){
start1();
}
}
}
function move1(){
var yellowBall = document.getElementById("yellowBall");
countNum1++;
totalTime1=countNum1*interval;
temp1=xPos1+(xSpeed*totalTime1/50 )-0.5*a*totalTime1*totalTime1/2500;
yellowBall.style.left=temp1+"px";
if(xSpeed-a*totalTime1/50>0&&temp1<900)
{timer1=window.setTimeout("move1()",interval);}
}
function start(){
xPos=blackBall.style.left.substring(0,blackBall.style.left.length-2);//取得黑球當前的left值
xPos=Number(xPos);//轉為數字
countNum=0;
xSpeed=document.getElementById("xSpeed").value;
xSpeed=Number(xSpeed);
a=document.getElementById("a").value;
a=Number(a);
move();
}
function start1(){
xPos1=yellowBall.style.left.substring(0,yellowBall.style.left.length-2);//取得黃球當前的left值
xPos1=Number(xPos1);//轉為數字
countNum1=0;
xSpeed=document.getElementById("xSpeed").value;
xSpeed=Number(xSpeed);
a=document.getElementById("a").value;
a=Number(a);
move1();
}
function stop(){
window.clearTimeout(timer);
}