html5模拟平抛运动(模拟小球平抛运动过程)


Posted in HTML / CSS onJuly 25, 2013

物体以一定的初速度沿水平方向抛出,如果物体仅受重力作用,这样的运动叫做平抛运动。平抛运动可看作水平方向的匀速直线运动以及竖直方向的自由落体运动的合运动。平抛运动的物体,由于所受的合外力为恒力,所以平抛运动是匀变速曲线运动,平抛物体的运动轨迹为一抛物线。平抛运动是曲线运动 平抛运动的时间仅与抛出点的竖直高度有关;物体落地的水平位移与时间(竖直高度)及水平初速度有关。


复制代码
代码如下:

<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模拟小球平抛运动过程。
HTML / CSS 相关文章推荐
介绍CSS3使用技巧5个
Apr 02 HTML / CSS
纯CSS实现颜色渐变效果(包含环形渐变、线性渐变、彩虹效果等)
May 07 HTML / CSS
一款纯css3实现的鼠标经过按钮特效教程
Nov 09 HTML / CSS
css3实现椭圆轨迹旋转的示例代码
Oct 29 HTML / CSS
CSS3 Flex 弹性布局实例代码详解
Nov 01 HTML / CSS
css3针对移动端卡顿问题的解决(动画性能优化)
Feb 14 HTML / CSS
html5使用Canvas绘图的使用方法
Nov 21 HTML / CSS
Html5大文件断点续传实现方法
Dec 05 HTML / CSS
HTML5 Canvas的常用线条属性值总结
Mar 17 HTML / CSS
10个最常见的HTML5面试题 附答案
Jun 06 HTML / CSS
详解WebSocket跨域问题解决
Aug 06 HTML / CSS
CSS3 制作精美的定价表
Apr 06 HTML / CSS
html5记忆翻牌游戏实现思路及代码
Jul 25 #HTML / CSS
html5 乒乓球(碰撞检测)实例二
Jul 25 #HTML / CSS
html5 迷宫游戏(碰撞检测)实例一
Jul 25 #HTML / CSS
html5弹跳球示例代码
Jul 23 #HTML / CSS
x-ua-compatible content=”IE=7, IE=9″意思理解
Jul 22 #HTML / CSS
canvas使用注意点总结
Jul 19 #HTML / CSS
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
Jul 19 #HTML / CSS
You might like
php空间不支持socket但支持curl时recaptcha的用法
2011/11/07 PHP
php UBB 解析实现代码
2011/11/27 PHP
ThinkPHP视图查询详解
2014/06/30 PHP
分享PHP函数实现数字与文字分页代码
2015/07/28 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
2015/12/02 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
2015/12/11 PHP
解析 thinkphp 框架中的部分方法
2017/05/07 PHP
PHP7 windows支持
2021/03/09 PHP
js Date自定义函数 延迟脚本执行
2010/03/10 Javascript
JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
2011/01/06 Javascript
用Mootools获得操作索引的两种方法分享
2011/12/12 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
2015/12/26 Javascript
老生常谈javascript的类型转换
2016/10/12 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
2016/12/08 Javascript
详解jQuery的表单验证插件--Validation
2016/12/21 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
Angular实现的进度条功能示例
2018/02/18 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
详解json串反转义(消除反斜杠)
2019/08/12 Javascript
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
2019/11/07 jQuery
浅谈vuex为什么不建议在action中修改state
2020/02/02 Javascript
JavaScript动画实例之粒子文本的实现方法详解
2020/07/28 Javascript
Python 多核并行计算的示例代码
2017/11/07 Python
对python数据切割归并算法的实例讲解
2018/12/12 Python
python中logging模块的一些简单用法的使用
2019/02/22 Python
python检测服务器端口代码实例
2019/08/31 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
django正续或者倒序查库实例
2020/05/19 Python
工作室成员个人发展规划范文
2014/01/24 职场文书
2014学雷锋活动心得体会
2014/03/10 职场文书
学校门卫岗位职责范本
2014/06/30 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
2016年企业安全生产月活动总结
2016/04/06 职场文书
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL
Python一些基本的图像操作和处理总结
2021/06/23 Python