Project1
标题:
已知2点坐标求角度
[打印本页]
作者:
虾米£浪子
时间:
2012-10-23 16:11
标题:
已知2点坐标求角度
本帖最后由 虾米£浪子 于 2012-10-24 08:20 编辑
用在角色行走上,由于初中数学没毕业,想请教一下计算方法。
主要实现12方向行走,真八方向+伪八方的部分
根据角度计算跑的方式
真八方以45度斜跑(改变图形),伪八方以30度斜跑(不改变图形),移动x+=2 , y+=1,形成30度
mx,my 鼠标的坐标
x,y 角色坐标
现在只知道函数Math的使用方法。如何得到两点之间的角度。
作者:
沙漠点灰
时间:
2012-10-23 20:03
本帖最后由 沙漠点灰 于 2012-10-23 20:05 编辑
{:2_258:}两点之间怎么求角度......求距离吧........
或者说是与X正半轴的夹角...?若是的话...用反三角函数..
角色坐标必须是屏幕像素坐标...而不是地图坐标..
tan = (y-my).abs.to_f/(x-mx).abs
r = Math.atan(tan)
复制代码
r就是结果,不过是弧度制,弧度转角度是
π=180°
也就是
d = r / Math::PI * 180
d就是角度..
不过值得说明的是,方向得自己判断,因为游戏
是0~360°,在这是0~90°..
当然,这是高中老师说的,
先判定值,再判定象限...
比如mx>x且my>y,就在第一象限,当然,游戏中第一象限在右下方...
自己判断吧
(如果脑筋好使的话,就把求绝对值去掉好了)
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1