位置: 编程技术 - 正文

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

发布时间:2024-02-27

推荐整理分享浅谈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中字符串)

  • 有经营许可无道路运输证罚多少钱
  • 主营业务税金及附加怎么算
  • 其他权益工具投资公允价值变动
  • 现金流量表财务净现值怎么算
  • 政府减免税款如何账务处理
  • 职工福利费会计核算
  • 购进用于研发的国产设备进项税可以抵扣吗
  • 折扣销售销售折扣销售折让有何区别
  • 出售股权账务处理
  • 销售商品开具商品单据
  • 已认证抵扣的进项发票,次月开具红字发票信息表,凭证
  • 不动产进项税额抵扣最新通知2023
  • 3%的增值税专用发票可以退税吗可以抵扣吗
  • 年金计算个税需要扣除吗
  • 房地产开发企业销售自行开发的房地产项目
  • 限售股所得税的优惠政策
  • 二手房产增值税率
  • 房产税先征后免会计处理
  • 工程款的材料商可以直接起诉业主吗
  • 城市维护建设税属于什么税种
  • 企业利息收入如何做分录
  • 存货盘盈怎么做账
  • 应收票据贴现的会计分录
  • php的array_multisort()使用方法介绍
  • 企业个人借款会计分录
  • 存货出入库的账务处理
  • 热带雨林瀑布群雪野
  • 增值税发票月度统计
  • 企业亏损还需要交增值税吗
  • 企业研发费用加计扣除最新政策
  • 奥伊米亚康冬季气温低原因
  • php获取当前网址
  • elipse左侧菜单栏显示
  • 股东以固定资产入股需要交税吗
  • 退车船税分录
  • php扫二维码
  • uniapp官方教程
  • php获取年月日
  • 如何认识软件测试
  • idea搭建web开发环境
  • 一般纳税人是否享受减免政策
  • 员工借现金分录
  • 形成固定资产的主要手段是
  • csv文件导入到pycharm时报错
  • 货币市场基金的特点
  • 小规模企业申报表填写
  • 单位人民币卡账户的资金一律从其基本存款账户转账存入
  • 行政事业单位过节费发放规定
  • 资产负债表中的存货怎么算
  • 车辆加油费会计分录
  • 固定资产为
  • 负债清偿损益明细表计税基础怎么填
  • 研发支出资本化和费用化的区别
  • 建筑公司需要什么人员
  • 明细分类账的建账
  • sqlserver 教程
  • 政府禁用windows8
  • 简述linux几种主流发行版本及其特点
  • 进入pe系统后c盘变成了e盘
  • win7对比vista
  • Retina MacBook和10.10.3支持更快的NVMe SSD接口
  • mom.exe是什么程序
  • win7取消还原
  • ubuntu查cpu信息
  • linux系统怎么增大磁盘io
  • linux双网卡绑定原理
  • kernel headers not found for target kernel
  • linux init.h
  • cocos2dx如何通过Image获取指定点颜色值
  • opencv人脸识别模型训练
  • go 与 python
  • 批处理延迟变量
  • shell脚本 su
  • 屏幕模式自适应模式
  • javascript 数组删除
  • 怎样在中国税务用手机交社保
  • 工行网银如何申请发票
  • 张家港市有什么好吃的美食
  • 个体工商户两处所得,如何减半个税
  • 消费发票上的金额含税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号