博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2021-05-06
阅读量:2069 次
发布时间:2019-04-29

本文共 670 字,大约阅读时间需要 2 分钟。

开发工具与关键技术:DW ,JQ

作者:甘建豪
撰写时间:2021/5/5

案例反弹的小球

案例原理:在一个大盒子里面放一个小球让它在一个随机的定位上开始移动,移动的速率也是随机的,当碰到边界时就会折返。

  1. html,就两个内容一个大盒子 ,里有一个小球,大盒子相对定位,小球绝对定位。
  2. css样式给大盒子一个边框或者是一个阴影box-shadow: 0 0 10px #333;。小球样式 就是 border-radius: 50%,颜色自定;
  3. 后我们来看代码
    在这里插入图片描述

一. 首先给小球一个随机定位,获取到大盒子的宽减去小球的宽,就是小球横轴上的活动范围,命名为x,以此类推小球竖轴上活动范围命名为y。

二. 然后再确定一个开始的运动趋势,快和慢,左或右,都是由一个dx=parseInt(Math.random()*30-15);的随机数决定的,dy决定的是 上或下的运动方向。
三. 以上两种条件都满足了之后就就开始执行动画效果,首先一个连续触发定时器了每30毫秒调用一次,每调用一次x就要加等一次dx,就会有了运动的趋势,结合上y+=dy的运动,就形成了斜向运动,再调用 小球的css修改里面的left和top,每30毫秒更新一些定位就可以让小球动起来了。
四. 最后关键的一步如果想要小球碰撞到边界都会反弹必须要给它们两个判断条件,当碰到左右边框的时候即小球横轴定位:x小于等于0(左壁)或者大于boxw(右壁)的时候将运动趋势dx赋值给-dx,就可以左到碰到边界就折返。以此类推碰到上下边框也是如此,修改一下参数即可。

最后我们来看下图片

在这里插入图片描述

转载地址:http://vgcmf.baihongyu.com/

你可能感兴趣的文章
剑指offer 31.最小的k个树
查看>>
剑指offer 32.整数中1出现的次数
查看>>
剑指offer 33.第一个只出现一次的字符
查看>>
剑指offer 34.把数组排成最小的数
查看>>
剑指offer 35.数组中只出现一次的数字
查看>>
剑指offer 36.数字在排序数组中出现的次数
查看>>
剑指offer 37.数组中重复的数字
查看>>
剑指offer 38.丑数
查看>>
剑指offer 39.构建乘积数组
查看>>
剑指offer 57. 删除链表中重复的结点
查看>>
剑指offer 58. 链表中环的入口结点
查看>>
剑指offer 59. 把字符串转换成整数
查看>>
剑指offer 60. 不用加减乘除做加法
查看>>
leetcode 热题 Hot 100-3. 合并两个有序链表
查看>>
leetcode 热题 Hot 100-4. 对称二叉树
查看>>
Leetcode C++《热题 Hot 100-12》226.翻转二叉树
查看>>
Leetcode C++《热题 Hot 100-13》234.回文链表
查看>>
Leetcode C++《热题 Hot 100-14》283.移动零
查看>>
Leetcode C++《热题 Hot 100-15》437.路径总和III
查看>>
Leetcode C++《热题 Hot 100-17》461.汉明距离
查看>>