Skip to main content
ARShow
ARShow
 首页 » 资源教程 » Unity3D教程

【知识摘录】Unity3D保存游戏图片

2016年09月20日 20:55:5810320蛮牛网

 游戏中的截屏功能是很常见的,诚然今天小编为大家分享一下如何简单做到让游戏带上截屏保存图片的功能。

【知识摘录】Unity3D保存游戏图片 Unity3D教程 第1张

   1.新建一个unity3d项目、一个Test.unity场景,然后场景中新建一个GameObject【CaptureScreen】,并且附加一个CaptureScreenBehaviour.cs组件类。

【知识摘录】Unity3D保存游戏图片 Unity3D教程 第2张

   2.设置 键盘的“P”键为截屏键,然后就附上CaptureScreenBehaviour.cs核心代码哈

【知识摘录】Unity3D保存游戏图片 Unity3D教程 第3张

!

[C#] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

using UnityEngine;

using System.Collections;

public class CaptureScreenBehaviour : MonoBehaviour

{

    //当前截屏的图片名称

    private string _curPNGName= "Screenshot.png";

    //截屏后图片存放的路径

    private string _curPNGPath = "";

    private bool _isCaptureScreen=false;

    public Material Image;

    public GameObject HideOriImage;

        // Update is called once per frame

        void Update ()

    {

        //设置键盘 P

        if (Input.GetKeyDown(KeyCode.P) && !_isCaptureScreen)

        {

            _isCaptureScreen = true;

            CaptureScreening();

            if (HideOriImage)

                HideOriImage.SetActive(false);

            StartCoroutine(ShowCaptureScreenPicCor());

        }

    }

    /// <summary>

    /// 截屏的方法

    /// </summary>

    void CaptureScreening()

    {

        //Unity:API https://docs.unity3d.com/ScriptReference/Application.CaptureScreenshot.html

        Application.CaptureScreenshot(_curPNGName);

    }

    /// <summary>

    /// 显示截屏的图片 这里只是简单演示一下

    /// </summary>

    /// <returns></returns>

    IEnumerator ShowCaptureScreenPicCor()

    {

        //在PC端的路径获取:Application.dataPath。 移动的平台例如Android:Application.persistentDataPath

        _curPNGPath = Application.dataPath;

        _curPNGPath = _curPNGPath.Replace("/Assets"null);

        _curPNGPath = "file://"+_curPNGPath + "/"+_curPNGName;

        WWW w = new WWW(_curPNGPath);

        yield return w;

        Image.mainTexture = w.texture;

        Image.color = Color.green;

        _isCaptureScreen = false;

        HideOriImage.SetActive(true);

    }

}

       3.最后直接在编辑器中运行项目,然后我们会发现在项目根目录下面会有一张Screenshot.png图片,如图下所示:

【知识摘录】Unity3D保存游戏图片 Unity3D教程 第4张

【知识摘录】Unity3D保存游戏图片 Unity3D教程 第5张

评论列表暂无评论
发表评论