假设步长为 step(pixel),步速为 speed(pixel/frame),人物行走动画帧数为 n(frame)。

现在要把人物从坐标 0 移动到 100。

我们可以算出,这个过程是需要 100/speed 帧来完成的。

那么第 i 帧画面,人物在的位置:

  pos=i*100/speed

这个时候,需要画第几帧图象呢?

首先我们需要知道第 i 帧画面,也就是 pos 这个位置,人物已经走了t=|pos/step| 步 (t 取整了);

我们的小人正在走在第 t+1 步的 m=(pos-t*step) * 100% 时刻m 是一个 0~1 之间的数字。

f=|n*m| 就是我们在此时刻需要画的行走图片帧了。

加快行走速度,无非是加快了频率,不可能导致滑步的,因为一步迈出的距离根本不会变。
ps. 对于跑步、有腾空,轻微滑步是允许的,所以可以适当加大步长是允许的
————————————————
版权声明:本文为CSDN博主「pcmac」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/pcmac/article/details/308400

注:

步长为 step(px),人物行走动画帧数为 n(帧数(Frames))(完成一个步长所需要的帧数),步速为 speed(px/frame)(step/n)(每帧移动的像素)。

例;步长为 2(pixel),步速为 1/15(px/frame)(每帧移动15分之一px),人物行走动画帧数为 30(frame)。

现在要把人物从坐标 0 移动到 100。

我们可以算出,这个过程是需要 100/speed =1500帧来完成的

那么第 i (87)帧画面,人物在的位置:

  pos=i*100/speed(他的公式我没看懂不知道是不是写错了)

pos=i*speed=87*1/15=87/15=5.8(px)

这个时候,需要画第几帧图象呢?(如果知道是当前总87帧,30帧一个循环,那此处就是|87/30|=取整2两个整循环,当前帧数就是87-30*2=27帧,,,貌似现在的假设是只知道位置,不知道多少帧)

首先我们需要知道第 87帧画面,也就是 pos(5.8(px)) 这个位置,人物已经走了t=|pos/step| 步 (t 取整了)(t=|5.8 /2|=(取整)2);

我们的小人正在走在第 t+1(3) 步的 ((pos-t*step) =(5.8-2*2)=1.8(px) 这1.8px是3步的1.8/2时刻=0.9*100%=90%) 时刻m 是一个 0~1 之间的数字。

f=|n*m|=|30*90%|=27(frame)就是我们在此时刻需要画的行走图片帧了(和上面知道总帧数得到的结果是一样的,算是相互验证)。

(如果问题请留言)

提示:这种公式用于操作每一个动画单帧的方法,但如果你的动画帧是确定的,30帧,(重点)而且动画帧的时间是设定好的(1s----1秒播放30帧以确定)那么速度这个动画的移动速度就固定了,或者说 30帧动画是一个整体,无法分割,就无法用上面的方法。简单说下:动画帧(30frame)确定,时间(1s)确定,步长(20px)应该也是确定的, 那么速度就是 =步长/时间,(v=s/t,v=20px/s),那么现在如果实现不滑步,,,播放动画和移动分开控制,,,动画调用频率设置为动画播放时间(1s)循环调用,这就使人物连贯原地走起来了,我们知道这个人物动画的速度是20px/s,那就在来一个控制器,控制动画整体,每20px/s的速度移动就可以了,,假设

移还是0-100,那么这个控制移动的频率我们可以设置为0.1s,位置距离等于速度*时间,s1=v*t1 时间每0.1进行累加(t=t+0.1)

当t1=0.1,当前的位置就是s1=20*0.1=2px;

t1=0.2,s1=0.4;

t1=0.3,s1=0.6

t1=1,s1=2;

所以时间等于播放帧时间,一秒后的位置也就是一个步长,s1=(v)*t1=(s/t)*t1=(20/1)*1=20px;

t1=1.2,s=2.4;

.....

具体的情况还要具体分析,这只是大方向,,,

