Unity UI系统-NGUI-基本组件(一)
        【摘要】  
 对于NGUI插件,从很高的程度上对UI进行优化,其主要的实现方法便是将零散的小UI图片,通过操作将其合并成一张图,这张图便可以称之为图集(Atlas) 指针图集的工作可以使用内置工作AtlasMaker,也可以使用Texture Packer组件
 
  
 
 1,字体文件: (windows + R 输入Fonts 显示本机字体)
 
 
 a,字体图集:将所用到...
    
    
    
     对于NGUI插件,从很高的程度上对UI进行优化,其主要的实现方法便是将零散的小UI图片,通过操作将其合并成一张图,这张图便可以称之为图集(Atlas) 指针图集的工作可以使用内置工作AtlasMaker,也可以使用Texture Packer组件 
 1,字体文件: (windows + R 输入Fonts 显示本机字体) 
 a,字体图集:将所用到的字体处理成一张图片进行使用,(适合英文) 
 b,TTF字体:直接使用TTF格式的字体进行文字显示 
 2,UI Label面板常用属性: 
 a,Font Size(字体大小 (与widget 里面的size大小有关)) 
 要显示中文的话需要将前面的NGUI改选为Unity 
 控制文字显示的大小,以及基本样式(正常,粗体,斜体,斜体加粗体) 
 b,Text (文字) 
 UILabel 要显示的文字,可以输入多行  
 c,MOdifier (调节器) 
 控制英文的显示状态,正常,大写,小写,自定义 
 d,Overflow (溢出) 
 当文字超过了Winget中的Size属性的大小时,如何处理显示: 
 ShrinkCntent:收缩内容【只能显示边框那么大】 
 ClampContent:夹持内容【能显示出几个字就显示几个字】 
 Use Ellipsis:是否使用省略符号 
 ResizeFreely:调整自由【widget中的Size自动同步FontSize】 
 ResizeHeight:调整高度【宽度固定,高度自动调整】 
 e,Gradient (渐变颜色) 文字从上到下渐变 
 f,Effect (特效)设置文字特效:颜色描边,投影等 
 g,Spacing (间距) 设置文字与文字之间的距离大小 
 h,Collor Tint (色彩化) 设置文字显示的颜色 (不会影响渐变) 
 按钮(UIButton) 
 
 
  按钮是制作UI过程中的最核心,最主要的控件之一、在游戏中按钮是用户操作最依赖的控件。无处不在,广泛地说,按钮核心在与接收是事件,任何可以接收事件的,都可称之为按钮, 
 
 
  UIButton面板属性 
 
 
  按钮的四种状态: 
 
 
  Normal:默认原始状态  Hover:经过停留状态 Pressed:按下状态  Disabled:不可用状态 
 
 
  1,Colors数组 
 
 
  使用颜色来描述按钮的四种状态 
 
 
  如果不想让颜色影响图片的效果,可以将四种颜色全部选择为白色 
 
 
  2,Sprites数组 
 
 
  使用图片来描述四种状态 
 
 
  按钮交互声音: 
 
 
  1,UIPlaySound组件 
 
 
  操作步骤: 
 
 
  Attach --> PlaySoundScript添加组件; 
 
 
  AudioClip 指定一个音频剪辑 
 
 
  指定Trigger触发该声音播放事件,常用的是OnClick; 
 
 
  按钮点击事件绑定: 
 
 
  简单说几种代码解决: 
 
 
 
   1,这种方式是再脚本中编写固定的方法签名,然后将脚本挂在到按钮对象上。 
 
 
 
    
     - 
      
       
      
      
       
        using UnityEngine;
       
      
- 
      
       
      
      
        using System.Collections;
       
      
- 
      
       
      
      
        
       
      
- 
      
       
      
      
       
        public class ButtonDemo : MonoBehaviour {
       
      
- 
      
       
      
      
        
       
      
- 
      
       
      
      
        void OnDrag(Vector2 delta){
       
      
- 
      
       
      
      
       
         print("拖动"+delta);
       
      
- 
      
       
      
      
       
         }
       
      
- 
      
       
      
      
        void OnHover()
       
      
- 
      
       
      
      
       
         {
       
      
- 
      
       
      
      
       
         print("鼠标移上");
       
      
- 
      
       
      
      
       
         }
       
      
- 
      
       
      
      
        void OnClick(){
       
      
- 
      
       
      
      
       
         print("点击");
       
      
- 
      
       
      
      
       
         }
       
      
- 
      
       
      
      
        
       
      
- 
      
       
      
      
        void OnDoubleClick ()	{
       
      
- 
      
       
      
      
       
         print("鼠标双击");
       
      
- 
      
       
      
      
       
         }
       
      
- 
      
       
      
      
       
        }
       
      
    2,通过定义添加VoidDelegate的形式添加交互操作(仅限处理OnClick事件) 
 
 
 
    
     - 
      
       
      
      
       
        using UnityEngine;
       
      
- 
      
       
      
      
        using System.Collections;
       
      
- 
      
       
      
      
        
       
      
- 
      
       
      
      
       
        public class ButtonDemo : MonoBehaviour {
       
      
- 
      
       
      
      
        
       
      
- 
      
       
      
      
        void Start () {
       
      
- 
      
       
      
      
        //获取按钮组件
       
      
- 
      
       
      
      
       
         UIButton btn = this.GetComponent<UIButton>();
       
      
- 
      
       
      
      
        //创建委托
       
      
- 
      
       
      
      
       
         EventDelegate dele1 = new EventDelegate(onBtnClickA);
       
      
- 
      
       
      
      
        //将委托添加给按钮的Click
       
      
- 
      
       
      
      
       
         btn.onClick.Add(dele1);
       
      
- 
      
       
      
      
       
         }
       
      
- 
      
       
      
      
        
       
      
- 
      
       
      
      
        private void onBtnClickA()
       
      
- 
      
       
      
      
       
         {
       
      
- 
      
       
      
      
       
         print("按钮被点击了");
       
      
- 
      
       
      
      
       
         }
       
      
- 
      
       
      
      
       
        }
       
      
   3.通过交互对象添加UIEventListener组件方法处理按钮多种相关事件.
    
     - 
      
       
      
      
       
        using UnityEngine;
       
      
- 
      
       
      
      
        using System.Collections;
       
      
- 
      
       
      
      
        
       
      
- 
      
       
      
      
       
        public class ButtonDemo : MonoBehaviour {
       
      
- 
      
       
      
      
        void Start () {
       
      
- 
      
       
      
      
        //为按钮添加UIEventListener组件,并处理点击事件
       
      
- 
      
       
      
      
       
         UIEventListener ue = this.gameObject.AddComponent<UIEventListener>();
       
      
- 
      
       
      
      
        //处理点击事件
       
      
- 
      
       
      
      
       
         ue.onClick = onBtnClickA;
       
      
- 
      
       
      
      
       
         }
       
      
- 
      
       
      
      
        
       
      
- 
      
       
      
      
        private void onBtnClickA(GameObject go)
       
      
- 
      
       
      
      
       
         {
       
      
- 
      
       
      
      
       
         print("按钮被点击了 onBtnClickA");
       
      
- 
      
       
      
      
       
         }
       
      
- 
      
       
      
      
       
        }
       
      
   文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。
原文链接:czhenya.blog.csdn.net/article/details/77651899
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        
        
        - 点赞
- 收藏
- 关注作者
 
             
           
评论(0)