2015-7-11 19:13:29
辣么下午花了点时间,地图块拼接的差不多了,上个图说明一下图块编号、碰撞判定、自动图块和角色覆盖设定。。



以上图片图床为喵玉殿技术馆图床:pic.nsdn.club/,感谢 @tnl
PS接图块接的我累累的……
然后在测试画房屋外景的自动化图块的时候发现了旧的问题,花了点时间一一校对做了修正。
顺便以前好像没细说过怎么实现的自动图块这部分,发个图可能会比较好理解吧。

比如我在画一个图块的左上角部分的时候,我会先检测地图上同层的该图块位置的左、左上、上方向的图块是否相同,
比如如果是相同、相同、不同,那我就应该这么调用:
mTile.mTex.DrawGraphR_RECT(图块在地图的x, 图块在地图的y, _
New Rectangle(该图块贴图的2*3自动绘制单元的x位置 + ATofst(0, .s4, .s7, .s8, 0), _
该图块贴图的2*3自动绘制单元的y位置 + ATofst(0, .s4, .s7, .s8, 1), _
16, 16))
注:.s几 的意思是以小键盘为方向,数字指向的方向方块是否和该方块相同,相同为1,不同为0。

大概就是这个意思啦。另外为啥我刚才说要一一校对呢?做好心理准备请展开下边的折叠夹。
Private Sub ATofst_fill()
'Corner7
ATofst(0, 0, 0, 0, 0) = 0
ATofst(0, 0, 0, 0, 1) = 32
ATofst(0, 0, 1, 0, 0) = 0
ATofst(0, 0, 1, 0, 1) = 32
ATofst(0, 1, 0, 0, 0) = 32
ATofst(0, 1, 0, 0, 1) = 32
ATofst(0, 1, 1, 0, 0) = 32
ATofst(0, 1, 1, 0, 1) = 32
ATofst(0, 0, 0, 1, 0) = 0
ATofst(0, 0, 0, 1, 1) = 64
ATofst(0, 0, 1, 1, 0) = 0
ATofst(0, 0, 1, 1, 1) = 64
ATofst(0, 1, 0, 1, 0) = 32
ATofst(0, 1, 0, 1, 1) = 0
ATofst(0, 1, 1, 1, 0) = 32
ATofst(0, 1, 1, 1, 1) = 64
'Corner9
ATofst(1, 0, 0, 0, 0) = 48
ATofst(1, 0, 0, 0, 1) = 32
ATofst(1, 0, 1, 0, 0) = 48
ATofst(1, 0, 1, 0, 1) = 32
ATofst(1, 1, 0, 0, 0) = 16
ATofst(1, 1, 0, 0, 1) = 32
ATofst(1, 1, 1, 0, 0) = 16
ATofst(1, 1, 1, 0, 1) = 32
ATofst(1, 0, 0, 1, 0) = 48
ATofst(1, 0, 0, 1, 1) = 64
ATofst(1, 0, 1, 1, 0) = 48
ATofst(1, 0, 1, 1, 1) = 64
ATofst(1, 1, 0, 1, 0) = 48
ATofst(1, 1, 0, 1, 1) = 0
ATofst(1, 1, 1, 1, 0) = 16
ATofst(1, 1, 1, 1, 1) = 64
'Corner1
ATofst(2, 0, 0, 0, 0) = 0
ATofst(2, 0, 0, 0, 1) = 80
ATofst(2, 0, 1, 0, 0) = 0
ATofst(2, 0, 1, 0, 1) = 80
ATofst(2, 1, 0, 0, 0) = 32
ATofst(2, 1, 0, 0, 1) = 80
ATofst(2, 1, 1, 0, 0) = 32
ATofst(2, 1, 1, 0, 1) = 80
ATofst(2, 0, 0, 1, 0) = 0
ATofst(2, 0, 0, 1, 1) = 48
ATofst(2, 0, 1, 1, 0) = 0
ATofst(2, 0, 1, 1, 1) = 48
ATofst(2, 1, 0, 1, 0) = 32
ATofst(2, 1, 0, 1, 1) = 16
ATofst(2, 1, 1, 1, 0) = 32
ATofst(2, 1, 1, 1, 1) = 48
'Corner3
ATofst(3, 0, 0, 0, 0) = 48
ATofst(3, 0, 0, 0, 1) = 80
ATofst(3, 0, 1, 0, 0) = 48
ATofst(3, 0, 1, 0, 1) = 80
ATofst(3, 1, 0, 0, 0) = 16
ATofst(3, 1, 0, 0, 1) = 80
ATofst(3, 1, 1, 0, 0) = 16
ATofst(3, 1, 1, 0, 1) = 80
ATofst(3, 0, 0, 1, 0) = 48
ATofst(3, 0, 0, 1, 1) = 48
ATofst(3, 0, 1, 1, 0) = 48
ATofst(3, 0, 1, 1, 1) = 48
ATofst(3, 1, 0, 1, 0) = 48
ATofst(3, 1, 0, 1, 1) = 16
ATofst(3, 1, 1, 1, 0) = 16
ATofst(3, 1, 1, 1, 1) = 48
End Sub
|
那么今天更新内容大概就是这些了。
明天应该会自己画个神社贴在地图块贴图上,像素绘啥的……我也不会,总之先尝试一下吧。

以上~
|