本文小編為大家詳細介紹“html5怎么實現(xiàn)模擬平拋運動”,內容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“html5怎么實現(xiàn)模擬平拋運動”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
成都創(chuàng)新互聯(lián)是一家專注于成都網站制作、網站建設與策劃設計,宿州網站建設哪家好?成都創(chuàng)新互聯(lián)做網站,專注于網站建設10多年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:宿州等地區(qū)。宿州做網站價格咨詢:13518219792
物體以一定的初速度沿水平方向拋出,如果物體僅受重力作用,這樣的運動叫做平拋運動。平拋運動可看作水平方向的勻速直線運動以及豎直方向的自由落體運動的合運動。平拋運動的物體,由于所受的合外力為恒力,所以平拋運動是勻變速曲線運動,平拋物體的運動軌跡為一拋物線。平拋運動是曲線運動 平拋運動的時間僅與拋出點的豎直高度有關;物體落地的水平位移與時間(豎直高度)及水平初速度有關。
代碼如下:
//box
var box_x=0;
var box_y=0;
var box_width=300;
var box_height=300;
//ball
var ball_x=10;
var ball_y=10;
var ball_radius=10;
var ball_vx=10;
var ball_vy=0;
//constant
var g=10;//note
var rate=0.9;
//bound
var bound_left=box_x+ball_radius;
var bound_right=box_x+box_width-ball_radius;
var bound_top=box_y+ball_radius;
var bound_bottom=box_y+box_height-ball_radius;
//context
var ctx;
function init()
{
ctx=document.getElementById('canvas').getContext('2d');
ctx.lineWidth=ball_radius;
ctx.fillStyle="rgb(200,0,50)";
move_ball();
setInterval(move_ball,100);
}
function move_ball()
{
ctx.clearRect(box_x,box_y,box_width,box_height);
move_and_check();
ctx.beginPath();
ctx.arc(ball_x,ball_y,ball_radius,0,Math.PI*2,true);
ctx.fill();
ctx.strokeRect(box_x,box_y,box_width,box_height);
}
function move_and_check()
{
var cur_ball_x=ball_x+ball_vx;
var temp=ball_vy;
ball_vy=ball_vy+g;
var cur_ball_y=ball_y+ball_vy+g/2;
if(cur_ball_x { cur_ball_x=bound_left; ball_vx=-ball_vx*0.9; ball_vy=ball_vy*0.9; } if(cur_ball_x>bound_right) { cur_ball_x=bound_right; ball_vx=-ball_vx*0.9; ball_vy=ball_vy*0.9; } if(cur_ball_y { cur_ball_y=bound_top; ball_vy=-ball_vy*0.9; ball_vx=ball_vx*0.9; } if(cur_ball_y>bound_bottom) { cur_ball_y=bound_bottom; ball_vy=-ball_vy*0.9; ball_vx=ball_vx*0.9; } ball_x=cur_ball_x; ball_y=cur_ball_y; } 讀到這里,這篇“html5怎么實現(xiàn)模擬平拋運動”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
新聞名稱:html5怎么實現(xiàn)模擬平拋運動
URL網址:http://weahome.cn/article/gepphh.html