简单的顺序循环播放和截图保存功能实现
一:功能简单介绍
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全解和建站方法--------------------------------------- 服务器建站