小球碰壁反弹加分_js中小球碰壁反弹
二、 整个浏览器可视区域的碰壁反弹
margin:0;
padding:0;
}
#bounce{
height: 50px;
width: 50px;
border-radius: 50%;/*background: yellow;*/position: absolute;
left:0;
top:0;
}
//获取元素
var container = gt("con");//小球所在容器
var bounce = gt("bounce");//反弹的小球
//设置小球随机背景颜色
bounce.style.background =ranColor();//获取小球在可视区域的滚动范围
//获取可视区域的宽高(不含任务栏)
var aWidth = document.documentElement.clientWidth || document.body.clientWidth ||window.innerWidth;var aHeight = document.documentElement.clientHeight || document.body.clientHeight ||window.innerHeight;
console.log("可视区域不含任务栏的范围:w:"+aWidth + "===h:"+aHeight);//减去小球的宽高即为活动范围,此处不加单位,方便moveDistance()方法内if条件判断
var scrollMaxX = (aWidth -bounce.offsetWidth);var scrollMaxY = (aHeight -bounce.offsetHeight);
console.log("小球可滚动的范围:x:"+scrollMaxX+"===y:"+scrollMaxY);//设置小球滚动,每隔几秒滚动一段距离//var timer = setInterval(function(){alert("haha")},1000);
var timer = setInterval(moveDistance,30);//设置小球移动
var stepX = 5;var stepY = 5;functionmoveDistance(){//console.log("进入moveDistance")
var currentLeft = bounce.offsetLeft +stepX;var currentTop = bounce.offsetTop +stepY;//判断小球是否滚动到最大的宽度、高度,如果滚动到最大宽度、高度,设置反弹滚动 *(-1)
if(currentLeft >=scrollMaxX){
currentLeft=scrollMaxX;
stepX*= -1;
bounce.style.background=ranColor();
}else if(currentLeft <= 0){
currentLeft= 0;
stepX*= -1;
bounce.style.background=ranColor();
}if(currentTop >=scrollMaxY){
currentTop=scrollMaxY;
stepY*= -1;
bounce.style.background=ranColor();
}else if(currentTop <= 0){
currentTop= 0;
stepY*= -1;
bounce.style.background=ranColor();
}
bounce.style.left= currentLeft + 'px';
bounce.style.top= currentTop + 'px';
console.log(bounce.style.left);//console.log("离开moveDistance");
}//设置窗口改变监听器;onresize 事件会在窗口或框架被调整大小时发生。
//当浏览器窗口发生改变时,重新获取浏览器当前可视化窗口的尺寸,重新计算小球能移动的最大宽度和高度
window.onresize = function(){
aWidth= document.documentElement.clientWidth || document.body.clientWidth ||window.innerWidth;
aHeight= document.documentElement.clientHeight || document.body.clientHeight ||window.innerHeight;
scrollMaxX= (aWidth -bounce.offsetWidth);
scrollMaxY= (aHeight -bounce.offsetHeight);
}//设置小球随机颜色方法
functionranColor(){var red = parseInt(Math.random()*255);var green = parseInt(Math.random()*255);var blue = parseInt(Math.random()*255);return "RGB(" + red + "," + green + "," + blue + ")";
}//设置通过id获取元素的函数
functiongt(e){returndocument.getElementById(e);
}
小球碰壁反弹加分_js中小球碰壁反弹相关推荐
- (NO.00004)iOS实现打砖块游戏(八):游戏中小球与砖块的碰撞
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 现在回到GameScene.m中,我们所有的碰撞处理就放在该类中 ...
- java 小球抛物线_vue 2.0 购物车小球抛物线
备注:此项目模仿 饿了吗.我用的是最新的Vue, 视频上的一些写法已经被废弃了. 布局代码 v-for="ball in balls" @before-enter="be ...
- html5跟随手指的小球,Android自定义圆形View实现小球跟随手指移动效果(详细介绍)...
一. 需求功能 手指在屏幕上滑动,红色的小球始终跟随手指移动. 实现的思路: 1)自定义View,在onDraw中画圆作为小球: 2)重写自定义View的onTouchEvent方法,记录触屏坐标,用 ...
- 3dmax:3dmax动画栏之关键帧动画经典案例(弹跳小球、实活力小球(上升慢下降快)、小球跳墙、跳动越来越低的小球实例、空间跳动的小球、球跳阶梯)之详细攻略
3dmax:3dmax动画栏之关键帧动画经典案例(弹跳小球.实活力小球(上升慢下降快).小球跳墙.跳动越来越低的小球实例.空间跳动的小球.球跳阶梯)之详细攻略 目录
- 渗透测试常用反弹shell方法(如何渗透测试反弹shell?)-Windows篇(゚益゚メ) 渗透测试
文章目录 反弹shell介绍 常用反弹方式 NetCat(NC)反弹 正向NC 反向NC mshta.exe利用 msf利用模块 方法一(msfconsole) 方法二(msfvenom) Cobal ...
- 渗透测试常用反弹shell方法(如何渗透测试反弹shell?)-Linux篇(゚益゚メ) 渗透测试
文章目录 相关博客 反弹shell介绍 常用反弹方式 NetCat(NC)反弹 正向NC 反向NC Telnet反弹 正向shell 反向shell OpenSSL Curl 相关博客 Linux信息 ...
- 常见的反弹shell的方法以及对反弹shell的解释
文章目录 一.什么是反弹shell,以及对反弹shell作用原理的解析: 3.反弹shell的本质 linux文件描述符 重定向 输入重定向 输出重定向 标准输出与标准错误输出重定向 文件描述符的复制 ...
- 小球碰壁反弹加分_用Java实现小球碰壁反弹的简单实例(算法十分简单)
用Java实现小球碰壁反弹的简单实例(算法十分简单) 核心代码如下: if(addX){ x+=3; }else{ x-=3; } if(addY){ y+=6; }else{ y-=6; } if( ...
- 小球碰壁反弹加分_Javascript:Canvas的小球碰壁反弹
(萌新),我今天在网上看了看如何在Canvas画布上做出小球碰壁反弹的效果,然后自己试做一下,感觉良好,不知道还有什么需要改良. 首先我的思路是: 1.在body创建一个canvas标签,设置宽:50 ...
最新文章
- prolog_如何通过观看权力的游戏学习Prolog
- 双系统如何删除Linux
- pymongo TypeError
- SVG动画.animateTransform
- linux服务器 32核,Intel换成AMD 32核锐龙 Linux之父体验很好
- 考拉海购全面云原生迁移之路
- c语言程序滞留,c语言有个可以使程序延时的语句是什么?
- linux bash 历史记录,Linux Bash History 命令历史记录
- 微信公众平台开发(120) 微信支付报关接口
- Bootstrap3 过渡插件
- OC正则表达式的使用
- 数据治理的好处有哪些
- 最好用16进制工具wxHexEditor
- 人工智能学习思维导图
- 三角形外接圆圆心 算法 删改版
- 华为联运游戏审核驳回:在未安装或需更新HMS Core的手机上,提示安装,点击取消后,游戏卡屏(集成的6.1.0.301版本游戏SDK)
- You-Get的安装与使用
- 一小伙使用 python爬虫来算命?
- 数字图像处理王慧琴课后答案_清华大学出版社-图书详情-《数字图像处理(第3版)》...
- 温州大学c语言期末试卷,2016年温州大学物理与电子信息工程学院综合卷之C语言程序设计复试笔试最后押题五套卷...