• Unity3D-人物角色选择 2017-10-18 20:22:51
    Unity3D-人物角色选择今天没什么事,就做了一下人物角色选择界面,和大家分享一下,如果写的不好,请多多包涵。在网上参考以下,觉得这个界面挺适合的,所以直接拿来用了。如图所示:我的思路是这样的,首先要创建一...
    #####	今天没什么事,就做了一下人物角色选择界面,和大家分享一下,如果写的不好,请多多包涵。在网上参考以下,觉得这个界面挺适合的,所以直接拿来用了。如图所示:
    ![这里写图片描述](https://img-blog.csdn.net/20171016171317007?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjMyNTYwMjk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
    
    -------------------
    #####我的思路是这样的,首先要创建一个数组,用来保存所有人物预制体,选择是通过索引值来查找的,在这里我用了2个人物预制体,并把它们存储到创建的数组中。如下图所示:
    ![这里写图片描述](https://img-blog.csdn.net/20171016172042342?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjMyNTYwMjk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
    #####接下来就是关于算法的分析,
    
    ### 1. 第一种是通过求余(Selectindex %Array.Length),
    ### 2.  第二种是判断数组索引值的大小。
    先说第一种吧,也是我用的这种,在跳转到人物选择界面显示的时候,会出来一个人物角色,也就是默认的人物角色,在这里我是把数组中第一个元素,作为了默认角色,所以在单击左右箭头选择时,索引值会发生加减变化,求余就会得到一个值,查找索引就可以查找得到对应的人物角色。需要注意的是,在执行加操作时,索引值变化可以不用管,因为索引值变化不会超出数组的范围,而执行减操作时,需要做一个判断,当索引减到小于0时,直接把索引值设置为Array.Length-1,实现人物角色循环选择。核心的代码如下:
    
    ```
         //当我们点击了下一个按钮
        public void OnNextButtonClick() {
            selectedIndex++;
            selectedIndex %= length;
            //查找
            CharacterShow();
        }
           //当我们点击了上一个按钮
        public void OnPrevButtonClick() {
            selectedIndex--;
            if (selectedIndex == -1) {
                selectedIndex = length - 1;
            }
            CharacterShow();
        }
    ```
    第二种方法,其实和第一种本质上是一致的,都是对索引值进行操作,只是形式上不同,
    核心代码如下:
    
    ```
               if (Input.GetKeyDown(KeyCode.A))  
                {  
                    index += 1;  
      
                    if(index>=character.Length)  
                    {  
                        index = 0;  
                    }  
                    CharacterShow(index);  
                }  
      
      
                if (Input.GetKeyDown(KeyCode.D))  
                {  
                    index -= 1;  
      
                    if (index < 0)  
                    {  
                        index = character.Length-1;  
                    }  
                    CharacterShow(index);  
                }  
    ```
    对第二种方法感兴趣的,可以去这里看[http://blog.csdn.net/alayeshi/article/details/44855757](http://blog.csdn.net/alayeshi/article/details/44855757)
    好了,差不多就这些了,最后贴一下我的代码:
    
    ```
        public GameObject[] characterPrefabs;//创建一个人物预制体数组,存储人物角色
        private int selectedIndex = 0;//创建选择索引的变量
    	// Use this for initialization
    	void Start () {
    	//调用显示人物角色的方法
            CharacterShow();
    	}
        //查找并显示对应的人物角色 
        void CharacterShow() {
            characterPrefabs[selectedIndex].SetActive(true);//显示对应索引的人物预制体
            //通过循环隐藏不对应索引的预制体
            for (int i = 0; i < length; i++) {
                if (i != selectedIndex) {
    	      characterPrefabs[i].SetActive(false);//把未选择的角色设置为隐藏
                }
            }
        }
        //当我们点击了下一个按钮
        public void OnNextButtonClick() {
            selectedIndex++;
            selectedIndex %= length;
            CharacterShow();
        }
        //当我们点击了上一个按钮
        public void OnPrevButtonClick() {
            selectedIndex--;
            if (selectedIndex == -1) {
                selectedIndex = length - 1;
            }
            CharacterShow();
        }
    ```
    
    展开全文
  • unity3d实现不写一行代码,做个第三视角3d游戏
  • Kinect+Unity实现虚拟人物动作同步 声明:此文乃本人原创,未经本人允许不得转载。 联系本人:网易邮箱geekyutao@163.com。 任务:将人的动作实时同步到自建的虚拟人物上。 原理简介:用Kinect实时捕捉人的动作,...
  • Unity3D的学习方法 2016-10-14 20:21:53
    第一步首先了解unity3d的菜单,视图界面。 这些是最基本的基础,可以像学word操作一样,大致能明白有几个菜单,几个基本的视图,各自起什么作用的就可以了。当然还要了解人物基本的比例和结构。 第二步理解场景里面...
  • 学习模型合理导入 Unity3D 引擎 相信在游戏中,模型相当于游戏必要的元素,例如游戏的一个人物角色,我们可以称它为一个模型,今天和小编一起学习一下,导入 Unity 3d 模型,我们应该注意哪些细节!当然我们知道...
  • 研究一下Unity3d自带的AngryBots项目,了解基本的游戏运行机制:   1. 人物的动作控制逻辑 ***Player对象*** [外形] Player对象里有一个对象具有Skinned Mesh Renderer组件,该组件使用的Mesh名为main_...
  • Unity3D(1)手柄输入 2018-05-01 11:40:53
    打开输入管理界面,Edit-&gt;Project Setting-&...另一种是线性键(“轴”键),就是键值是在一个范围内取值的,例如控制前进后退的摇杆,推的角度可以控制人物行走的速度,线性键都是成对出现的,例如水平轴...
  • 一、前言 发现就喜欢研究这些插件,为什么...要不说Unity3D入门容易,提升难呢,因为提升全是靠苦功夫,去研究底层代码。算了,不絮叨了 二、参考文章 Unity3D 装备系统学习Inventory Pro 2.1.2 总结 Unity3D...
  • Unity3D UGUI User Interface 用户界面 GUI:优点使用简单,有专一性。缺点:代码繁琐,屏幕自适应差。 常用来当调试工具,还有editor编辑器的开发 UGUI:亲儿子,优点:使用灵活。层级清晰。屏幕自适应。缺点:...
  • 一、前言 这篇文章是分析UGUI的各种原理,包括层级渲染,事件触发,布局等,教程也比较详细,转过来有空研究一下 ...Unity UGUI 原理篇(一):Canvas 渲染模式 目标 了解各种不同UI ...
  • unity3D的面试题 2016-11-16 16:04:39
    第一部分 1.请简述值类型与引用类型的区别 2.C#中所有引用类型的基类是什么 ...3.请简述ArrayList和List的主要区别 ...4.请简述GC(垃圾回收)产生的原因,并描述如何避免?...8.请简述关键字Sealed
  • using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;...//导包,使用unity事件系统 /// /// 物品拖动,注意要将储物格的tag设为【 Bag
  • C#值类型 值类型在C#中是存在与线程栈中的,不归垃圾回收机制管,一般的赋值都是复制数据。所有的值类型的基类是抽象类System.ValueType,而ValueType的基类是Object 值类型包括结构和枚举类,结构类又分为三种: ...
  • 研究一下Unity3d自带的AngryBots项目,了解基本的游戏运行机制: 1. 人物的动作控制逻辑 ***Player对象*** [外形] Player对象里有一个对象具有Skinned Mesh Renderer组件,该组件使用的Mesh名为main_player_...
  • 首先给大家介绍一下3D人物模型的相关知识:模型一般分为静态模型和动态模型嘛!静态模型简单的来说就是不会动的模型。那么要给一个静态模型换装是不是很简单了!只需要替换它的网格和材质就行了呗!很容易的完成一...
  • 本站文章均为 李华明Himi 原创,转载务必在明显处注明:(作者新浪微博: @李华明Himi ) 转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/unity3d-game/1584.html 点击订阅 本博客最新动态!...
  • 本文提供全流程,中文翻译。 助力快速用 UGUI 完成图标互换,数据互换 为初学者节省宝贵的时间,避免采坑! 整体实现代码不超过50行即可实现 我们游戏中非常常见的一个功能:拖动技能图标,互换技能位置和背包中拖动...
  • 解决什么问题? 动画分层可以用来解决什么样的...最好的例子就是Unity4.x自带的示例AngryBots了。 Avatar Mask 下面我们就使用Avatar Mask来实现人物在奔跑中招手的效果。 我们先添加一个人物到场景,同时为其添...
  • 先把游戏效果po一下吧(白色胶囊体代表牧师、红色胶囊体代表魔鬼、蓝色代表船、两条白色圆柱体代表两岸): 这次作业与TA的实现方法稍有不同,多用了两个类:PersonStatus(动态加载到6个牧师和恶魔上)用来管理...
  • Unity3d_NGUI和UGUI的学习 2015-06-26 15:59:16
    由于之前刚入门的时候,应Unity3d整体发展的要求我们自学了UGUI(相对来说UGUI比NGUI做得更好一些,后面会有2者对比),但是后来公司要求使用NGUI,所以我这边把之前学习UGUI(不全,当时资源有限)和NGUI的学习心得...
1 2 3 4 5 ... 8
收藏数 160
精华内容 64