JS-小球碰撞反弹
类似于屏保的一种动画,当小球碰到边框时,发生反弹,并且变化颜色。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>碰壁反弹</title>
<style type="text/css">
#wrap{
width: 400px;height: 500px;
border: 1px solid green;
margin: 100px auto 0px;
position: relative;
}
#ball{
width: 50px;height: 50px;
background: black;
border-radius: 50%;
position: absolute;
left: 0;top: 0;
}
#pall{
width: 50px;height: 50px;
background: blue;
border-radius: 50%;
position: absolute;
right: 0;top: 0;
}
</style>
</head>
<body>
<div id="wrap">
<div id="ball"></div>
<div id="pall"></div>
</div>
<script type="text/javascript">
var ball = document.getElementById('ball');
var color = ['red','blue','green','orange','black','pink']
var i = 0;
var j = 0;
var x = 1.5;
var y = 4;
setInterval(function(){
ball.style.left = i + 'px';
i += x;
if (i >= 350) {
x *= -1;
col();
}else if (i < 0) {
x *= -1;
col();
};
ball.style.top = j + 'px';
j += y;
if (j >= 450 ) {
y *= -1;
col();
}else if(j < 0){
y *= -1;
col();
}
pall.style.right = i + 'px';
i += x;
if (i >= 350) {
x *= -1;
col1();
}else if (i < 0) {
x *= -1;
col1();
};
pall.style.top = j + 'px';
j += y;
if (j >= 450 ) {
y *= -1;
col1();
}else if(j < 0){
y *= -1;
col1();
}
},20)
function col(){
var col = Math.floor(Math.random()*6);
ball.style.background = color[col];
}
function col1(){
var col1 = Math.floor(Math.random()*6);
pall.style.background = color[col1];
}
</script>
</body>
</html>
JS-小球碰撞反弹的更多相关文章
- js实现多个小球碰撞
实现思路:小球的移动,是通过改变小球的left和top值来改变,坐标分别为(x,y)当x/y值加到最大,即加到父级的宽度或者高度时,使x值或者y值减小,同理当x值或者y值减到最小时,同样的使x值或者y ...
- (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 前一篇博文介绍了物理对象中小球与砖块的碰撞处理,在这一篇中我们再 ...
- Canvas+Js制作动量守恒的小球碰撞
目的:通过js实现小球碰撞并实现动量守恒 canvas我们就不多说了,有用着呢. 我们可以通过canvas画2D图形(圆.方块.三角形等等)3D图形(球体.正方体等待). 当然这只是基础的皮毛而已,c ...
- 原生js实现一个DIV的碰撞反弹运动,并且添加重力效果
继上一篇... 原生js实现一个DIV的碰撞反弹运动,并且添加重力效果 关键在于边界检测,以及乘以的系数问题,实现代码并不难,如下: <!DOCTYPE html> <html la ...
- 原生js实现一个DIV的碰撞反弹运动
原生js实现一个DIV的碰撞反弹运动: 关键在于DIV的边界检测,进而改变运动方向,即可实现碰撞反弹效果. <!DOCTYPE html> <html lang="en& ...
- js实现小球碰撞游戏
效果图: 效果图消失只是截的gif图的问题 源码: <!DOCTYPE html> <html lang="en"> <head> <m ...
- CSS3之碰撞反弹动画无限运动
示例代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- HTML5 Canvas彩色小球碰撞运动特效
脚本简介 HTML5 Canvas彩色小球碰撞运动特效是一款基于canvas加面向对象制作的运动小球动画特效. 效果展示 http://hovertree.com/texiao/html5/39/ ...
- 【h5游戏开发】egret引擎p2物理引擎 - 小球碰撞地面搞笑的物理现象
重力的方向和地面的问题 p2中默认的方向是从上到下,如果重力默认是正数的话,物体放到世界中是会从上面往下面飘的 p2中plane地面默认的方向是y轴的方向,而在p2中y轴的方向默认是从上往下 首先来看 ...
- js中小球碰壁反弹
一. 在指定容器内的碰壁反弹 <!DOCTYPE HTML> <html> <head> <title></title> <meta ...
随机推荐
- Java应用程序访问网络资源--HttpClient
HttpClient的最本质的功能是执行HTTP方法.一个HTTP方法的执行涉及到一个或几个HTTP请求/ HTTP响应的交流,通常由HttpClient的内部处理.用户预计将提供一个请求对象来执行和 ...
- java的基本程序设计之个人总结要点
java的基本程序设计之个人总结要点 这是个人看完java核心卷一书之后,罗列的一些比较重要的点子,希望共享给大家. [数值类型] 1.从java7开始,加上前缀0b就可以写二进制数,例如:0b100 ...
- nvm
nvm install stable #安装最新稳定版 node,现在是 5.0.0 nvm install 4.2.2 #安装 4.2.2 版本 nvm install 0.12.7 #安装 0.1 ...
- MSBI - KPI
KPI - common members: Value, Target, Status, Trend.
- <读书笔记>软件调试之道 :问题的核心-重现问题
声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记. 重现第一,提问第二 问题重现是实证过程的最强大武器,如果不能重现问题,你也无法证明修复了它 ...
- TCP应用编程
TCP是Transmission Control Protocol(传输控制协议)的简称,是TCP/IP体系中面向连接的运输层协议,在网络中提供全双工的和可靠的服务. TCP协议最主要的特点是: 1) ...
- string、Empty和null三者的区别
string.Empty和null三者的区别 本文转自 http://www.bitscn.com/pdb/dotnet/201003/181883.html 时间:2010-03-01 00:00 ...
- Linux文件查找
Linux下查找文件的命令有两个; locate: find : locate这个命令对其生成的数据库进行遍历(生成数据库的命令:updatedb),这一特性决定了查 找文件速度很快,但是locate ...
- .Net字符串替换
在.Net中,有些地方需要进行字符的替换才能实现一些相关功能,这里是一个简单的字符串替换的方法 //如下,变量strWhere中是通过一些方法获取的sql拼接的条件语句,但在数据库中是多表查询,有同名 ...
- windows 安装mysql 步骤
Windows 安装mysql 5.7.12教程 1.在官网下载mysql5.7.12.zip并解压 复制默认配置文件my-default.ini,并命名为my.ini 使用记事本打开,修改如下配置 ...