查看: 2769|回复: 4

[已经解决] 怎么判断一个事件在椭圆的范围之内

[复制链接]
梦石
0
星屑
50
在线时间
200 小时
注册时间
2008-3-1
回帖
258
发表于 2013-1-29 08:12:05 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 木许许 于 2013-2-6 09:57 编辑

比如在地图上判断:1号事件是否在一个以坐标11,12为中心,256宽,128高的椭圆范围之内

巴斯克维尔的猎犬

梦石
0
星屑
50
在线时间
66 小时
注册时间
2007-6-25
回帖
8211

第1届Title华丽大赛冠军

发表于 2013-1-29 09:18:43 | 显示全部楼层
取地图上i号事件的具体象素坐标的方法是
x = $game_map.events[i].@real_x/4;
y = $game_map.events[i].@real_y/4;
然后判断这个坐标是否在椭圆内就可以了。
x^2/a^2+y^2/b^2<=1
回复

使用道具 举报

梦石
0
星屑
50
在线时间
200 小时
注册时间
2008-3-1
回帖
258
 楼主| 发表于 2013-1-29 10:59:03 | 显示全部楼层
匈魔剑 发表于 2013-1-29 09:18
取地图上i号事件的具体象素坐标的方法是
x = $game_map.events.@real_x/4;
y = $game_map.events.@real_y/4 ...

这样写?那么a和b是什么?椭圆的长轴和短轴?如果椭圆的中心坐标是会变化的呢?

if ($game_map.events.@real_x/4)^2/a^2+($game_map.events.@real_y/4)^2/b^2<=1
回复

使用道具 举报

梦石
0
星屑
50
在线时间
24 小时
注册时间
2012-8-29
回帖
46
发表于 2013-1-29 14:02:05 | 显示全部楼层
脚本无敌....嗷嗷嗷
[
回复

使用道具 举报

巴斯克维尔的猎犬

梦石
0
星屑
50
在线时间
66 小时
注册时间
2007-6-25
回帖
8211

第1届Title华丽大赛冠军

发表于 2013-2-4 22:09:59 | 显示全部楼层
木许许 发表于 2013-1-29 10:59
这样写?那么a和b是什么?椭圆的长轴和短轴?如果椭圆的中心坐标是会变化的呢?

if ($game_map.events.@ ...

那个是椭圆的标准方程啊OTL,中心会变的话,就需要在方程里减坐标变化量……
都是高中数学的知识。不了解可以去百度一下。感觉这就不是应该在这里讨论的问题了。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部