Unity实现换装系统
作者:无忧酒不加糖 发布时间:2021-08-11 15:27:15
标签:unity,换装系统
Unity如何实现换装系统,供大家参考,具体内容如下
1.创建Sprite Library Asset
2.添加新目录
Label 可以理解为标签,在代码调用过程中使用,将该部位装备图片拖入Sprite中
3.添加组件
给需要换装的部位添加Sprite Resolver组件(如头部换装,就在头部对象挂载组件)
选择目录名,就会出现之前Library Asset中拖拽的图片内容,点击不同图片可以预览效果(如果出现装备位置偏移,需调整图片的pivot)
4.通过代码实现换装
小笔记:
1).UnityEngine.Experimental.U2D.Animation 记得写
2).Start函数中GetComponents的s不要忘,也可以用FindObjectsOfType
3).如果是整体换套装,就将脚本挂载到Player对象上,如果只是单独换部件如武器,就单独挂载到武器对象上
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Experimental.U2D.Animation;
public class RifleSpriteControl : MonoBehaviour
{
public List<SpriteResolver> spriteResolvers = new List<SpriteResolver>();
// Start is called before the first frame update
void Start()
{
foreach(var resolver in FindObjectsOfType<SpriteResolver>())
{
//将遍历到的所有SpriteResolver添加到list中
spriteResolvers.Add(resolver);
}
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.E))//按E切换到AK47
{
foreach (var resolver in this.GetComponents<SpriteResolver>())
{
//SetCategoryAndLabel(目录名,步骤2中所填写的Label),以获取相应的图片
resolver.SetCategoryAndLabel(resolver.GetCategory(), "AK47");
}
}
if (Input.GetKeyDown(KeyCode.R))//按R切换到MP5
{
foreach (var resolver in this.GetComponents<SpriteResolver>())
{
resolver.SetCategoryAndLabel(resolver.GetCategory(), "MP5");
}
}
}
}
来源:https://blog.csdn.net/weixin_48426544/article/details/115583551
0
投稿
猜你喜欢
- 1.图的遍历从图中某一顶点出发访问图中其余顶点,且每个顶点仅被访问一次图的遍历有两种深度优先遍历DFS、广度优先遍历BFS2.深度优先遍历深
- 本文实例讲述了C#实现对Json字符串处理方法,分享给大家供大家参考。具体分析如下:一般对于web应用开发人员来说对Json字符串都会很熟悉
- 简介Spring Security 是为了基于Spring的应用程序提供的声明式安全保护的安全性框架。Spring Security 提供了
- IBATIS简介ibatis是 Apache的开源项目,一个ORM 解决方案,ibatis最大的特点就是小巧,上手很快。使用 ibatis提
- 这篇文章主要介绍了新手学习微服务SpringCloud项目架构搭建方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学
- 前言最近因为工作的需要,在写一个基于springmvc+spring+mybatis的项目,其中涉及用ajax向controller发送数据
- 在用java的io流读写文件时,总是被它的各种流能得很混乱,有40多个类,理清啦,过一段时间又混乱啦,决定整理一下!以防再忘Java输入/输
- spring-MVC实现简单的登录功能,供大家参考,具体内容如下今天我学习了spring-MVC实现简单的登录功能,本篇博客就讲解如何使用s
- 本文实例为大家分享了Unity实现俄罗斯方块第一部分,供大家参考,具体内容如下准备工作1、新建一个2D项目,新建成功以后设置相机的一些参数2
- 一、关键字关键字:被Java语言赋予特定含义的单词。组成关键字的字母全部小写。注:goto和const作为保留字存在,目前并不使用。main
- Mybatis获取参数值的两种方式:${},#{}${}本质:字符串拼接,注意:单引号要加上#{}:本质:占位符赋值一、 Mybatis获取
- 由于项目需求,需要为Java提供一套支持事件驱动机制的类库,可以实现类似于C#中的event和delegate机制。众所周知,Java语言本
- /// <summary> /// 遍历Co
- idea中的Maven导包失败问题解决总结1.先确定idea和Maven 的配置文件settings 没有问题找到我们本地的maven仓库,
- Java Resource路径首先一点很重要,Java中不存在标准的相对路径,各种相对路径取资源的方式都是基于某种规则转化为绝
- 前言当大家使用mybatis作为持久层框架时,在存储和查询数据时,只需要在mapper.xml文件中配置好对应字段的JdbcType和Jav
- 类注解@component 标注类,泛指各种组件,类不属于各种分类的时候,用它做标注。@Service 标注类,声明该类为业务层组件,用于处
- 简介TreeMap使用红黑树存储元素,可以保证元素按key值的大小进行遍历。继承体系TreeMap实现了Map、SortedMap、Navi
- 改了个bug,发现这个东西以前不知道,搜索了一下,看到的都是长篇大论,还谈js的源码,也是醉了。我就简单的说说这个是干啥的。简单说:就是触发
- mybatis group by substr传参报错报异常### Cause: java.sql.SQLSyntaxErrorExcept