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

Project1

 找回密码
 注册会员
搜索
123
返回列表 发新帖
楼主: andrewx
打印 上一主题 下一主题

[原创发布] 【自用·测试】图块遮挡角色半透明

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
388 小时
注册时间
2009-8-4
帖子
219
21
 楼主| 发表于 2016-1-5 22:58:37 | 只看该作者
本帖最后由 andrewx 于 2016-1-5 23:09 编辑
汪汪 发表于 2016-1-5 20:45
......对mv的地图太不熟悉了,求教几个语句
   为什么这里是 -shadowBits
    lowerTiles.push(-shadowBits) ...


(this._isTableTile(upperTileId1) && !this._isTableTile(tileId1))
这一部分是绘制柜台图块下面那一块,因为按照F1所说,(柜台图块)绘制时,底部的12像素会有向下的偏移。也就是桌子边和腿那一部分会延伸到下面一块tile,当然如果下面的图块是墙壁类(A3A4会产生自动阴影的)或者本身还是柜台,则不会往下延伸。用tableEdgeVirtualId + upperTileId1后,下面绘制的时候如果发现tileId大于tableEdgeVirtualId,就知道应该绘制柜台边缘(以及这一块本来的内容)了。

shadowBits就是一个tile上四个位置阴影的分布,按照右下-左下-右上-左上的顺序的四个比特位。然后根据比特位的值生成对应阴影的图像。这里用负值,下面在绘制的时候遇到tileId<0的就知道是阴影了。

那个OverpassPosition 我也不清楚,我查到的_isOverpassPosition只能返回false,总感觉是永远执行不到的语句块ORZ

点评

准备尝试sprite不直接放在下面而是放在层上,z改变时就把sprite转到另一个层.  发表于 2016-1-7 14:43
确实,计算量和内存估计都要的不少。每个格子分sprite感觉也不能很好解决遮挡,最好是画的同一个物体(比如一整块墙)算作一个个体。  发表于 2016-1-7 09:19
当然一格n个……这样才能有层次……然而失败了,看起来效率太低了……  发表于 2016-1-7 06:25
一个tile一个sprite?还是一格tile有n个sprite叠加?  发表于 2016-1-7 00:45
sprite太多,完全卡死.......  发表于 2016-1-7 00:18
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-23 01:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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