本帖最后由 xjzsq 于 2019-7-17 01:04 编辑 WRZRMZX 发表于 2019-7-15 10:59 qq已通过私信发送 |
xjzsq 发表于 2019-7-13 22:40 大致明白了多谢大佬的解答w 话说能不能加个好友呢QAQ |
WRZRMZX 发表于 2019-7-13 22:00 distancePerFrame这个函数的作用是让人物走一步图像珂以精准地移动一格, 而animationWait这个函数的作用是控制人物走一步动画播几遍。 换言之,前者控制图像的移动,后者控制图像的变化 |
xjzsq 发表于 2019-7-3 21:42 但是那样的话就搞不清楚distancePerFrame这个函数的作用了@_@ |
WRZRMZX 发表于 2019-7-3 11:19 按照我的理解,mv中控制人物1s移动多少距离和1s内播放多少次动画是没有关系的。 不管你播放多少次动画,甚至是不播放,人物的图片该移动还是会在地图上平移的(类似于图片生硬地在地图上移动)。 楼主可以试试把animationWait这个函数的最后乘上1000000(一个特别大的数字),然后你就会发现他们走的时候就是翘起一只脚,然后直接向前滑动... |
xjzsq 发表于 2019-7-2 23:03 咱不明白的地方在于,distancePerFrame这个函数并没有变化,也就是说每一帧所走的长度没有改变,那样的话人物的移动速度为什么没有随之变快呢@_@ |
WRZRMZX 发表于 2019-7-2 17:14 以下仅个人见解,而且也是半猜半看得出的不一定对的结论 我认为animationWait这个函数算出来的值只是一个衡量指标,这个指标就是一个动作图片持续的最长时间。具体机制是通过比较_animationCount这个变量的值(大概就是这个动作的图片持续了多长时间,可以搜索一下,也在rpg_object.js里面)和animationWait算出来的值,如果前者大于后者,说明已经到了该换图片的时候了,就会换图片,你让他除了1.5,就是相当于让这个时间缩短到了原来的2/3,所以如果想让动画走一步播两遍,那么就除2或者乘0.5,也就是更换动作图片的时间变为了原来的一半,也就相当于相同的时间内多放了一遍动画。 移动的距离应该是不会变的,因为我感觉他是通过均匀移动图片的坐标来实现在地图上移动1格距离的,和动画播放几遍无关。 说的珂能比较啰嗦,前面那个有括号的地方最好把括号去掉看,珂能还好理解些... (我承认我写的自己不认真看都看不懂就是啦) |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-9 10:45
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.