开始代码前,我们要做点准备工作。

下面 跟着我做。

首先我 扣了一个 图。

这个是 做 水的资源,所以是动态的,我把其余两张也扣了出来。

看起来一样,不是,这样看肯定 看不出所以然,你们先放到u3d中。

然后可以在 右下角观看,这些我就不多说了,一般小白 都会。

接着,我们要切片,大家看到我已经把11 的图 切好了。

这个切图,我想 大家应该也会吧。按照上图这样切 正方形。

算了我还是说下吧,按照上图这样 。。。

这样做的目的就是把 图分成小块,老外用矩阵切图,咋工具高级,手动搞定。

下面我们要把 这些切好的图片,保存到 数组中。

之前我写过一个 保存代码。

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.Collections.Generic; public abstract class DirectionSprite : MonoBehaviour
{ public float Speed = 0.05f;
private Sprite m_Image;
private float m_delta = ;
[HideInInspector]
public int m_curFrame = ; [HideInInspector]
public bool open = true; //一个循环结束
public abstract void nextSprite();
private Sprite[,] dict; public void StartOpen(bool opens, string path)
{
open = opens;
if (open)
{
m_Image = gameObject.GetComponent<SpriteRenderer>().sprite; if (m_Image == null)
{
m_Image = gameObject.AddComponent<SpriteRenderer>().sprite;
} String_Int_Movie(path); show(m_curFrame); }
} public int row, col;
void String_Int_Movie(string path)
{
object[] objs = Resources.LoadAll(path); dict = new Sprite[row, col]; int i = ;
foreach (object obj in objs)
{
Sprite sp = obj as Sprite;
if (sp != null)
{
dict[i / col, i % col] = sp;
i++;
}
}
} public void UpdataSprite()
{
if (open)
{
m_delta += Time.deltaTime;
if (m_delta > Speed)
{
m_delta = ;
m_curFrame++;
show(m_curFrame);
}
}
}
//设置
public void angle_frame(int Angles, int m_curFrames)
{
Angle = Angles;
m_curFrame = m_curFrames;
} public int FrameCount
{
get
{
return dict.Length;
}
}
[HideInInspector]
public int Angle;
public void show(int frame)
{
if (frame >= col)
{
nextSprite();
frame = ;
m_curFrame = frame;
}
if (Angle < )
{
Angle = ;
}
if (Angle > row - )
{
Angle = row - ;
}
m_Image = dict[Angle, frame];
gameObject.GetComponent<SpriteRenderer>().sprite = m_Image;
}
}
using UnityEngine;
using System.Collections; public class DirectSprite : DirectionSprite { public int StartMovie;
public string path;
void Start()
{
open = true;
StartOpen(open, path);
} void Update()
{
if (StartMovie>)
{
UpdataSprite();
}
} //一个循环结束
public override void nextSprite()
{
StartMovie--;
open = true;
}
}

大致这么样子,回头我再 检查一下,有什么需要改动的地方。

做完以上,保存数据后,接下来的一章,我们开始 编写 核心的 代码。 下一篇再见

最新文章

  1. CUBRID学习笔记 48查询优化
  2. Android Afinal框架
  3. (转)android Fragments详解二:创建Fragment
  4. oracle 学习笔记--用户管理
  5. PM【terminal】
  6. pygame编写贪吃蛇
  7. [Android学习笔记]jackson库的使用
  8. Oracle练习
  9. uva 11354 - Bond(树链拆分)
  10. HDU 1754 I Hate It(线段树基础应用)
  11. jquery属性的相关js实现方法
  12. [刷题]算法竞赛入门经典(第2版) 4-7/UVa509 - RAID!
  13. Linux基础命令之总结一
  14. Hadoop集群环境安装
  15. 再议Python协程——从yield到asyncio
  16. bzoj2823[AHOI2012]信号塔
  17. js四则运算
  18. ResultHandler的用法
  19. 1.3.1、CDH 搭建Hadoop在安装之前(端口---Cloudera Manager和Cloudera Navigator使用的端口)
  20. Java编程的逻辑 (75) - 并发容器 - 基于SkipList的Map和Set

热门文章

  1. 如何安全退出已调用多个Activity的Application?
  2. 打开&quot;我的电脑&quot;等特殊文件夹ShellExecute
  3. 评测:VPS推荐digitalocean和Vultr和Linode
  4. 获取 Windows 任务栏 Rect
  5. amazeui 搜索 动态
  6. Openjudge-计算概论(A)-短信计费
  7. docker network
  8. Python基础篇-day2
  9. 复习TextView(查漏补缺)
  10. zencart低版本由php5.2.17升级PHP5.3环境下错误及解决方案