繁体   English   中英

对于 Unity,如何循环检查不同的对象是否为空,或者在我的情况下不在游戏对象中,我将脚本附加到

[英]For Unity, How to loop to check if different objects are null, or in my case not in the gameobject i attach the script to

我在一个脚本中有多个图像,在另一个脚本中有一组精灵。 如果连接了特定的控制器,我会为每个图像分配一个特定的精灵。 然后将脚本附加到游戏对象并分配所需的图像。 我在每个游戏对象上只有一些图像,如果我没有在我附加在游戏对象上的脚本上的每个图像,它会给我关于不在场景中的对象的错误。

所以我还在学习统一和 C#,这就是我现在所拥有的,而且它有效。 只是想知道是否有一种更简洁的方法可以通过循环进行这种空检查,哪种循环以及如何?

提前致谢!

public GameManager gameManager;
public UIMananger uIMananger;
public Image[] moveImg;
public Image RunImg;
public Image jumpImg;
public Image mainAttackImg;
public Image secondAttackImg;
public Image PauseImg;
public Image SelectImg;
public Image recenterCameraImg;
public Image showUiImg;
public Image chaosTestImg;
public Image firstPersonCameraImg;
public Image EnterImg;
public Image BackImg;

void Update()
    {
        if (gameManager.UsingXboxController)
        {
            XboxMap();
        }
    }

public void XboxMap()
    {
        if (moveImg[0] != null)
        {
            moveImg[0].sprite = uIMananger.controllerButtons[10];
        }

        if (moveImg[1] != null)
        {
            moveImg[1].sprite = uIMananger.controllerButtons[11];
        }

        if (moveImg[2] != null)
        {
            moveImg[2].sprite = uIMananger.controllerButtons[12];
        }

        if (moveImg[3] != null)
        {
            moveImg[3].sprite = uIMananger.controllerButtons[13];
        }

        if (RunImg != null)
        {
            RunImg.sprite = uIMananger.controllerButtons[3];
        }

        if (jumpImg != null)
        {
            jumpImg.sprite = uIMananger.controllerButtons[0]; ;
        }

        if (mainAttackImg != null)
        {
            mainAttackImg.sprite = uIMananger.controllerButtons[2];
        }

        if (secondAttackImg != null)
        {
            secondAttackImg.sprite = uIMananger.controllerButtons[1];
        }   

        if (PauseImg != null)
        {
            PauseImg.sprite = uIMananger.controllerButtons[22];
        }

        if (SelectImg != null)
        {
            SelectImg.sprite = uIMananger.controllerButtons[23];
        }

        if (recenterCameraImg != null)
        {
            recenterCameraImg.sprite = uIMananger.controllerButtons[6];
        }

        if (showUiImg != null)
        {
            showUiImg.sprite = uIMananger.controllerButtons[5];
        }

        if (chaosTestImg != null)
        {
            chaosTestImg.sprite = uIMananger.controllerButtons[18];
        }

        if (firstPersonCameraImg != null)
        {
            firstPersonCameraImg.sprite = uIMananger.controllerButtons[8];
        }

        if (EnterImg != null)
        {
            EnterImg.sprite = uIMananger.controllerButtons[0];
        }

        if (BackImg != null)
        {
            BackImg.sprite = uIMananger.controllerButtons[1];
        }

    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM