位置: 编程技术 - 正文

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

  • 劳务派遣公司企业所得税税率
  • 企业如何帮员工交公积金
  • 税务金三系统是什么?
  • 税务局报税怎么操作流程
  • 什么类型的电子商务
  • 贷方账户日累计金额超限怎么办
  • 增值税13%税率有哪些
  • 红字信息表跨月撤销有什么影响吗
  • 股东个人向公司借款会计分录
  • 房地产企业固定资产的折旧
  • 个人保证金业务
  • 进项发票与销项发票差额是企业毛利润吗
  • 通讯费补贴如何领取
  • 在境外施工由国家承担吗
  • 进项税额转出凭证怎么做
  • 私立幼儿园收的特色课费可以追回吗
  • 在途物资非合理损耗
  • 个体户经营所得核定税率
  • 个体餐饮店交税吗
  • 电子承兑没接收多久失效
  • 返利销售会计处理办法
  • 货物出库的会计分录
  • 销售利润率是什么能力指标
  • 贸易公司成本怎么计算
  • 公司注销帐上的钱取出来要交税吗
  • 苹果紧急提醒
  • php实现的中秋博饼游戏之掷骰子并输出结果功能详解
  • PHP:stream_filter_remove()的用法_Stream函数
  • PHP:oci_fetch_row()的用法_Oracle函数
  • 年应税销售额包含哪些
  • 看望员工生病的家属支付现金如何入账
  • 股权转让怎么交印花税2019年最新
  • 异常生物见闻录
  • php转换成html
  • 应付债券的应付利息怎么计算
  • 职工福利费入账依据
  • 半球形的谢尔亨里克森天文台,挪威斯瓦尔巴群岛 (© Vincent Fournier/Gallery Stock)
  • php获取网页源代码
  • windows2022下载
  • 超参数及其作用
  • md5 python3
  • 事业单位无形资产包括哪些
  • 租赁办公场所的法律规定
  • mysql深度解析
  • 期初和期末余额是什么意思
  • 怎么保证发票是真的
  • 建筑施工仪器设备有哪些
  • 制造费用期末要结转吗
  • 员工工资怎么入账
  • 机票会计代理如何做
  • 结转完期间损益是不是可以结账了
  • 销售退回的账务处理红字
  • 其他应付款跨年了
  • 用白纸写的收据怎么入帐?
  • 银行交党费属于什么业务
  • 劳务支出如何做账
  • 工资扣税是减去五险一金吗
  • 怎么把应付账款调成应收
  • 间接持股比例如何分析
  • 收到红字发票怎么做账怎么做进项税额转出
  • 电汇凭证有效期
  • 股东退股如何清算
  • 其他商业项目
  • mysql优化参数详解
  • centos安装rpm文件
  • unix含义
  • windows如何创建工作组
  • windows xp
  • macbook内部
  • 输入法不跳出中文
  • js添加列表项
  • python利用for循环求1到100的和
  • javascript模块化规范有哪些
  • android图片全屏显示
  • js 构建树
  • javascript给表单赋值
  • 安卓调用蓝牙接口
  • 重庆市房产交易信息网
  • 税务系统党支部工作法
  • 国企重组裁员政策解读
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设