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 相关文章推荐
CSS实现的一闪而过的图片闪光效果
Apr 23 HTML / CSS
css3 transform及原生js实现鼠标拖动3D立方体旋转
Jun 20 HTML / CSS
CSS3实现歌词进度文字颜色填充变化动态效果的思路详解
Jun 02 HTML / CSS
纯CSS3实现的井字棋游戏
Nov 25 HTML / CSS
纯CSS3实现运行时钟的示例代码
Jan 25 HTML / CSS
HTML5在a标签内放置块级元素示例代码
Aug 23 HTML / CSS
HTML5 创建canvas元素示例代码
Jun 04 HTML / CSS
HTML5为输入框添加语音输入功能的实现方法
Feb 06 HTML / CSS
高清屏下canvas重置尺寸引发的问题的解决
Oct 14 HTML / CSS
html5 datalist 选中option选项后的触发事件
Mar 05 HTML / CSS
关于HTML5+ API plusready的兼容问题
Nov 20 HTML / CSS
CSS+HTML 实现顶部导航栏功能
Aug 30 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
一个数据采集类
2007/02/14 PHP
PHP类中Static方法效率测试代码
2010/10/17 PHP
微盾PHP脚本加密专家php解密算法
2020/09/13 PHP
PHP 八种基本的数据类型小结
2011/06/01 PHP
phpmyadmin3 安装配置图解教程
2012/03/29 PHP
深入php多态的实现详解
2013/06/09 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
2014/07/29 PHP
PHP错误处理函数
2016/04/03 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
动态载入js提高网页打开速度的方法
2014/07/04 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
Javascript中call与apply的学习笔记
2014/09/22 Javascript
js通过iframe加载外部网页的实现代码
2015/04/05 Javascript
javascript简单实现滑动菜单效果的方法
2015/07/27 Javascript
自定义刻度jQuery进度条及插件
2015/09/02 Javascript
拥有一个属于自己的javascript表单验证插件
2016/03/24 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
layui框架中layer父子页面交互的方法分析
2017/11/15 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
JavaScript简单实现动态改变HTML内容的方法示例
2018/12/25 Javascript
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
从零学Python之入门(三)序列
2014/05/25 Python
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
Python 正则表达式入门(中级篇)
2016/12/07 Python
对pyqt5中QTabWidget的相关操作详解
2019/06/21 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
Python urllib2运行过程原理解析
2020/06/04 Python
巴西服装和鞋子购物网站:Marisa
2018/10/25 全球购物
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
Genny意大利官网:意大利高级时装品牌
2020/04/15 全球购物
yy婚礼司仪主持词
2014/03/14 职场文书
房产转让协议书(2014版)
2014/09/30 职场文书
上课说话检讨书500字
2014/11/01 职场文书