赞 | 55 |
VIP | 0 |
好人卡 | 0 |
积分 | 34 |
经验 | 9754 |
最后登录 | 2024-3-7 |
在线时间 | 461 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 3424
- 在线时间
- 461 小时
- 注册时间
- 2013-12-7
- 帖子
- 333
|
本帖最后由 ekmomo 于 2019-1-6 11:37 编辑
第一种方案是直接用通行度插件,YEP 的 Region Restrictions在地图足够大的情况下就可以做到基本满足需求。
遮罩层用远景做就行。要多层远景的话插件也挺多的,可以自行在站内搜索。
第二种方案是把地图通过PS切成MV图块,然后用F9里的通行度设置,MV的图块通行度涵盖了4向、遮罩等,很全面。
第三种方案,自己封一个方法。
关于碰撞检定,其实你已经说了大部分思路,这也是像素级的碰撞检定最粗暴的算法——首先求两张精灵的外接矩形,然后求两矩形重合区域,最后利用getImageData判断alpha通道(也可以用MV封的getPixel判断是否为黑色)。
另外,不得不说的是,用碰撞检定回过头做通行度的方法非常不可取。其实你只需要计算角色精灵腿部的的外接矩形(包含位置),然后判定在当前位置的矩形区域内通行图是否全部透明即可。
|
|