-
问题
2D游戏角色控制精灵,经常与其他诸如敌人呀什么的进行交互,那,谁在前谁在后就成了问题,这个时候需要进行动态控制Order in layer。
-
思路
通过他们的position.y进行动态控制sortingOrder
-
代码实现
void spriteOrder_Controller()
{
//*100是为了使取值区间增大,减少或避免重合的问题
sortingOrder = Mathf.RoundToInt(this.transform.position.y * 100);
//给该角色的所有精灵进行赋值
for (int i = 0; i < m_SpriteGroup.Length; i++)
{
//当然,每个层级之间还是要区分的,只有同一层级的才会按照次序比较
m_SpriteGroup[i].sortingOrder = sortingOrderOrigine - sortingOrder;
}
}
-
出处
该游戏源码来自AssetStore,Free_Pack。
2D游戏精灵Orderinlayer动态控制
本文探讨了2D游戏中角色与敌人的交互问题,特别是在控制精灵前后顺序(Orderinlayer)方面。通过利用角色的position.y属性,动态调整sortingOrder参数,实现了角色与背景及其他元素间的正确叠加效果。
3739

被折叠的 条评论
为什么被折叠?



