Unity3D_Quad_实现播放序列帧

//最近看了FlappyBird  看小鸟飞的方式不错 这里来写写看 :)

那么,开始吧~

首先我们需要一个包含小鸟飞行的序列帧图片:

酱紫:

可以看到这里有3帧动画 我们循环切换这3帧动画  就可以使小鸟动起来

我们导入这个贴图   制作Material 将贴图赋值给这个材质:

Shader 选择Unlit/Transparent 透明材质  下面说下Tiling  Offset参数 (自己动手调下就明白)

Tiliing x 代表在X方向上 显示的百分比  Offse  x 代表x方向上起始位置的偏移量

本序列帧中有3帧   所以每次播放的是都是1/3  约为0.3333 要使小鸟动起来  现在就是要写脚本控制每次的位移量

0:位移0  1:位移0.3333  2:位移0.6666   3:位移0  4:位移0.3333  5:位移0.6666   ......

编写脚本;首先 我们需要定义1s内播放的帧数  暂定10次  也就是说每一帧播放需要的时间是1/10s

再者 需要判断当前时间 到底该播放哪一帧

这里需要分清小鸟一帧  和Update()函数里的帧   这是两个不同的概念

时间: 2024-10-13 16:56:59

Unity3D_Quad_实现播放序列帧的相关文章

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的 UI2DSpriteAnimation 脚本,里面有很多不错的思想,这里只是做了一些修修补补的工作. 只需要将这个脚本挂载到任意游戏物体上,animImage变量为要播放序列帧的UGUI Image OK,上脚本 using UnityEngine; using UnityEngine.UI; /// <summary> /// 播放2D序列帧

quick cocos2dx 播放序列帧动画的实现

本帖基于quick cocos2dx2.2.6版本. 序列帧动画:顾名思义就是在一定的时间内播放多张图片. 基本原理非常简单,在一个固定的位置1秒时间内轮询播放有限数量的不同图片.比如1秒中播放24张图(FPS=24) 在quick引擎中可以通过framwork中的transition.lua文件中得transition.playAnimationForever(target, animation, delay)接口来实现动画的播放,其源码如下: function transition.play

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",

UIImage播放序列帧

NSMutableArray *images = [NSMutableArray array]; for (int i = 0; i<count ; i ++) { NSString *imageName = [NSString stringWithFormat:@"%@_%02d.jpg",action,i]; NSString *path = [[NSBundle mainBundle] pathForResource:imageName ofType:nil]; // NS

Cocos2d-x动画播放(序列帧)

简介 Cocos2d-x中,动画的具体内容是依靠精灵显示出来的,为了显示动态图片,我们需要不停切换精灵显示的内容,通过把静态的精灵变为动画播放器从而实现动画效果.动画由帧组成,每一帧都是一个纹理,我们可以使用一个纹理序列来创建动画. 我们使用Animation类描述一个动画,而精灵显示动画的动作则是一个Animate对象.动画动作Animate是精灵显示动画的动作,动画与动画动作的关系如同CD光盘与CD播放机的关系,前者记录了动画的内容,后者是播放动画的工具,它由一个动画对象创建,并由精灵执行.

Unity自定义组件之序列帧播放组件

我们知道在unity中播放序列帧动画有两种方式,第一种是利用Unity自带的animation组件来播放,我们只需要在工程目录中全选选中所有我们需要播放的图片,将其拖动到Hiercarchy上,Unity就会帮我们自动创建一个animation片段,我们就可以用animation组件来控制我们的动画,不过这种方式创建的图片Sprite Renderer类型的.第二种方式就是创建一个Image组件,利用代码创建一个sprite,写一段代码利用Update函数来逐帧替换Image的sprite来实现

[Cocos2d-x v3.x]序列帧动画

简介 Cocos2d-x中,动画的具体内容是依靠精灵显示出来的,为了显示动态图片,我们需要不停切换精灵显示的内容,通过把静态的精灵变为动画播放器从而实现动画效果.动画由帧组成,每一帧都是一个纹理,我们可以使用一个纹理序列来创建动画. 我们使用Animation类描述一个动画,而精灵显示动画的动作则是一个Animate对象.动画动作Animate是精灵显示动画的动作,它由一个动画对象创建,并由精灵执行. 创建方法 - 手动添加序列帧到Animation类 - 使用文件初始化Animation类 手

cocos2d-x学习笔记(二)序列帧动画实现的几种方法

一.cocos2d-x帮助文档中关于动画帧动画的实现有两种方法: 手动添加序列帧到Animation类 使用文件初始化Animation类 这里我就不列出来,大家可以看下官方文档 http://www.cocos.com/doc/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/framework/native/v3/frame-animation/zh.md 二.有些时候我们需要从plist取出指定的几个图片(而不是全