unity技术之NGUI的功能实现(2)

欢迎来到unity学习、unity培训
这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌



unity技术之NGUI的功能实现(2)




界面横向动画播放:

    当点击登陆按钮时,界面会向左移动,同时设置成功的界面会向右运动,到达登陆按钮到的位置,就像是动画播放下一页一样的效果,是不是比一点击按钮页面突然消失和出现来的高大上呢。(上图只是练习用的,朋友们可以做的很漂亮和高大上哦)


做法:


    首先要创建一个游戏容器,然后自己可以随意的设计一下界面的内容,因为要走一下效果,所以我自己做的可能有点难看,大家就将就凑合看吧。创建完容器以后要给容器添加Tween Position,然后就是改变坐标轴,注【要把Tween Position勾选掉】。


    代码:

    //在类外面定义两个对象接收容器
    public TweenPosition login;
    public TweenPosition;
    //接着定义两个方法描绘出两种情况下分别调用的动画
    public void OnLoginClick()
    {
        login.PlayForward();
        oprition.PlayForward();
    }
    public void OnOpritionClick()
    {
   
    login.PlayReverse();
   
    oprition.PlayReverse();
    }


       然后把这个脚本托给摄像机,在把摄像机给Label,然后在属性列表中找到 onclick ,选择相应的方法名就可以了。



技能冷却:


   
冷却效果可是非常有用的,现如今的游戏基本都离不开技能,而技能不可能让你随便的使用,这样就有了技能冷却这一说了,所以说基本游戏都离不开技能冷却


做法:

    首先要创建一个sprite,再接着创建一个子sprite,再接着把属性的type设置成filledfill amount设置为1fill dirrandom360color tint设置成黑色,alpha设置成半透明.当然这个也是需要代码的:


    代码:

    //设置冷却时间
    public float coldTime = 2;
    public UISprite sprite;

    //冷却的标志位
    private bool isColding = false;

       //判断时候能释放技能,要求判断冷却是否完成,还要判断是否要放技能
    if (Input.GetKeyDown(KeyCode.A) && isColding == false)
    {
 
       sprite.fillAmount = 0.5f;//标志位
   
    isColding = true;
    }
    if (isColding)
    {
   
    sprite.fillAmount -= (1f / coldTime) * Time.deltaTime;//冷却倒计时
   
    if (sprite.fillAmount <= 0.05f)//设置跳出标志位
 
       {
     
       isColding = false;
    
        sprite.fillAmount = 0;
  
      }
    }

你可能感兴趣的:(unity技术之NGUI的功能实现(2))