作者tkcn (sayuan)
看板java
标题Re: [问题] JAVA小游戏设计的问题
时间Wed May 15 00:06:42 2013
※ 引述《sam31112 (Sam)》之铭言:
: 我们想说要做一个像电流急急棒的游戏
: 已经用座标把地图拉好了...
: 游标也可以动了
: 但是我们想不出要怎麽打
: 才可以让游标碰到边界或障碍物的时候
: 跳出视窗game over 之类的
: 我们想说设范围当X < 多少 或Y > 多少的方法
: 不过似乎行不通!
: 有人有做过类似的游戏可以提供意见吗?
: 感谢
简单点的作法,
把所有不能走的 (或着反过来,所有能走的)拆成长方形,
然後判断游标是不是在长方形内。
看起来比较漂亮的作法就是直接判断游标是否在地图内,
由於地图多半会是一个具有 concave 的 simple polygon,
而这多半就是你先前做不出来的原因。
这边补充一下,如果没有 concave 而只是 convex polygon,
就会有很简单的判断方式检查游标是否在 polygon 之内。
(向量外积,判断游标是否都落在同一边)
如果是 non-convex polygon,其实也不会太难,
这边有个七行的演算法:
http://www.codeproject.com/Tips/84226/Is-a-Point-inside-a-Polygon
它的作法大概是从游标任选一个方向一直线延伸出去,看会与几个边交错,
如果是奇数个就表示游标在 polygon 之内。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.34.7.189