开始制作游戏,首先,我们要把游戏素材导入到项目中,我这里整理出来了一些项目中用到的图片音乐等素材,大家可以下载下来使用,或者自己从网上找其他好看的素材也可以。
植物大战僵尸素材
链接:https://pan.baidu.com/s/1TvT0HE54sEegErHjnWV6wg 提取码:1234
新建文件夹,导入游戏素材
在Project面板空白处右键 > Create > Folder > 命名Textures,把Button、Icon、UI、背景图、序列帧动画图片素材拖拽到Textures文件夹下
做一个序列帧动画
1、创建图片精灵
菜单栏:NGUI > Create > Sprite
2、创建图集
菜单栏:NGUI > Open > Atlas Maker > 选中所有图片 > Create > 选择在哪个文件夹下 > 改名字 > 保存
Atlas:图集
这里新建一个文件夹,用来存所有的图集
最后是这样的
3、把僵尸显示在Game面板上
UISprite组件:选择图集 > 选择精灵
4、方法一:用UISpriteAnimation组件实现序列帧动画
在精灵对象上添加UISpriteAnimation组件,选中精灵 > 属性面板中下方Add Component > 搜索UISpriteAnimation > 点击UISpriteAnimation
(1)Framerate属性:每秒钟切换多少张图片
(2)Name Prefix属性:名称前缀,只播放包含输入内容的图片,如果不写则播放图集中所有的图片
(3)Loop属性:是否循环
(4)Pixel Snap属性:调整自适应大小
点击运行,就可以看到僵尸在行走了
5、方法二:用代码实现序列帧动画
上面已经说过了,NGUI已经写好了部分功能,其中就包括序列帧动画,但是如果大家以后不用NGUI,那么就没有这个组件,大家就要会自己用代码实现,现在我们就来自己写一个代码实现序列帧动画。
创建脚本,并挂载在僵尸精灵上
Script:脚本
挂载脚本:选中对象,将脚本拖拽到属性面板下方空白处
新建一个文件夹Scripts,用来存放所有的脚本,选中文件夹右键 > Create > C# Script > 起名My_SpriteAnimation > 把脚本挂载在精灵上(记得把之前的UISpriteAnimation组件删除掉)
代码:
using UnityEngine;
using System.Collections;
public class My_SpriteAnimation : MonoBehaviour
{
UISprite zombie;
int index = 0;
float time;
public float interval = 0.1f;
public bool loop = true;
void Start ()
{
zombie = this.GetComponent<UISprite>();
}
void Update ()
{
time += Time.deltaTime;
if (time > interval)
{
//获取zombie对象的图册中的精灵图列表中的图片名称
zombie.spriteName = zombie.atlas.spriteList[index].name;
index++;
if (index > zombie.atlas.spriteList.Count - 1)
{
if (loop)
{
index = 0;
}
else
{
index = zombie.atlas.spriteList.Count - 1;
}
}
time = 0;
}
}
}
点击运行,查看效果,这样,我们就用了两种方式完成了序列帧动画,后面僵尸的行走、吃、死亡,植物默认、攻击等动画都用这样的序列帧动画来完成,是不是恍然大明白感觉自己已经完成游戏的一大部分了,哈哈哈…