cocos creator 2d实现角色在障碍物的上方和下方的不同来调整层级

因为是2d所以只能通过调整同一个node下的子节点的zIndex来修改层级的显示高低

我这里的障碍物是墙

我这里主要是为了实现,2d情况下,角色在墙的的上方显示的时候,要低于墙的层级,也就是被墙挡住一部分,在墙的下方,要高于墙的层级显示

场景中墙的高度基本一致,比较均匀,场景大概有10行,每行高度80左右,每行中都有可走的路和分布的墙,这就要求走到不同的位置的时候,比如说

角色加在上下两墙之间,要高于上墙的显示,低于下墙的显示,这时候怎么办?

最简单的方法,是这么做的,每行的障碍物,设置相应的层级,zIndex从1到10,这样

当角色移动的时候实时判定,当前的位置是在哪一行的范围,来调整角色的zIndex,例如当前角色在第五行的位置,就设置角色的zIndex是5,就可以比

上墙高,比下墙6要低

调整zIndex的时候,cocos creator有一个特点,当zIndex从大到小变化的时候,会高于当前层级的其他物体的层级,如果是从小到大的变化,就会低于相同层级的显示

比如,当从1变化到2的时候,场景中是2层级的物体,要高于刚才那个角色的显示,角色从5变化到4的时候,当前是4层级的其他物体要低于角色的显示

当然这个问题也可以实时计算,角色的位置,调整场景中的所有物体,这就比较麻烦点了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值