0
点赞
收藏
分享

微信扫一扫

项目实训2022-3-23

诗远 2022-03-23 阅读 52
unity

僵尸生成和排序

僵尸的基本逻辑前面已经实现,本次要实现僵尸的生成排序等问题
,防止出现僵尸重叠模型的闪烁问题

创建预制体

    [Header("僵尸")]
    [Tooltip("僵尸头")]
    public GameObject Zombie_Head;
    [Tooltip("普通僵尸")]
    public GameObject Zombie;
 public void Init(int lineNum,int orderNum)
    {
        InitAnimationName();
        Find();
        GetGirdByVerticalNum(lineNum);
        CheckOrder(orderNum);

    }

Zombie类

    private void CheckOrder(int orderNum)
    {
        //在那条草坪,越接近0越大,0(0-99)-4(400-499)
        int startNum = 0;
        switch ((int)currGrid.Point.y)
        {
            case 0:
                startNum = 400;
                break;
            case 1:
                startNum = 300;
                break;
            case 2:
                startNum = 200;
                break;
            case 3:
                startNum = 100;
                break;
            case 4:
                startNum = 0;
                break;

        }
        spriteRenderer.sortingOrder = startNum + orderNum;
    }

ZombieManager类


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ZombieManager : MonoBehaviour
{
    public static ZombieManager Instance;
    private List<Zombie> zombies = new List<Zombie>();
    private int currOrderNum = 0;

    public int CurrOrderNum { get => currOrderNum;
        set {

            currOrderNum = value;
            if (value > 50)
            {
                currOrderNum = 0;
            }
        }
        }

    private void Awake()
    {
        Instance = this;
    }

    private void Start()
    {
        CreateZombie(0);
        CreateZombie(0);
        CreateZombie(1);
        CreateZombie(2);
    }


    private void CreateZombie(int lineNum)
    {
        Zombie zombie=GameObject.Instantiate<GameObject>(GameManager.Instance.GameConf.Zombie,new Vector3(7.3F,0,0), Quaternion.identity, transform).GetComponent<Zombie>();
        AddZombie(zombie);
        zombie.Init(lineNum,CurrOrderNum);
        currOrderNum++;
    }
    public void AddZombie(Zombie zombie)
    {
        zombies.Add(zombie);
    }
举报

相关推荐

2022-3-23学习总结

项目实训2022-3-13

项目实训2022-3-17

项目实训2022-4-19

项目实训2022-4-17

项目实训2022-4-15

项目实训2022-4-13

项目实训(三)

0 条评论