Project1

标题: 怎么判断一个事件在椭圆的范围之内 [打印本页]

作者: 木许许    时间: 2013-1-29 08:12
标题: 怎么判断一个事件在椭圆的范围之内
本帖最后由 木许许 于 2013-2-6 09:57 编辑

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

作者: 匈魔剑    时间: 2013-1-29 09:18
取地图上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
作者: 木许许    时间: 2013-1-29 10:59
匈魔剑 发表于 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

作者: Chen。    时间: 2013-1-29 14:02
脚本无敌....嗷嗷嗷
作者: 匈魔剑    时间: 2013-2-4 22:09
木许许 发表于 2013-1-29 10:59
这样写?那么a和b是什么?椭圆的长轴和短轴?如果椭圆的中心坐标是会变化的呢?

if ($game_map.events.@ ...

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




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1