查看: 2980|回复: 2

[已经解决] 想请教一下类似横版行动时移动到敌人面前的脚本算法

[复制链接]
梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2018-4-26 13:49:24 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
我參考了一些横版的写法..但是.
因为我要改的FMBS Y轴往上是增加 下限是0
所以算法不通用....
求大家解答一下..
梦石
0
星屑
34459
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2018-4-27 11:58:59 | 显示全部楼层
最简单的,需要三个参数:A坐标(x,y);B坐标(x,y); 最大可移动的像素距离;

比如 A 向 B 移动,每次的最大移动像素距离是 10

rx = A.x - B.x  # X方向距离差

ry = A.y - B.y  # Y方向距离差

distance = (rx.abs + ry.abs).to_f   #总距离

tx = rx.abs / distance   # X方向占总距离的比率。

speed = [distance, 10.0].min  # 限制最大移动距离

mx = speed * tx   #根据X方向比率换算实际移动量

my = speed - mx  #最大移动距离减去X方向移动量,得到Y方向移动量

mx = rx > 0 ? -mx : mx   #根据差值计算X移动方向

my = ry > 0 ? -my : my  #根据差值计算Y移动方向

开始移动
A.x += mx
A.y += my

评分

参与人数 2星屑 +50 赞 +1 收起 理由
guoxiaomi + 50 认可答案
soulsaga + 1 认可答案

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
 楼主| 发表于 2018-4-27 12:41:44 | 显示全部楼层
成功了..感谢大神
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部