❤️❤️❤️Unity废柴看过来,手把手教你做植物大战僵尸(二)—— 序列帧动画

这篇博客介绍了如何使用Unity制作植物大战僵尸游戏中的序列帧动画。首先,博主分享了游戏素材的下载链接,并指导新建文件夹导入素材。接着,通过创建图片精灵、图集和图集管理器,详细展示了使用NGUI的UISpriteAnimation组件以及编写脚本两种方法来实现僵尸的行走动画。教程适合Unity新手学习。
摘要由CSDN通过智能技术生成

开始制作游戏,首先,我们要把游戏素材导入到项目中,我这里整理出来了一些项目中用到的图片音乐等素材,大家可以下载下来使用,或者自己从网上找其他好看的素材也可以。

植物大战僵尸素材
链接: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;
        }
    }
}
   

点击运行,查看效果,这样,我们就用了两种方式完成了序列帧动画,后面僵尸的行走、吃、死亡,植物默认、攻击等动画都用这样的序列帧动画来完成,是不是恍然大明白感觉自己已经完成游戏的一大部分了,哈哈哈…

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小姑娘不爱写代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值