游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3507|回复: 3

问各位大神一个2D游戏里面人物与景物遮挡的问题

[复制链接]

5

主题

34

帖子

82

积分

注册会员

Rank: 2

积分
82
QQ
发表于 2012-4-1 10:37:00 | 显示全部楼层 |阅读模式
假如现在人物后面有一堵墙,人在墙前面的时候人把墙挡住,人走到墙后面的时候墙把人挡住,这具体是怎么实现的呢?如果按照地图分层处理来做,那么把地面设为1层,人物设为2层,墙设置为3层,现在人物站在后面是没有问题的,可是人物如果走到了墙的前面,就会出现只能看见人的身子而看不见头部的现象,因为头部被3层的墙体覆盖了额。。。所以……应该怎样做呢。。。求大神指教。。。

0

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2012-4-4 00:33:00 | 显示全部楼层

Re:问各位大神一个2D游戏里面人物与景物遮挡的问题

把墙设置为2层,与人物在同一层。这里可以把2层精灵放在一个链表里,在添加精灵的时候通过坐标判断插入位置即显示先后(例如Y坐标大的先绘制)。

50

主题

236

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
发表于 2012-4-14 20:55:00 | 显示全部楼层

Re:问各位大神一个2D游戏里面人物与景物遮挡的问题

我觉得分层太麻烦,直接简单点,给所有的精灵(包括景物,角色,怪物)定义一个Y值属性,
渲染的时候,就按照这个Y值的高低来渲染,Y值越大(向下为正方向)越靠前

另外,包含遮挡的景物需要分割成一个个小图块来渲染,比如一个亭子,其中就包括遮挡人物的部分,也有被遮挡的部分,所以要将这个亭子分割成一个个小图块,然后给每一个小图块设定上其Y值

1

主题

12

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2012-4-24 18:50:00 | 显示全部楼层

Re:问各位大神一个2D游戏里面人物与景物遮挡的问题

可以使用深度...精灵.SetZ() 好像是速度值高的会被遮挡着...开启深度值需要在初始化的时候..设置..开启方法:Hge->System_SetState(HGE_ZBUFFER,true);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-28 13:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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