在unity的sprite中贴图的方法如下:
在SpriteAnimatorcs脚本中添加代码
using UnityEngine;
using SystemCollections;
/// Sprite 动画播放器
public class SpriteAnimator : MonoBehaviour {
/// Sprite渲染器
protected SpriteRenderer m_sprite;
/// Sprite动画帧
protected Sprite[] m_clips;
/// 动画计时器(默认每隔01秒更新一帧)
protected float timer = 01f;
/// 贴图文件名前缀
public string m_sprite_name = "player00";
/// 贴图文件起始帧数字
public int m_start_frame = 0;
/// 动画的帧数
public int m_frame_count =8;
/// 跳帧数量
public int m_offset_frame = 4;
/// 当前的帧数
protected int m_frame = 0;
}
SpriteRenderer是Sprite的渲染器,只有通过它才能在屏幕上显示出Sprite的图像。
m_clips是一个Sprite数组,用来保存动画所需要的Sprite。
在这个例子中,我们使用的动画贴图文件命名都采用数字后缀,表示动画帧,并且跳帧,如“player0016,player0020,player0024……”。m_start_frame表示第一帧的数字,在这个例子中是指16, m_offset_frame表示跳帧,在这个例子中是指4。出现跳帧数字是因为这些图像都是通过3D软件渲染而成,在渲染的时候进行了跳帧设置,否则这个动画需要几十张来表现。
void Start () {
// 初始化动画帧数组
m_clips = new Sprite[m_frame_count];
for (int i = 0; i < m_frame_count; i++)
{
// 当前帧
int currentframe = m_start_frame + i m_offset_frame;
// 计算贴图名称
string spritename = stringFormat(m_sprite_name + "{0:D2}", currentframe);
// 从Resources目录读取贴图
Texture2D texture = (Texture2D)ResourcesLoad(spritename);
// 由贴图创建出Sprite
m_clips[i] = SpriteCreate(texture,
new Rect(0, 0, texturewidth, textureheight),
new Vector2(05f, 02f));
}
// 为当前GameObject添加一个Sprite渲染器
m_sprite = thisgameObjectAddComponent<SpriteRenderer>();
// 设置第1帧的Sprite
m_spritesprite = m_clips[m_frame];
}
5导出之后会遇到切割位置信息不对,这时候需要用tpsheet中的数据设置一次。
8最后找到TMP Settings 配置文件,将新生成的Sprite Asset 设置为默认。
9直接设置名字就可以生效。
"You must earn 1 <sprite name="currency_diamond_big"/> character if you recruit 10 times"
以上就是关于如何在unity的sprite中贴图全部的内容,包括:如何在unity的sprite中贴图、Unity 图文混排 生成SpriteAsset、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)