位置: 编程技术 - 正文

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

  • 初级会计职称能加多少工资
  • 产权转移书据印花税包括什么
  • 税款征收方式是指
  • 税务行政诉讼名词解释
  • 向银行借款存入银行会引起
  • 库存商品转为固定资产说明
  • 银行内部利息支出
  • 营业外收入是否属于当期损益
  • 发票红冲重新开
  • 个体户开票超30次后如何开票
  • 进口货物需要交哪些税
  • 研发费用加计扣除行业
  • 建筑施工企业工伤保险费率
  • 公司没有收入算正常经营吗
  • 企业申请核定征收的要求
  • 税收缴款书税务收现专用的用途
  • 单位会计需要去税务局实名认证吗?
  • 付款时收到应收票据会计分录怎么做?
  • 实际缴纳的增值税税额怎么算
  • 购销合同印花税计税依据
  • 门店关闭费用怎么处理
  • 汇算清缴发现以前预缴报表资产错误
  • 1697510840
  • 公司车过户给个人流程
  • 长期股权投资评估报告模板
  • php中数组的概念
  • php怎么创建数据表
  • php使用composer
  • 工程施工暂估的成本的依据
  • 资金性质是什么有哪些方面
  • laravel实战教程
  • php图片上传插件
  • 一般纳税人购买原材料会计分录
  • 个人所得税零报税怎么报
  • 治疗孩子咳嗽小秘方,超实用
  • waffe
  • 计提的附加税
  • opencv怎么训练
  • lscpu命令 显示CPU架构信息
  • php导出带样式的数据库
  • 发票项目要求
  • 帝国cms真的很好用
  • 福利费是工资的14%,这里工资是税前工资吗
  • 净利润和毛利润谁大
  • 土地增值税预缴计算方法70号公告
  • sql2005安装方法
  • 15个postgresql数据库实用命令分享
  • 建筑安装工程公司起名
  • 仓库包材问题和造成的后果
  • 服务行业收入会增加吗
  • 没有销售需要结转主营业务成本吗
  • 小微企业要交残疾证吗
  • 现金日记账怎么填写规范
  • 非常详细的魔方公式图解
  • ccs 运行
  • ubuntu怎么开启root
  • freebsd怎么用
  • bios设置第一启动项图解
  • bp程序是什么意思
  • win8系统怎么创建局域网
  • os x yosemite dp6下载 os x 10.10 dp6官方下载地址
  • win7系统多久不动自动关机
  • linux播放mp3命令
  • win7自带防火墙关闭后自己打开啥原因
  • player文件怎么打开
  • win10 sam文件下载
  • win7系统开机黑屏自检
  • cocos2dx 3.17
  • 景深图片的3d显示器
  • 入门级啥意思
  • unity 数学
  • bat文件加密bat解密脚本
  • nodejs基本原理
  • 在javascript中用下面哪个关键词来定义变量
  • python在设计领域的应用
  • brook javascript框架介绍
  • jquery中each()方法的作用及使用
  • 广州地税电子税票查询
  • 个人出租平台有哪些
  • 融资租赁做什么业务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设