位置: 编程技术 - 正文

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

  • 所得税会计与财务会计比较研究
  • 公司合同是公司员工个人名义签订如何入账?
  • 办公室水电费计算公式
  • 收支平衡表excel怎么做
  • 社保计入主营业务成本
  • 合并报表中怎么抵消投资性房地产
  • 网吧电脑折旧率
  • 滴滴普通发票可以作废吗
  • 未过户的车辆对车辆影响
  • 旧设备用于投资是否应按视同销售处理
  • 私车公用产生的过路费开个人发票还是公司发票
  • 冲销上月收入
  • 查补以前年度所得税如何填写申报表
  • 财务费用手续费有哪些
  • 公司内部核算调拨价差的账务怎么做处理?
  • 筹资活动现金净流量为正说明什么
  • 税务手工发票还能用吗2019
  • 假设公司为增值税一般纳税人
  • 13个点的发票实际交多少钱
  • 分期开发是什么意思
  • 人力资源服务差额
  • 来料加工原材料计入什么科目
  • 认定为虚开进项发票我的业务是真实的
  • 公司会议案例
  • iphone6按键功能介绍
  • 企业收到农产品普通发票
  • 个人所得税到年底能不能退回来
  • 收到折扣发票怎么处理
  • 劳务的完成程度可以采用如下方法确定
  • php curl_multi_init
  • 废品损失是什么类账户
  • 业务招待费的税收金额怎么算
  • opencv详解
  • 期末库存盘点表
  • 增值税达不到起征点账务处理
  • 一文教会你何为重绘、回流?
  • 建筑会计和会计的区别
  • vue3 ref dom
  • vue父组件如何调用子组件的方法组合式api
  • php使用mysql
  • ls -all命令
  • python字典按要求
  • 企业所得税的内容比土地增值税的多了
  • 用房子贷款印花税怎么算
  • db2 history
  • 库存现金月末是怎么样结账的
  • 小规模增值税免税政策变化历程
  • 企业非流动资产包括
  • 分期购车会计分录小规模
  • 2021年购买土地需要缴纳什么税
  • 事业单位库存物品
  • 长期待摊费用科目怎么使用
  • 房屋租赁合同税率多少
  • 委托方和受委托方的法律关系
  • 银行承兑汇票的好处
  • 开给个人的普通增值税
  • 公司购买手表入什么科目
  • 每个单位都要缴纳五险一金吗
  • 公司被私募基金收购有啥影响 裁员
  • 批量更新数据库最多多少条
  • 存储过程的输出参数有且只能有一个
  • win7总是更新怎么办
  • windows11技术预览版
  • 如何查看win10版本是不是正版
  • linux中mail命令
  • win10如何查看系统日志
  • ubuntu怎么打开系统设置
  • apache版本查看命令
  • 电脑win7在哪
  • win8网络图标不显示
  • win10专业版系统多少g
  • windows7 excel
  • win8.1怎么重新装系统
  • jquery.parsejson
  • opengl教程48讲
  • javascript高级编程
  • jquery中如何获取元素?
  • 湖北税务官方网
  • 国税湖南电子税务局官网
  • 增值税纳税申报表附列资料(三)
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设