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

Project1

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

[已经解决] 已知2点坐标求角度

[复制链接]

Lv1.梦旅人

梦石
0
星屑
66
在线时间
91 小时
注册时间
2012-8-15
帖子
57
跳转到指定楼层
1
发表于 2012-10-23 16:11:11 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 虾米£浪子 于 2012-10-24 08:20 编辑

用在角色行走上,由于初中数学没毕业,想请教一下计算方法。
主要实现12方向行走,真八方向+伪八方的部分
根据角度计算跑的方式
真八方以45度斜跑(改变图形),伪八方以30度斜跑(不改变图形),移动x+=2 , y+=1,形成30度
mx,my 鼠标的坐标
x,y 角色坐标
现在只知道函数Math的使用方法。如何得到两点之间的角度。




Lv1.梦旅人

梦石
0
星屑
55
在线时间
323 小时
注册时间
2010-8-21
帖子
666
2
发表于 2012-10-23 20:03:14 | 只看该作者
本帖最后由 沙漠点灰 于 2012-10-23 20:05 编辑

{:2_258:}两点之间怎么求角度......求距离吧........
或者说是与X正半轴的夹角...?若是的话...用反三角函数..
角色坐标必须是屏幕像素坐标...而不是地图坐标..
  1. tan = (y-my).abs.to_f/(x-mx).abs
  2. r = Math.atan(tan)
复制代码
r就是结果,不过是弧度制,弧度转角度是
π=180°
也就是
d = r / Math::PI * 180
d就是角度..
不过值得说明的是,方向得自己判断,因为游戏
是0~360°,在这是0~90°..

当然,这是高中老师说的,
先判定值,再判定象限...


比如mx>x且my>y,就在第一象限,当然,游戏中第一象限在右下方...
自己判断吧

(如果脑筋好使的话,就把求绝对值去掉好了)

点评

Math.atan 反函数无法正常使用,结果还是跟Math.tan一样 无法直接得到角度,弧度制什么的听不懂,尝试着试下,结果出来了,感谢!  发表于 2012-10-24 08:15

评分

参与人数 1梦石 +2 收起 理由
hcm + 2 认可答案

查看全部评分

>>猛戳>>MetalSagaR游戏主页<<这里<<
欢迎提供您的意见
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-22 20:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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