关于在unity中使用序列帧动画

 //动画数组
    public object[] anim;
    //限制一秒多少帧
    public float fps = 30;
    //帧序列
    private int nowFram;
    //记录当前时间
    private float switchTime;
    public string path = "Texture/33";

    public bool isLoop = false;

    public Image image;

    public Texture2D texture;
    void Awake()
    {

       anim = Resources.LoadAll(path);
    }

    void Update()
    {

        if (anim == null)
        {
            anim = Resources.LoadAll(path);
        }
       DrawAnimation(anim);
    }

    void DrawAnimation(object[] tx)
    {
        switchTime += Time.deltaTime;
        if (switchTime >= 1.0 / fps)
        {

            nowFram++;
            switchTime = 0;
            if (nowFram >= tx.Length)
            {
                if (isLoop)

                    nowFram = 0;
                else
                    return;
            }
        }
        if (nowFram < tx.Length)
        {
            texture = (Texture2D)tx[nowFram];
           Sprite sp = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
            image.sprite = sp;
        }

    }

如果在运行时,出现报错,说是类型无法转换的错误的话。可能是你把图片类型转换成sprite了。我们在unity中在把塔转换成texture格式在运行就不会报错了。

时间: 2024-11-08 08:55:11

关于在unity中使用序列帧动画的相关文章

Unity3D中播放序列帧动画

[狗刨学习网] class FrameAnimation { private float fps = 10.0f; private Rect drawPos; private float time = 0; private int currentIndex = 0; public void DrawFrameAnimation(Texture[] frameTex) { int length = frameTex.Length; GUI.DrawTexture(drawPos, frameTex

Unity NGUI实现序列帧动画播放

如题,要实现序列帧的播放导入图片的时候需要注意: (1)图片的命名要连续,如图: (2)将这些图片在NGUI中打包成Altas图集的时候图片应该在同一个Altas中: 这里以播放特效为例,满足条件时播放特效,不满足条件时不播放特效.接下来可以创建一个Sprite,然后用代码控制序列帧特效的播放和停止: 播放: if (something == false) { this._power_effect_sprite.GetComponent<UISprite>().enabled = true;

Unity Shader播放序列帧动画

1 Shader "LordShader/AnimateSprite" { 2 Properties { 3 _MainTint ("Diffuse Color", Color) = (1,1,1,1) //颜色属性,可以在u3d inspector面板控制该变量 4 _MainTex("Base (RGB)",2D) = "white" {} //贴图 5 _TexWidth("Sheet Width",

关于Unity中的帧动画

一.帧动画 1: 美术准备好一个连续动作的离散图片;2: 程序在准确的时间来切换这个图片;3: 优点: 简单,速度快; 缺点:资源占用相对过大; 二.frame_anim组件编写 1: 代码里面强制要求加入Image组件;[RequireComponent(typeof(Image))]2: 帧动画的参数: (1) Sprite数组; (2) 间隔时间; (3) 是否循环播放; (4) 是否在加载的时候播放;3: 根据时间让Image组件显示正确的帧; 三 .实例步骤

Unity 4.0 中的新动画系统——MecAnim

分享一个文档资料,关于动画系统的,版本应该很老了,但是有借鉴意义的: Unity 4.0 已于 2012 年 11 月 15 日正式发布,Unity 每一次版本的提升,都给游戏开发者带来惊喜,这一次也不例外,该版本最大变化之一就是引入了新动画系统--MecAnim,通过 MecAnim 新的动画系统,开发者在 Unity 中可以非常方便地实现角色动画.所以 Unity 4.0 的启动画面都突出了新的动画系统这一最新功能  . 这里需要说明的是,在 Unity 4.0 中,开发者还是可以使用原有的

unity shader序列帧动画代码,顺便吐槽一下unity shader系统

http://www.cnblogs.com/hellohuan/archive/2014/01/10/3512784.html 一.看到UNITY论坛里有些人求unity shader序列帧动画,写shader我擅长啊,就顺势写了个CG的shader.代码很简单,就是变换UV采样序列帧贴图,美术配置行数列数以及变换速度. Shader "HELLOHUAN/Hello_Sequence" { Properties { _Color ("Main Color", C

高速上手Unity中最好的补间动画插件DFTween

?? 出处:http://blog.csdn.net/u010019717 author:孙广东      时间:2015.3.17   23:00 DFTween 是一个在 Unity 游戏引擎中高速和easy使用的animation动画库. 它支持不论什么对象的tweening补间的属性, 并能够轻松地进行工作与您自己自己定义数据类型.API 非常简单可是功能非常强大,使其易于创建复杂的tweens补间和sequences序列.它已被优化从优秀性能.同一时候具有低内存和低CPU 要求. ·高

快速上手Unity中最好的补间动画插件DFTween

?? 出处:http://blog.csdn.net/u010019717 author:孙广东      时间:2015.3.17   23:00 DFTween 是一个在 Unity 游戏引擎中快速和容易使用的animation动画库.它支持任何对象的tweening补间的属性, 并可以轻松地进行工作与您自己自定义数据类型.API 很简单但是功能非常强大,使其易于创建复杂的tweens补间和sequences序列.它已被优化从优秀性能,同时具有低内存和低CPU 要求. ·快速 查阅在线演示,

Unity中开场动画设置(二)

上一篇文章中对Unity中视频的播放设置是在PC端配置的 经过测试后发现并不能在手机端运行 因为在移动设备上我们需要使用另一种方式来播放视频 注意: 在移动端,unity并不提供MovieTexture,AVPro QuickTime也用不了,其最基本的显示方案使用通过 PlayFullScreenMovie ()函数进行全屏播放,根据其官网解释,主要有以下方面: (1)视频流直接从设备存储器中获得,所以文件只能是单独提供,视频文件放置在StreamingAssets 文件夹中 (2) 视频播放