位置: 编程技术 - 正文

浅谈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中字符串)

  • 收取承包费如何交税
  • 短期借款利息计提分录
  • 存货的期末余额在借方还是贷方
  • 增票普票税额是否可以抵扣吗
  • 企业接收捐赠的会计分录
  • 留存收益总额不变
  • 高新技术企业清算所得税率是多少
  • 未开发票收入交增值税怎么做账?
  • 计提坏账准备,坏账准备是增加还是减少
  • 车船税法律制度的规定什么是以每米为计税依据的
  • 新会计准则税金及附加
  • 消防安装工程会计核算
  • 单独出售的包装物是否属于包装物的核算范围
  • 产品研发费用属于固定成本吗
  • 营业成本主要包括
  • 本年利润每个月都要结转吗
  • 餐饮研发费用确认条件
  • 物物交换增值税处理
  • 商标转让过程中公司转让
  • application guard
  • springboot+vue+elementsUI 实现分角色注册登录界面
  • macOS 11 Big Sur 开发者预览版 Beta 8推送
  • 结转已销产品实收成本
  • 哪些发票不能进账
  • 劳务报酬所得税计算
  • 银行票据贴现业务发展中遇到的困难
  • 收到汇票结余会怎么样
  • 最贵的苹果电脑99万
  • 销售货物的收入总额包括什么
  • 收到退回的增值税专用发票账务处理
  • php demo
  • 隐藏index.html
  • rmt命令 远端磁带传输协议模块
  • 通讯费补贴会计怎么做账
  • 小规模纳税人定义
  • 利息发票可以抵扣吗
  • 现金流动负债比率和流动比率一样吗
  • python __call__
  • 补发工资个人所得税税
  • 企业的固定资产因自然灾害产生的净损失计入
  • php 更新
  • 税务局退回来的钱账务处理
  • 申报个税工资报少了怎么更改
  • 小规模纳税人运输费计入什么科目
  • mysql中文乱码解决
  • 母公司子公司下面的子公司怎么称呼
  • 通行费抵扣进项税怎么做账
  • 内账需要哪些单据
  • 跨年发票账务处理怎么做
  • 住宿费开的增值税专用发票怎么记账
  • 主营业务收入的概念
  • 事业单位应交增值税明细科目
  • 入库单金额写错可以改吗
  • 未担保余值举例
  • 应收账款计提减值准备会计处理
  • 办公家具生意怎么做
  • 现金流量的折现值公式
  • 让Windows Server 2008设备驱动安装图文教程
  • bios怎么恢复出厂设置教程
  • mac osx 10.8
  • linux系统怎么维护
  • mssecsvc是什么进程
  • 如何更改win10管理员账户
  • unix怎么操作
  • OpenGL Tips: 在Visual C++中调用FreeGLUT
  • android 坐标系
  • android自定义view ondraw有时候不执行
  • js字符串的操作方法
  • Node.js中的全局变量有哪些
  • android调用相机闪退
  • android资源文件
  • dos下重命名
  • u3d地形编辑贴图
  • python复制sheet
  • android设计模式单例有几种
  • 广东省行业税负率表
  • 新车购置税是多少
  • 新三步走和旧三步走的异同点
  • 疫情期间增值税税率
  • 明星征税多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设