Unity,NGUI实现将一排按钮分组,实现选择功能

前几天需要实现一个选择功能,也就是一排按钮,选择哪一个,那个按钮变色,并且选择到某个对象,上网查了很多,但是没有,就自己用堆写了一个,在这跟大家分享。

好像插不了图片,那我直接上代码吧:

  //选择是那块区域地板
  //点击事件(点击一个按钮会变成想要的图片)
    public void AnniuOnClick(GameObject game)
    {
    //要换的图集和图片名字
        game.GetComponent<UISprite>().atlas = atas;
        game.GetComponent<UISprite>().spriteName = "an_01";
        //将点的按钮存进堆中
        currentGame.Enqueue(game);
        if (currentGame .Count > 1)
        {
        //点击存入第二个时,第一个变原来的颜色,并出堆
            currentGame.Peek().GetComponent<UISprite>().atlas = atas;
            currentGame.Peek().GetComponent<UISprite>().spriteName = "anlv_01";
            currentGame.Dequeue();
        }
        Debug.Log(currentGame.Peek());
        //将当前的存起来
        previesGame = currentGame.Peek();
        //要实现的功能在下边方法中
        StoreDIBan(currentGame.Peek());  
        isArea = true;
    }

其他的就不多说了,只要堆得核心思想,“先进先出,后进后出”对了,这个很好写。。。。

时间: 2024-08-06 20:08:03

Unity,NGUI实现将一排按钮分组,实现选择功能的相关文章

Unity NGUI监听按钮点击事件的三种方法

NGUI版本:3.6.5 1.直接实现OnClick方法: 创建一个脚本,在脚本中实现OnClick()方法,绑定该脚本到按钮上,点击时就会实现OnClick函数内容: 2.使用SendMessage: 选择按钮后,打开Component——NGUI——Interaction,选择Button Message,为按钮添加一个UIButton Message组件: 然后设置UIButton Message中的参数即可: Target:接收按钮消息的游戏对象: Function Name:接收按钮消

【Unity NGUI游戏开发之五】多分辨率下完美分布式协同开发

NGUI多分辨率下完美分布式协同开发:不同分辨率下相对于屏幕坐标的Perfab数据不再丢失 NGUI多分辨率下完美分布式协同开发不同分辨率下相对于屏幕坐标的Perfab数据不再丢失 开发问题 原因分析 案例 完美过程 案例分析 实现过程 开发问题: NGUI分布式开发中,用git管理资源,团队成员每人负责一个perfab,所有现对于屏幕大小的相对位置的perfab因为引用了perfab外的数据,导致perfab的Anchor锚点数据丢失,最后的perfab集成后,必须重新设置,导致开发成本大幅度

【Unity NGUI游戏开发之三】TweenPosition位移动画(二):相对于UIAnchor不同分辨率下的完美适配位移动画

Unity中的UI我们采用的是NGUI,NGUI的界面位移动画,我们一般使用的是TweenPosition. 一种是简单的相对位移,不考虑分辨率适配问题,只需要简单的从位置A到位置B,已经在文中介绍了: [Unity NGUI游戏开发之二]TweenPosition位移动画(一):不相对于Anchor的位移动画 另外一种是考虑到屏幕分辨率适配的位移动画,我们游戏中大多遇到的是这种情况. eg.我们想让一个UI从屏幕外沿着屏幕的左边移动到屏幕的中央,TweenPositon播放动画,在960*64

Unity NGUI 使用经验

在.NET下使用了约2个月的Unity NGUI后,感觉.NET cs用起来还比较容易上手,Unity 2D项目中使用NGUI也非常好用.其丰富的库支持,让愿意花时间的人一学就会用,比如我们用得比较多的,iTween/EasyTouch/FxMaker/UnityVS等.尤其UnityVS让原来使用VS习惯的人,用起来那叫一个爽! 费话不多说了,下面说说我们以开发过程中解决的一些问题和关注的一些参数问题. 作为一个程序,保障游戏的流畅性是游戏可玩性高的重要基础. 1. 尽量把Draw Calls

[vc]如何对radio按钮分组

如何使用多组? 多组和一组是一样的使用,只要搞清楚哪个是哪一组的就行了.再为对话框添加Radio3和Radio4.很简单,先为这些RadioButton排个顺序,就是排列他们的TABORDER.在对话框资源面板上Ctrl+D,然后按你自己的理想顺序用鼠标逐个点击就可以了.不妨假设Radio1.Radio2.Radio3.Radio4分别是1.2.3.4.Radio1和Radio3都选上Group属性,那么,1.2是一组,3.4是另外一组,因为分组的原则是在选上Group属性的这一个开始直到碰到下

Unity NGUI UIPanel下对粒子或自定义Mesh的剪裁

写在开篇: 越来越烦那些无脑转发自己不做验证的博主论坛楼主,网上好不容易找到一些资料,结果代码搞下来却是错的,有些确实是因为版本问题太老不兼容,但是有些明显是有问题的,转发前自己试试就知道肯定是不能用的.结果...哎...真是不想说啥了. 这次是在小地图中画线画圈,用到了动态绘制Mesh,小地图需要对这些线进行裁切,所以去网上搜了一篇叫做<Unity NGUI UIPanel下对粒子的剪裁>的文章.当然还是感谢一下原作者提供的思路.我这里对这篇文章中涉及到的代码进行了优化改动,使之可以使用.没

Unity+NGUI性能优化方法总结

一共9招. 1 资源分离打包与加载 游戏中会有很多地方使用同一份资源.比如,有些界面会共用同一份字体.同一张图集,有些场景会共用同一张贴图,有些会怪物使用同一个Animator,等等.可以在制作游戏安装包时将这些公用资源从其它资源中分离出来,单独打包.比如若资源A和B都引用了资源C,则将C分离出来单独打一个bundle.在游戏运行时,如果要加载A,则先加载C:之后如果要加载B,因为C的实例已经在内存,所以只要直接加载B,让B指向C即可.如果打包时不将C从A和B分离出来,那么A的包里会有一份C,B

Unity+NGUI多分辨率适配方案

说起unity的适配方案,网上可谓是一查一大堆,但是真正要应用到项目中的时候,总会出现各式各样的问题.由于最近自己要做一个小游戏,在开始做游戏之前,就想着先好好搞一搞适配这块,以后新起项目的时候也会用得着. NGUI应该是现在大部分开发者都会去选择的UI插件,虽然NGUI还存在着不少问题,像是相对来说,NGUI还是比较靠谱的,所以这里只是针对NGUI做适配方案. NGUI中对于每一个场景,都是以UIRoot为GameObject树的根的,UIRoot下面主要有这几种属性 1) Scaling S

Unity NGUI制作scroll view

unity版本:4.5 NGUI版本:3.6.5 参考链接:http://blog.csdn.net/monzart7an/article/details/23878505,作者:CSDN 冬菊子   http://blog.csdn.net/unity3d_xyz/article/details/22989401,作者:CSDN inspironx 1.创建背景: 这部分比较简单,先创建一个用来展示scroll view的panel,在panel下创建一个空对象,空对象下面创建一个表示背景的s