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

下面 跟着我做。

首先我 扣了一个 图。

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

看起来一样,不是,这样看肯定 看不出所以然,你们先放到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;
}
}

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

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

AutoTile 自动拼接(二) 学习与实践的更多相关文章

  1. AutoTile 自动拼接(一) 学习与实践

    恩,大家好,这两天江苏冷空气袭击,下了今年 第一场第二场雪. 不过今天我要说的 ,和 上面的 屁关系都没有. 今天要说的是 2d无缝自动拼接.大家有没有玩过  RPG Maker VX Ace. 类似 ...

  2. AutoTile 自动拼接(五) 学习与实践

    今天不讲 权值检索,考虑到后期 自动拼接 做出来 更好玩,操作更方便.所以 今天我 补充一节, 网格计算与操作. 具体就是这么个效果,和地图编辑器一样,不过图块还是没有自然的拼接,这个一定一定是 下一 ...

  3. AutoTile 自动拼接(六 大结局) 学习与实践

    昨天在网上找了一些资源图片,这回就不用担心 背景资源不多的问题了,现在我一边 制作,一边发布文章. 各种各样,500多个,这里还是特别感谢 ,万恶的资本主义,不设密码就给我分享. 在制作前,大家看下这 ...

  4. AutoTile 自动拼接(四) 学习与实践

    今天主要来说下,数据绑定. 之前第一章,我说到 把 资源图 画成格子,你们应该还有印象吧. 那么,当我 知道 格子数据,能否拿到 资源对应的图片呢? 大家先复习一下 第一章,发现很多格子数据 是相同的 ...

  5. AutoTile 自动拼接(三) 学习与实践

    今天把 图像数据保存完善了一下.天冷,没打多少字,见谅. 接着昨天说的,首先我们打开u3d,做一个空物体gameobject,然后做几个sprite,如下图所示 上面的sprite 排成四个 正方形. ...

  6. AutoTile 自动拼接 番外篇(自动融合技术)

    http://pan.baidu.com/s/1dDQyfSl 密码:ttud 先睹为快吧. 之后 还差一个 智能替换 技术.

  7. NLP+词法系列(二)︱中文分词技术简述、深度学习分词实践(CIPS2016、超多案例)

    摘录自:CIPS2016 中文信息处理报告<第一章 词法和句法分析研究进展.现状及趋势>P4 CIPS2016 中文信息处理报告下载链接:http://cips-upload.bj.bce ...

  8. hadoop2.5.2学习及实践笔记(二)—— 编译源代码及导入源码至eclipse

    生产环境中hadoop一般会选择64位版本,官方下载的hadoop安装包中的native库是32位的,因此运行64位版本时,需要自己编译64位的native库,并替换掉自带native库. 源码包下的 ...

  9. 2018-2019-2 20165215《网络对抗技术》Exp10 Final Windows本地内核提权+Exploit-Exercises Nebula学习与实践

    目录 PART ONE :Windows本地内核提权 漏洞概述 漏洞原理 漏洞复现 windbg调试本地内核 查看SSDT表和SSDTShadow表 查看窗口站结构体信息 利用Poc验证漏洞 漏洞利用 ...

随机推荐

  1. 深入JVM锁机制2-Lock

    前文(深入JVM锁机制-synchronized)分析了JVM中的synchronized实现,本文继续分析JVM中的另一种锁Lock的实现.与synchronized不同的是,Lock完全用Java ...

  2. 关于开启url的pathinfo模式

    1.apache要开启pathinfo模式,需要在 <Directory /> Options +Indexes +FollowSymLinks +ExecCGI AllowOverrid ...

  3. 判断手机电脑微信 js

    if ((navigator.userAgent.match(/(MicroMessenger)/i))) { //微信浏览器 //location.href=""; } else ...

  4. 使用Apache + mod_jk + tomcat来实现tomcat集群的负载均衡出现的无法加载mod_jk.conf文件的问题

    用Apache + mod_jk + tomcat来实现tomcat集群的负载均衡的 如果出现了问题,可以用cmd  cd到Apache安装文件的bin下,运行httpd文件,错误信息就会打印出来. ...

  5. urllib2 之info 学习

    之前介绍了根据old_url获取真实url的geturl的方法,而根据urlopen返回的应答对象的info方法可以获取服务器发送头部headers的内容,并且通过字典形式反馈出来,同样测试代码如下: ...

  6. 在block函数中规避错误信息 "capturing self strongly in this block is likely to lead to a retain cycle”

    以形如 _fontValueChangedBlock = ^(){ [self.fontSmallButton addTarget:self action:@selector(btnFontSmall ...

  7. 正则表达式 替换 <img > 标签

    /** * 正则表达式过滤<img > 标签 * @param str * @return */ public static String cutOutImgPrefix(String s ...

  8. NSTimer 销毁问题 和 iOS中控制器的释放问题

    俗话说的好,前人栽树后人乘凉,最近看了很多博文,不少博文提到了NSTimer的销毁问题, 之前我都没怎么注意,现在对照着文章一一实践发现坑还真不少.下面是我读到的几篇博文分享给大家 @啸笑天的NSTi ...

  9. while循环与i--

    int i = 5;         while(i-- > 0){             System.out.println("i="+i);         } 打印 ...

  10. Android Studio 项目结构

    在Android Studio中创建项目后,会出现 activity_main.xml 和 MainActivity.java 两个文件 其中  Java文件定义了一个Activity,当应用运行时, ...