您的位置:首页 > 移动开发 > Unity3D

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

2015-01-23 23:41 225 查看
欢迎来到unity学习unity培训

[align=left]这里有很多U3D资源U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌[/align]

[align=center]unity技术之NGUI的功能实现(2)
[/align]


界面横向动画播放:


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

做法:

    首先要创建一个游戏容器,然后自己可以随意的设计一下界面的内容,因为要走一下效果,所以我自己做的可能有点难看,大家就将就凑合看吧。创建完容器以后要给容器添加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设置成filled,fill amount设置为1,fill dir为random360,color 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;

     
  }
   
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息