unity3d使用脚本保存屏幕截图

using UnityEngine;
using System.Collections;
using System.IO;

public class FrameAnimation : MonoBehaviour {
    public Texture2D image;
    public int w;
    public int h;
    public float nextTime = 0.0f;
    public float rate = 0.3f;
    int i = 0;
    // Use this for initialization
    void Start () {
        w = Screen.width;
        h = Screen.height;
        image = new Texture2D(w, h);
    }

    // Update is called once per frame
    void Update () {
        if (Input.GetMouseButton(0) && Time.time > nextTime)
        {
            nextTime = Time.time + rate;
            i++;
            StartCoroutine(SaveImage(i));
        }
    }

    IEnumerator SaveImage(int i)
    {
        yield return new WaitForEndOfFrame();
        image.ReadPixels(new Rect(0, 0, w, h), 0, 0, true);//read pixels from screen to texture
        image.Apply();
        byte[] bytes = image.EncodeToPNG();
        File.WriteAllBytes(Application.streamingAssetsPath + "/" + i + ".png", bytes);
        Debug.Log("write a pic");
        yield return null;
    }
}
时间: 2024-10-11 19:54:29

unity3d使用脚本保存屏幕截图的相关文章

(转)unity3d中脚本生命周期(MonoBehaviour lifecycle)

自:http://blog.csdn.net/qitian67/article/details/18516503 最近在做一个小示例,发现类继承于MonoBehaviour的类,有很多个方法,于是乎必然要问出一个问题:这么多个方法,执行先后顺序是如何的呢?内部是如何进行管理的呢?于是在网上找了许多资料,发现了Richard Fine在2012年就已经发布了一篇文章,而且讲得算是相当深入,并且很有道理的,这里加上我的一些尝试与思考,分享给大家. 先贴上图,大家有个直观认识: 接下来,做出一下讲解:

【转】Unity3D中脚本的执行顺序和编译顺序

支持原文,原文请戳: Unity3D中脚本的执行顺序和编译顺序 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与脚本有关的也就是编译和执行啦,本文就来研究一下Unity中脚本的编译和执行顺序的问题. 事件函数的执行顺序 先说一下执行顺序吧. 官方给出的脚本中事件函数的执行顺序如下图:  我们可以做一个小实验来测试一下: 在Hierarchy视图中创建三个游戏对象,在Project视图中创建三条脚本,如下图所示,然后按照顺序将脚本绑定到对

Unity3D 中脚本执行的先后顺序

Unity3D本身自带有控制脚本执行先后顺序的方法: Edit ---> Project Settings ---> Script Execution Order  ---> 值越小脚本会越先被执行 Unity3D 中脚本执行的先后顺序,码迷,mamicode.com

U3D——Unity3D的脚本-script入门

 Unity3D的基本操作很容易就能掌握了,接下来就是游戏系统的核心部分:脚本. 什么是Script(脚本)?简而言之,就是使用代码来执行一系列动作命令的特殊文本,它需要编译器来从新解读.U3D内部如何解读脚本,这不是我们所要关心的-这是引擎开发人员的活,我们所要知道的就是脚本的使用规则. [三种语言的特点] U3D支持C#,JavaScript,BOO三种语言格式的代码编写.首先来简单介绍下这三种语言的特点: 对U3D来说,这是入门级的脚本语言,U3D内置的函数都能通过JS方便的调用.语法

PowerShell脚本保存密码

当使用批处理或VBS脚本访问远程计算机的时候,我们可以直接将其用户名和密码写入到脚本中,但是在PowerShell中,则不允许直接将密码写入其中,这虽然在很大程度上提高了脚本的安全性,但有时候却也给我们带来了一些麻烦. 如果我们要获取计算机(192.168.12.6)的系统信息,则需要使用Get-Credential命令来提供凭据(用户名+密码),可以先将凭据保存到一个变量中,如 $a = get-credential 回车后则弹出窗口要求输入用户名和密码,输入完成后,则会保存在变量$a中,然后

Unity3D 之脚本架构,优雅地管理你的代码

本文参考雨松MOMO大神的帖子: 图片全部来自他的帖子(请允许我偷懒下) ------------------------------------------------------------------------ 写代码,我相信大家都会,但我看过不少网上的源代码,发现很多人代码写得很随意, 想到什么写什么,没有个固定的框架,代码乱,高耦合,不仅看起来不舒服,以后要维护也非常困难, 而且还容易出现一直莫名其妙的BUG. 呐,本人有点小洁癖,有点强迫症,虽然我还只是个菜鸟,但我却非常在意代码的

【转】Unity3D中脚本的执行顺序和编译顺序(vs工程引用关系)

http://www.cnblogs.com/champ/p/execorder.html 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与脚本有关的也就是编译和执行啦,本文就来研究一下Unity中脚本的编译和执行顺序的问题. 事件函数的执行顺序 先说一下执行顺序吧. 官方给出的脚本中事件函数的执行顺序如下图:  我们可以做一个小实验来测试一下: 在Hierarchy视图中创建三个游戏对象,在Project视图中创建三条脚本,如下图所示

(转)Unity3D中脚本的执行顺序和编译顺序(vs工程引用关系)

自:http://www.cnblogs.com/champ/p/execorder.html 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与脚本有关的也就是编译和执行啦,本文就来研究一下Unity中脚本的编译和执行顺序的问题. 事件函数的执行顺序 先说一下执行顺序吧. 官方给出的脚本中事件函数的执行顺序如下图:  我们可以做一个小实验来测试一下: 在Hierarchy视图中创建三个游戏对象,在Project视图中创建三条脚本,如下图

Unity3d动画脚本 Animation Scripting

[狗刨学习网] 也许这一篇文章的内容有点枯燥,但我要说的是如果你想深入的了解游戏引擎是如何处理动画片断或者素材并 让玩家操控的角色动起来栩栩如生. 动画脚本 Animation Scripting Unity's 动画系统允许你创建一个漂亮的动画蒙皮角色. 动画系统支持动画融合,混合,添加动画,步调周期时间同步.动画层.控制动画回放的所有方面(时间,速度,混合权重) 每个顶点有1.2.4个骨骼影响的mesh,基于物理系统的布娃娃系统,另外还有程序动画.为了获得最佳效果推荐您在制作模型和动画绑定前