AutoTile 自动拼接(二) 学习与实践
开始代码前,我们要做点准备工作。
下面 跟着我做。
首先我 扣了一个 图。
这个是 做 水的资源,所以是动态的,我把其余两张也扣了出来。
看起来一样,不是,这样看肯定 看不出所以然,你们先放到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 自动拼接(二) 学习与实践的更多相关文章
- AutoTile 自动拼接(一) 学习与实践
恩,大家好,这两天江苏冷空气袭击,下了今年 第一场第二场雪. 不过今天我要说的 ,和 上面的 屁关系都没有. 今天要说的是 2d无缝自动拼接.大家有没有玩过 RPG Maker VX Ace. 类似 ...
- AutoTile 自动拼接(五) 学习与实践
今天不讲 权值检索,考虑到后期 自动拼接 做出来 更好玩,操作更方便.所以 今天我 补充一节, 网格计算与操作. 具体就是这么个效果,和地图编辑器一样,不过图块还是没有自然的拼接,这个一定一定是 下一 ...
- AutoTile 自动拼接(六 大结局) 学习与实践
昨天在网上找了一些资源图片,这回就不用担心 背景资源不多的问题了,现在我一边 制作,一边发布文章. 各种各样,500多个,这里还是特别感谢 ,万恶的资本主义,不设密码就给我分享. 在制作前,大家看下这 ...
- AutoTile 自动拼接(四) 学习与实践
今天主要来说下,数据绑定. 之前第一章,我说到 把 资源图 画成格子,你们应该还有印象吧. 那么,当我 知道 格子数据,能否拿到 资源对应的图片呢? 大家先复习一下 第一章,发现很多格子数据 是相同的 ...
- AutoTile 自动拼接(三) 学习与实践
今天把 图像数据保存完善了一下.天冷,没打多少字,见谅. 接着昨天说的,首先我们打开u3d,做一个空物体gameobject,然后做几个sprite,如下图所示 上面的sprite 排成四个 正方形. ...
- AutoTile 自动拼接 番外篇(自动融合技术)
http://pan.baidu.com/s/1dDQyfSl 密码:ttud 先睹为快吧. 之后 还差一个 智能替换 技术.
- NLP+词法系列(二)︱中文分词技术简述、深度学习分词实践(CIPS2016、超多案例)
摘录自:CIPS2016 中文信息处理报告<第一章 词法和句法分析研究进展.现状及趋势>P4 CIPS2016 中文信息处理报告下载链接:http://cips-upload.bj.bce ...
- hadoop2.5.2学习及实践笔记(二)—— 编译源代码及导入源码至eclipse
生产环境中hadoop一般会选择64位版本,官方下载的hadoop安装包中的native库是32位的,因此运行64位版本时,需要自己编译64位的native库,并替换掉自带native库. 源码包下的 ...
- 2018-2019-2 20165215《网络对抗技术》Exp10 Final Windows本地内核提权+Exploit-Exercises Nebula学习与实践
目录 PART ONE :Windows本地内核提权 漏洞概述 漏洞原理 漏洞复现 windbg调试本地内核 查看SSDT表和SSDTShadow表 查看窗口站结构体信息 利用Poc验证漏洞 漏洞利用 ...
随机推荐
- erlang四大behaviour之四-supervisor
http://www.cnblogs.com/puputu/articles/1689621.html 1. 监督规则 一个监督者负责启动.停止.监控他的子进程.监督者的一个基本概念就是当必要的时候重 ...
- css样式表及属性
CSS(Cascading Style Sheet,叠层样式表),作用是美化HTML网页. /*注释区域*/ 此为注释语法 一.样式表 (一)样式表的分类 1.内联样式表 和HTML联合显示,控 ...
- ADO.NET 学生管理
今天,我主要是对前面所做的学生管理系统加以完善. 通过今天的学习,我了解到了,在做程序时,一定要充分的为用户考虑.能用下拉列表让用户选择的,就不要让他们手动输入,能少输入的就少输入.在程序中,应尽可能 ...
- Dash:程序员的好帮手
Dash 关于Dash是什么.有哪些功能以及该怎么使用,我想直接引用咖啡 生活 美女蛇,这位小伙伴整理的很详细,我这里只说一下Dash的破解方法. 破解 破解补丁下载:Dash3.x_Cracked ...
- Redis简介四
一..NET使用Redis 和MongoDB一样,在.NET中使用Redis其实也是使用第三方驱动,官网推荐的是使用ServiceStack.Redis(https://github.com/Serv ...
- WIN2003 设置 OPENVPN 服务端
服务器端 安装openvpn 在这里http://swupdate.openvpn.org/community/releases/openvpn-install-2.3.4-I004-i686.exe ...
- git的理念
一个很好的git教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 1 集中式 ...
- insertRule()与addRule()创建规则
要向现有的样式表中添加新规则,需要使用insertRule()方法.这个方法接受两个参数:规则文本和表示在那里插入规则的索引.下面是一个例子: sheet.insertRule("body ...
- C#在Json反序列化中处理键的特殊字符
假设有如下Json 数据: 1.{ 2."id" : 1, 3."@value" : "this a @", 4."$p" ...
- 导航条css实现和table实现
导航条式样 <style type="text/css"> ul,li{ margin:0; padding:0; list-style:none; } #navtop ...