溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

html5怎么實現(xiàn)模擬平拋運動

發(fā)布時間:2022-03-07 16:27:29 來源:億速云 閱讀:110 作者:iii 欄目:web開發(fā)

本文小編為大家詳細介紹“html5怎么實現(xiàn)模擬平拋運動”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“html5怎么實現(xiàn)模擬平拋運動”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

物體以一定的初速度沿水平方向拋出,如果物體僅受重力作用,這樣的運動叫做平拋運動。平拋運動可看作水平方向的勻速直線運動以及豎直方向的自由落體運動的合運動。平拋運動的物體,由于所受的合外力為恒力,所以平拋運動是勻變速曲線運動,平拋物體的運動軌跡為一拋物線。平拋運動是曲線運動 平拋運動的時間僅與拋出點的豎直高度有關(guān);物體落地的水平位移與時間(豎直高度)及水平初速度有關(guān)。

代碼如下:

<html>

<head>

<meta charset=utf-8>

<title>html5炮彈</title>

<script>

//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<bound_left)

{

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<bound_top)

{

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;

}

</script>

</head>

<body onLoad="init()">

<canvas id="canvas" width="400" height="400"/>

</body>

</html>

讀到這里,這篇“html5怎么實現(xiàn)模擬平拋運動”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI