1. 程式人生 > >Unity學習——簡單的順序迴圈播放和截圖儲存功能實現

Unity學習——簡單的順序迴圈播放和截圖儲存功能實現

一:功能簡單介紹

1,在功能實現中,會遇到想順序迴圈使用一個數組的東西,如果到了陣列最後一個後卻不知道怎麼寫程式碼讓其再次從第一個開始 2,各種軟體都會有截圖功能,本篇簡單記錄寫我自己曾遇到的難點,不喜勿噴!

二:簡單的順序迴圈陣列內元素

這裡以順序迴圈天空盒為例子來寫的程式碼

public List<Material>  skybox;    //背景天空盒陣列
private int numCount = 0;  //用於統計每次輸出的數,方便觀察
public void ChangeBackGround()
    {
        numCount++;
        if (numCount > skybox.Count-1)
        {
            numCount = 0;
        }

       RenderSettings.skybox = skybox[numCount];
    }

三:截圖

public void CutPhotos()
{
    ShuiYin.SetActive(true);
    for (int i = 0; i < button.Length; i++)
    {
        button[i].SetActive(false);
    }
    ###上面三行是在截圖之前實現新增水印的功能,(可以忽略掉,有需要的可以使用),下面才是截圖
    
    SaveFileDlg pth = new SaveFileDlg();
    pth.structSize   = Marshal.SizeOf(pth);
    pth.filter       = "Image Files(*.JPG;*.BMP;*.PNG)|*.JPG;*.BMP;*.PNG|All files (*.*)|*.*";
    pth.file         = new string(new char[256]);
    pth.maxFile      = pth.file.Length;
    pth.fileTitle    = new string(new char[64]);
    pth.maxFileTitle = pth.fileTitle.Length;
    pth.initialDir   = Application.dataPath.Replace('/', '\\'); // 預設路徑
    pth.title        = "儲存截圖";
    pth.flags        = 0x00080000 | 0x00001000 | 0x00000800 | 0x00000200 | 0x00000008;
    if (SaveFileDialogs.GetSaveFileName(pth))
    {
        string path = pth.file + ".JPG";
        ScreenCapture.CaptureScreenshot(path);
    }

    StartCoroutine(JiHuoUi()); 這個攜程是新增水印功能實現(忽略掉)
}

四:功能實現結束

這是兩個方法,分別掛在每個對應的按鈕上實現的,根據自己需求去實現吧

本人初學,都是最基本的,善於交流,不斷成長,如果你有好的實現方式多多分享噢 如果哪裡不好,請大神多多指教

五:支援

伺服器總有一天你會需要,詳細的伺服器教程盡在 Jacob 部落格,點點下方連結,輕鬆馬上學會! 阿里雲Esc全解和建站方法--------------------------------------- 伺服器建站