设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2555|回复: 2
打印 上一主题 下一主题

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

[复制链接]

Lv5.捕梦者

梦石
0
星屑
36462
在线时间
10800 小时
注册时间
2009-3-15
帖子
4815
跳转到指定楼层
1
发表于 2018-4-26 13:49:24 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
我參考了一些横版的写法..但是.
因为我要改的FMBS Y轴往上是增加 下限是0
所以算法不通用....
求大家解答一下..

Lv5.捕梦者

梦石
0
星屑
36462
在线时间
10800 小时
注册时间
2009-3-15
帖子
4815
3
 楼主| 发表于 2018-4-27 12:41:44 | 只看该作者
成功了..感谢大神
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33489
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

2
发表于 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 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-27 20:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表