角色移动的步长、步速与滑步现象相关推荐

  1. 6步速通:修复损坏的word文件

    前两天,老师找到我,想让我帮忙修复一个打不开的docx文档.症状大概是这样: 打开文件的时候花了较长时间,并且显示了乱码,并且老师使用WPS自带的文档修复功能也无法修复. 遇到这个情况,到底怎么办呢? ...

  2. 高效阅读源码的五步速读法

    阅读代码是程序员最重要的技能之一,我们每天都在读同事的代码或者第三方库的代码,那怎么高效的阅读代码呢?分享下我的源码阅读方法. 我的阅读源码的方法分为五步: 第一步,通过文档和测试用例了解代码的功能 ...

  3. dnf搬砖代码Python_DNF:95版本搬砖角色怎么提高移速,不花钱就花时间吧

    大家好,小编最近在整理95版本搬砖完全攻略,但是因受金币改版等内容影响较大,所以陆续内容将在金币改版后陆续放出,喜欢的可以先点下关注. 今天主要是给大家科普下DNF中怎么提高最多的移速.因为金币改版后 ...

  4. matlab线性搜索确定步长,使用非精最速下降法确线搜索armijo算法确定步长的.doc...

    使用非精最速下降法确线搜索armijo算法确定步长的.doc 数学与计算科学学院实验报告实验项目名称使用非精确线搜索ARMIJO算法确定步长的最速下降法所属课程名称最优化方法实验类型算法编程实验日期2 ...

  5. 角色控制的相位神经网络

    角色控制的相位神经网络 我们提出了一个使用全新网络结构的实时角色控制机制,命名为相位神经网络.在这个网络结构中,权重通过一个以相位为输入的循环程序计算机.我们的系统也将用户控制,先前角色状态,场景做为 ...

  6. 分词消除歧义_角色标题消除歧义

    分词消除歧义 折磨数据,它将承认任何事情 (Torture the data, and it will confess to anything) Disambiguation as defined i ...

  7. 伦巴时间步的动作要领_军训动作要领已到,请签收

    点击上方蓝字关注我吧军训动作要领已到,请签收 小20的军训已经开始两天了! 经过两天的辛苦训练, 相信同学们已经对训练项目有所了解, 但是要做到很好,还需要不断练习. 趁着空闲时间,温习一下已学的 提 ...

  8. 18 MM配置-BP业务伙伴-定义业务伙伴角色分组

    业务背景:定义业务伙伴角色分组 事务码: SPRO SPRO路径:跨应用组件->SAP业务伙伴->业务合作伙伴->基本设置->商业伙伴角色->定义业务伙伴角色分组 第1步 ...

  9. ASP.NET Core 2.0身份和角色管理入门

    目录 介绍 身份验证和授权 身份验证 授权 背景 先决条件 使用代码 第1步:创建数据库 第2步:创建ASP.NET Core 更新appsettings.json 步骤3:在Startup.cs文件 ...

最新文章

  1. 【驱动】uboot环境变量分析
  2. bzoj 2730: [HNOI2012]矿场搭建——tarjan求点双
  3. 超越“机器人三定律” 人工智能期待新伦理
  4. avue form提交变为不可编辑_教程42——富文本编辑器的原理(项目)
  5. IDEA 上位?不!Eclipse Theia 1.0 发布!
  6. 《以前工作中的三大痛点,只因他们没学Python》
  7. Linux I/O模型
  8. python 判断类是否存在某个属性或方法
  9. linux之shell编程基本语法
  10. android系统提供了url通信,Android两种HTTP通信,HttpURLConnection和HttpClient
  11. 2020年12月程序员工资统计,平均14222元,Java排名靠后!
  12. 怎么入门Java?java拦截器怎么配置
  13. flashtorch:卷积神经网络的可视化
  14. 让国内顶尖程序员社区“牛客网”低头的这份Java面试手册真的强
  15. 【题解】HNOI-2015落忆枫音
  16. BUUCTF Misc wp大合集(1)
  17. python爬取招聘网站的选题背景_Python爬虫爬取智联招聘(进阶版)
  18. mysql spatial简介_详细介绍mysql索引类型:FULLTEXT、NORMAL、SPATIAL、UNIQUE
  19. java架构图软件,如何画好IT项目中的各种架构图
  20. FreeRTOS笔记篇:第七章 -- 资源管理(互斥锁、二进制信号量、死锁)

热门文章

  1. kali 物理机(虚拟机)安装中文输入法教程
  2. 编程思维可以有效简化问题
  3. 随写--2.使用WeTab新标签页定制属于你的新标签页
  4. qqbot不能用后,我还是能用python 实现qq机器人转发重要群的信息!
  5. 计算机概念总结5-阿里云的了解2-slb
  6. PDF编辑方法,如何旋转PDF中的一页
  7. 打开Word 2007时停在欢迎界面
  8. codeblocks中plugin的实现
  9. 三星健身服务器无响应 怎么办,刚买的三星g7508q怎么网速慢的要死怎么办
  10. JavaSpark | RDD实战:WordCount