位置: 编程技术 - 正文

浅谈Javascript中匀速运动的停止条件(细说javascript)

编辑:rootadmin

推荐整理分享浅谈Javascript中匀速运动的停止条件(细说javascript),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript的理解,javascript总结,javascript概述及作用,javascript的,javascript的,细说javascript,javascript概述及作用,javascript的,内容如对您有帮助,希望把文章链接给更多的朋友!

我们先来看下之前的匀速运动的代码,修改了速度speed后会出现怎么样的一个bug。这里加了两个标杆用于测试

其实这样的代码如果把速度改成7这种奇数,而到达目标点却是一个整数,这样就会出现未能达目标点或超过目标点来回抖动的bug

那为什么会出现这种情况呢 ?

实际上来说他到达目标点的时候无法精确到目标点,若目标点是,每次走7个,这个时候他要么就是过了目标点,要么就是没过。

永远到不了目标点。其实帮之前的缓冲有点像。

那么到底怎么算才是到达了目标点呢?

举个例子 : 你打车到某个地方,司机肯定是到哪里差不多离个米米就停下来了,就算到了。不可能要求汽车贴到那个地方停下来吧。

浅谈Javascript中匀速运动的停止条件(细说javascript)

所以说呢,其实来讲程序也是一样的,我们只要物体和目标点之间的距离近到一定的程度,就不需要再近了,就认为到了。

我们看下修改后的代码:

解释一下: 这里为什么要用 Math.abs 取绝对值呢?

理由很简单,因为速度可能是正的可能是负的。

现在我们让目标和物体之间的距离只要小于等7, 那就算到了。为什么是7呢? 因为他下一次的运动都不足7个了。这个时候我们就算他到了目标点了。

那现在问题又来了, 这样写 他并没有精确的停在目标点的位置。所以我们加了一句简单的话,直接让left 等于目标点。oDiv.style.left=iTarget+'px';

实际上最后一次走的不足7个,但是大家都知道程序这个运行的太快了,人眼是看不出来的。热烈的笑脸

这个时候就没有问题了。眨眼

这个就是匀速运动的停止条件。 那有朋友问,为什么缓冲运动没有这么麻烦呢?

因为他的速度是变的,越来越小,直到最后他甚至就到达1了,一步一步往前肯定不会出现这样的问题。

javascript操作字符串的原生方法 join([分隔符])数组元素组合为字符串toString()以字符串表示数组reverse()数组反转--改变原数组本身valueOf()返回数组值htmlheadscripttype="text/javascript"varfruits=["苹

javascript定义变量时加var与不加var的区别 一、外部的为全局,内部的为局部变量。二、加var为局部变量(在方法内),不加var为全局变量(当方法内有一次使用后)scripttype="text/javascript"vargolbe="global";

javascript中的遍历for in 以及with的用法 forin循环执行一个对象中的属性with语句:(对象操作语句)功能:为一段程序建立默认对象格式:with(对象){语句组}具体示例:scripttype="text/javascript"functionmember(

标签: 细说javascript

本文链接地址:https://www.jiuchutong.com/biancheng/384764.html 转载请保留说明!

上一篇:JS获取各种宽度、高度的简单介绍(js获取宽高)

下一篇:javascript操作字符串的原生方法(javascript中字符串)

  • 营业外收入需要缴纳什么税
  • 未取得房屋产权证租赁
  • 工业产值是含税价格吗
  • 月末转出未交增值税时应借记的科目是
  • 计提坏账部分收入怎么算
  • 发货过程
  • 汽车加油增值税发票
  • 设计服务类合同
  • 介质申报和网络申报的区别
  • 政府补贴的内容
  • 进口汽车消费税的计算公式
  • 银行手续费没拿可以退吗
  • 应收未收的利息如何处理
  • 个人二手房转让税费
  • 注册公司未签名怎么办
  • 企业重组的所得税怎么算
  • 财付通转出的钱能还回来吗
  • 财产转移数据缴费怎么交
  • 非金融类企业的货币资金主要包括哪些内容?
  • 著作权出售后,属于自己的吗
  • win10电脑声道怎么设置
  • 多交的社保怎么做分录
  • 如何让电脑安全
  • 食品类发票入账属于什么科目
  • 小规模纳税人缴纳增值税怎么算
  • 路由器重启以后wifi不见了
  • 其他应收和其他应付可以共用吗
  • wordpress功能介绍
  • 企业研发费用的归集
  • 已收到材料至月末仍未收到发票账单
  • php的中文名
  • tensorflow gui
  • 命令arp-a
  • move命令移动文件夹下所有文件
  • 离职补偿金可以拖欠么
  • 销售边角料的会计分录
  • 其他应收款个人挂账很大该怎么处理
  • 为什么结转材料成本差异
  • 公司收到个人汇款怎么开发票
  • 公允价值变动借方表示什么
  • mysql更新语句
  • 免征增值税的会计处理
  • 数据库varchar和nvarchar
  • 小微企业预缴所得税怎么填报
  • 考证交社保是怎么回事
  • 单位食堂账目
  • 职工辞退福利是否要申报个税
  • 委托代销商品是什么科目
  • 企业代扣税费会计分录
  • 诉讼费给开发票吗
  • 小企业会计准则没有以前年度损益调整科目
  • 跨年度的项目如何做
  • 事业单位工会经费账务处理
  • 高新技术企业享受优惠时间
  • 分享一个简单的故事英语
  • redhat配置bond
  • win10建行网银盾插上网页弹不出来
  • linux系统的介绍
  • 任务栏安全中心的图标没有了
  • 注册表 命令
  • ubuntu kde gnome
  • asmb进程
  • win7开始图标怎么变大点
  • rpm包安装位置
  • 缩略图无法显示
  • win8如何设置vpn Win8如何建立VPN连接操作指南
  • win10桌面test mode
  • win7系统怎么把其他盘空间给c盘
  • ,linux
  • 基于android的app
  • css网站布局实录 pdf
  • jquery 设置css
  • android 自定义spinner
  • es6 new set()
  • 如何用虚拟号码打电话
  • 化妆品的消费税税率是多少
  • 利息收入通过什么科目核算
  • 税务怎么在外网申报
  • 绩效三级指标体系
  • 在医院如何开报告单
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设