选关界面,就像这样:

1、在Canvas中创建一个选关界面,同时添加Grid Layout Group组件;

通过调节组件中的属性可以管理子物体的大小与间距(这里指关卡按钮)

创建关卡按钮在Content下;

2、创建LevelItem脚本,挂载到每个Button上;
添加引用:

代码:

public class LevelItem : MonoBehaviour
{/// <summary>/// 关卡ID/// </summary>private int LevelId;/// <summary>/// 创建按钮/// </summary>private Button btn;// Start is called before the first frame updatevoid Awake(){btn = GetComponent<Button>();btn.onClick.AddListener(OnClick);}// Update is called once per framevoid Update(){}/// <summary>/// 初始化/// </summary>/// <param name="id">关卡ID</param>/// <param name="isLock">是否锁住关卡</param>public void Init(int id, bool isLock){LevelId = id;if (isLock){btn.interactable = false;}else{btn.interactable = true;}}/// <summary>/// 点击监听/// </summary>private void OnClick(){//场景加载,进入关卡//确保BuildSetting中的场景编号没有问题SceneManager.LoadScene(LevelId);}
}

3、创建LevelManager脚本,挂载到Content上;
添加引用:

代码:

public class LevelManager : MonoBehaviour
{void Start(){LoadLevel();}private void LoadLevel(){//上次退出游戏时保存的游戏关卡ID,如果第一次进入默认为1int levelId = PlayerPrefs.GetInt("level", 1);//向所有子物体上的LevelItem脚本中的Init方法传值for (int i = 0; i < transform.childCount; i++){if (i + 1 > levelId){//没通关的关卡transform.GetChild(i).GetComponent<LevelItem>().Init(i + 1, true);}else{ //通关的关卡transform.GetChild(i).GetComponent<LevelItem>().Init(i + 1, false);}}}
}

4、运行Unity。

如果你想要的选关是这样的:

那就在每个按钮下创建三个Image,根据获取到的星星个数gameobject.SetActive(true)相应的图片就好了。
(还需要一个新的 PlayerPrefs,比如:PlayerPrefs.GetInt(“Star”, 0);)

有更好的方法欢迎指点。

Unity关于选关界面的制作相关推荐

  1. Unity3D_(游戏)卡牌03_选关界面

      启动屏界面.主菜单界面.选关界面.游戏界面 卡牌01_启动屏界面 传送门 卡牌02_主菜单界面 传送门 卡牌03_选关界面 传送门 卡牌04_游戏界面    传送门 选关界面效果 (鼠标放在不同关 ...

  2. Html5 Egret游戏开发 成语大挑战(四)选关界面

    Html5 Egret游戏开发 成语大挑战(四)选关界面 通过前面的开始界面基本上了解了eui的使用方法,可以简单快速的制作一个UI界面,本篇使用第二界面选关界面展示更为难一点的代码控制,来展现关卡地 ...

  3. unity捕鱼达人3----UI界面的制作以及相关功能的实现

    从上述两幅图中我们可以看到主要UI有:开始游戏,继续游戏,倒计时以及金币,等级和名称等等. 一:开始界面的实现 因为我们要进入游戏界面所以我们肯定要加载游戏界面,所以在Unity中我们有SceneMa ...

  4. (android实战)创建查看试卷答案功能(类似于疯狂小鸟的选关)

    实现参考效果图和实现效果图 疯狂小鸟选关 (界面设计比较简单,美工稿没有完成) 前言: 实现的效果为,显示一张试卷的各道题(根据回答情况,进行区分显示,如题目不满一屏,则,剩余的题目空间,显示默认空的 ...

  5. Unity NGUI 网络斗地主 -界面制作

    Unity NGUI 网络斗地主 -界面制作 源文件在群(63438968群共享!) @灰太龙 这一节说一下NGUI的界面摆放,并且教会大家使用NGUI的自适应功能! 在这里感谢@Gamer,是他给我 ...

  6. 游戏服务器系统的选择界面,cocos2dx网游选服界面制作三:服务器单个item界面包装...

    前面我们讲到了界面的制作,里面用到了FuWuQiBase这个类. 这个类主要就是我们服务器列表里某一个服务器信息的展示包装. 下面我直接贴代码://FuWuQiBase.h #ifndef _FUWU ...

  7. unity 彩带粒子_Unity3D_(Shuriken粒子系统)制作简单的烟花爆炸效果

    Unity中的粒子系统可以用于制作特效,如开枪火花效果,简单爆炸效果等.(毕竟程序员不是设计师,简单的特效都没有问题,要制作一些非常美观的特效还是需要多了解跟美术有关的知识.) 粒子系统实现一个简单的 ...

  8. PySimpleGUI制作复杂界面及制作批量重命名软件

    PySimpleGUI制作复杂界面及制作批量重命名软件 1 界面设计的基本方式 2 制作持续显示的界面 3 文字元素 3.1单行输入元素的设置 3.2 多行显示/输入文字元素 3.3 多行显示/输入文 ...

  9. Myeclipse2017连接MySql数据库实现登录界面的制作(全过程)

    毕业设计选题选的是B/S的系统,决定用Myeclipse+MySql来做,本人小白一枚,前段时间自学了java web的知识,目前已经做出来了登录功能及系统的主界面,接下来就是在主界面对数据库增删改查 ...

最新文章

  1. 华为平板能运行python吗_我是如何使用华为平板的
  2. 数据表_事物码(Transaction Code)信息
  3. 解决kubesphere node-exporter守护进程pod安装失败的问题
  4. 数据链路层---使用集线器的星型拓扑_传统以太网传输介质的改变_总线型--->双绞线为介质的以太网采用星型拓扑_集线器的特点_集线器之间的远程连接
  5. oracle 试图访问已经在使用的事物处理临时表,解决ORA-14450:试图访问已经在使用的事务处理临时表-Oracle...
  6. AI算法连载03:数学基础之数值计算
  7. docker 安装与常用命令与常用容器(containers)环境
  8. day3—python——文件操作
  9. xp共享文件win7访问时不能保存密码
  10. linux 系统内存占用高,linux free 命令以及系统内存占用过高的处理方法
  11. Maple绘图小技巧1
  12. 四种方法检测网站是否被微信、QQ等拦截屏蔽
  13. 用微信公众号做淘宝优惠券查券和返利机器人的详细设置教程
  14. Fuzzing及Sulley简介
  15. 5注册激活_国家医保服务平台APP激活绑定流程
  16. 以太网通信(1)UDP —— 数据发送
  17. Le wagon编程训练营2021数据科学就业市场最全分析
  18. Win10取消应用商店版的Python
  19. 卡其色裤子如何搭配鞋子
  20. 真是恍然大悟啊!免费Java高级工程师学习资源,详细的Java学习指南

热门文章

  1. 2021筠连中学高考成绩查询,2021年筠连县中学升学率高不高?
  2. webpack打包时出错:ERROR in index.js?c20a42392c6d1abf69df from UglifyJs Unexpected token: punc (()
  3. mysql必知必会的数据_MySQL必知必会--汇 总 数 据
  4. 使用Xshell远程下载文件到本地
  5. Google的这个logo设计为什么看着有点牵强呢?
  6. Berkeley DB JE 学习笔记
  7. 混合计算题300道_混合这道美丽人生鸡尾酒配方
  8. 面试系列--自我了解和自我剖析
  9. month(字段)、year(字段)
  10. 微信服务号开发----创建个性化菜单