位置: 编程技术 - 正文

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

  • 出口退税免税政策
  • 其他权益工具账务处理内容
  • 待摊费用和无形资产摊销
  • 金蝶美金账户怎么开
  • 其他收益在报表哪个位置
  • 个人所得税怎么算公式是什么
  • 销货方跨月开红字发票流程
  • 广告制作赚钱吗?
  • 固定资产原价的结余额
  • 公司领导培训费怎么入账
  • 突然收到银联入账收入怎么办
  • 月底结转都结转什么
  • 向农户购买农产品如何入账
  • 借库存商品贷生产成本这笔会计分录反映的经济业务是
  • 公益性捐赠专用会计科目
  • 收到财政补助资金怎么办
  • 出口的货物因质量问题被扣款
  • 专利代理费如何报销
  • 总资产净利率和权益乘数之间的关系
  • 系统浏览器
  • svchost程序错误怎么修复
  • 会计分录错误用什么方法更正
  • 上一年度的费用入账需要分摊吗
  • 投资性房地产减值准备属于什么科目
  • php redis常用命令
  • phppregmatch
  • 固定资产毁损应该填制什么凭证
  • 拍到国际空间站过境
  • 房屋出租房产税如何计算
  • 怎么配置tomcat服务器
  • vue–router
  • php多进程处理大数据
  • flip函数
  • php推送微信公众号客户消息
  • 送货运输费用税率
  • 技术转让免征增值税需要备案吗
  • mongodb怎么用
  • 购买税控设备的分录怎么做
  • 企业所得税核定管理办法
  • MySQL 5.7 create VIEW or FUNCTION or PROCEDURE
  • sql server 2008数据库密码忘记
  • 个人所得税专项扣除2023最新政策
  • 收到国家电网信息但号码不是的
  • 印花税处罚适用征管法六十四条规定
  • 开发成本属于哪一类科目
  • 去年亏损今年盈利同比怎么算
  • 税务局收款收据
  • 结转本月福利费会计分录
  • 售房中心给客人怎么说
  • 丢失的发票怎么查询
  • 个税抵扣项目是什么
  • 未认证的进项税额转出怎么做分录
  • sql实用教程
  • window10总更新是怎么回事
  • wpr是什么软件
  • win8怎么装系统
  • win7电脑无法正常启动系统
  • Win10预览版镜像
  • win8如何免费升级win10
  • node linux安装
  • win7怎么取消开机选择系统
  • raid磁盘阵列教程
  • 模型图怎么画
  • opengl入门视频教程
  • oracle shell脚本
  • css设置段落
  • linux怎么使用shell脚本
  • Node.js中Bootstrap-table的两种分页的实现方法
  • android ashmem
  • javascript 进阶篇2 CSS XML学习
  • 谷歌邮箱
  • 国家税务总局咨询热线电话
  • 淄博市地税局局长
  • 建筑劳务个人所得税申报
  • 个人出租房屋如何计税?看这篇
  • 拆迁房抵税政策
  • 威科先行个人一年费用
  • 武汉市江汉区财政局这个单位的公务员待遇怎么样?
  • 集体诉讼的后果
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设