当前位置: 首页 > news >正文

关卡选择与布局器

unity布局管理器

使用unity布局管理器轻松对关卡选择进行布局。

实现过程

  1. 准备普通按钮button设置字体和对应的sprite
  2. 设置父gameobject(levelbase) 再创建UI.image(selectbackground)布局背景和大小
  3. gameobject(gridcontent)添加 grid layout group(布局)组件和content size fitter组件(控制布局内按钮拉伸)
  4. 将准备的按钮置于gameobject的子类
    在这里插入图片描述
  5. 布局背景添加rectmask2D属性,可以遮盖多余的

在这里插入图片描述

  1. 给父类levelbase添加scroll rect组件,并将gridcontent放入其content属性下,将levelbackground设置在viewport属性下

  2. levelbase设置脚本
    用于读取关卡信息设置按钮的是否可以交互状态

using System.Collections;
using System.Collections.Generic;
using TMPro;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.UI;public class ButtonIcons : MonoBehaviour
{[SerializeField] private Button[] lvlButton;[SerializeField] private Sprite unlockedIcon;[SerializeField] private Sprite lockedIcon;[SerializeField] private int firstLevelBuildIndex;// Start is called before the first frame updateprivate void Awake(){int unlockedLvL = PlayerPrefs.GetInt(EndGameManager.endManager.lvlUnlock, firstLevelBuildIndex);for(int i=0;i<lvlButton.Length; i++){if (i + firstLevelBuildIndex <= unlockedLvL){lvlButton[i].interactable = true;lvlButton[i].image.sprite = unlockedIcon;TextMeshProUGUI textButton = lvlButton[i].GetComponentInChildren<TextMeshProUGUI>();textButton.text = (i + 1).ToString();textButton.enabled = true;}else{lvlButton[i].interactable = false;lvlButton[i].transition = 0;lvlButton[i].transform.Find("Image").gameObject.SetActive(true);lvlButton[i].GetComponentInChildren<TextMeshProUGUI>().enabled = false;}}}
}

在这里插入图片描述

相关文章:

关卡选择与布局器

unity布局管理器 使用unity布局管理器轻松对关卡选择进行布局。 实现过程 准备普通按钮button设置字体和对应的sprite设置父gameobject&#xff08;levelbase&#xff09; 再创建UI.image&#xff08;selectbackground&#xff09;布局背景和大小gameobject&#xff08;grid…...

评估一套呼叫中心大模型呼出机器人的投入回报比?

评估一套呼叫中心大模型呼出机器人的投入回报比&#xff1f; 原作者&#xff1a;开源呼叫中心FreeIPCC&#xff0c;其Github&#xff1a;https://github.com/lihaiya/freeipcc 评估一套呼叫中心大模型呼出机器人的投入回报比&#xff08;ROI&#xff09;&#xff0c;是一个涉…...

面向对象的 CLI:使用 Fire 简化类和对象的方法暴露 (中英双语)

面向对象的 CLI&#xff1a;使用 Fire 简化类和对象的方法暴露 在传统的命令行工具开发中&#xff0c;argparse 是最常用的库之一&#xff0c;用于处理命令行参数和配置。它通常用于函数式编程&#xff0c;但在处理类和对象时&#xff0c;使用起来可能不如 Fire 方便。Fire 是…...

flutter控件buildDragTargetWidget详解

文章目录 1. DragTarget 的核心概念基本属性 2. 基本用法3. 使用 buildDragTargetWidget4. 常见场景5. 注意事项 buildDragTargetWidget 不是 Flutter 中的内置 API 或方法&#xff0c;但根据命名习惯&#xff0c;它很可能是您正在实现或使用的一个方法&#xff0c;用于在 Flut…...

使用webrtc-streamer查看实时监控

摄像头配置&#xff08;海康摄像头为例&#xff09; 摄像头视频编码应改成H264格式 webrtc-streamer下载 webrtc-streamer下载地址 下载后解压出来双击运行&#xff0c;端口默认8000 VUE2项目引入文件 在项目静态文件“public”中需引入两个js文件“webrtcstreamer.js”与“…...

【数据分享】2014-2024年我国POI兴趣点数据(免费获取/来源于OSM地图)

POI是Point of Interest的简称&#xff0c;意为“兴趣点”&#xff0c;是互联网电子地图中用于表示特定位置的地理实体的核心数据类型。POI通常用于标注具体地点&#xff0c;例如餐厅、商场、学校、医院、景点等。这些数据以点的形式呈现&#xff0c;并附带详细属性信息&#x…...

Leetcode 3389. Minimum Operations to Make Character Frequencies Equal

Leetcode 3389. Minimum Operations to Make Character Frequencies Equal 1. 解题思路2. 代码实现 题目链接&#xff1a;3389. Minimum Operations to Make Character Frequencies Equal 1. 解题思路 这一题从答题从test的结果来说来说做出的人很少&#xff0c;主要确实有些…...

Vite 与 Webpack 的区别

在前端开发中&#xff0c;构建工具是不可或缺的&#xff0c;Webpack 和 Vite 是当前最流行的选择之一。尽管它们的目标相似&#xff0c;但在实现方式和开发体验上却有显著差异。本文将探讨 Vite 和 Webpack 的主要区别&#xff0c;以便于根据项目需求选择合适的工具。 1. 构建…...

基于32单片机的RS485综合土壤传感器检测土壤PH、氮磷钾的使用(超详细)

1-3为RS485综合土壤传感器的基本内容 4-5为基于STM32F103C8T6单片机使用RS485传感器检测土壤PH、氮磷钾并显示在OLED显示屏的相关配置内容 注意&#xff1a;本篇文件讲解使用的是PH、氮磷钾四合一RS485综合土壤传感器&#xff0c;但里面的讲解内容适配市面上的所有多合一的RS…...

【从零开始入门unity游戏开发之——C#篇11】一个标准 C# 程序介绍、新的值类型——枚举

文章目录 一、一个标准 C# 程序1、文件名&#xff08;Program.cs&#xff09;&#xff1a;2、 using 语句&#xff1a;3、命名空间&#xff08;namespace&#xff09;4、类&#xff08;class&#xff09;&#xff1a;4、入口函数&#xff08;Main 方法&#xff09;5、程序运行流…...

vue 签名校验 md5 uuid

import CryptoJS from crypto-js import uuid from /utils/uuid import { SECRET_KEY } from /utils/config // 签名校验 const nonceStr uuid.uuid() const timestamp new Date().getTime() // const sign CryptoJS.MD5(nonceStr nonceStr &secretKey SECRET_KEY …...

CSS系列(16)-- 架构与模式详解

前端技术探索系列&#xff1a;CSS 架构与模式详解 &#x1f3d7;️ 致读者&#xff1a;探索 CSS 架构的艺术 &#x1f44b; 前端开发者们&#xff0c; 今天我们将深入探讨 CSS 架构与设计模式&#xff0c;学习如何构建可维护的样式系统。 CSS 架构方法论 &#x1f680; OO…...

【go语言】reflect包与类型推断

reflect 包的核心概念 Go 中的反射涉及两个核心概念&#xff1a; Type&#xff1a;表示一个类型的结构体&#xff0c;reflect.Type 是类型的描述。Value&#xff1a;表示一个值的结构体&#xff0c;reflect.Value 是一个具体值的包装。 反射让我们能够动态地访问对象的类型和…...

3.python运算符

Python 提供了多种运算符&#xff0c;用于执行算术、比较、逻辑等各种操作。以下是 Python 中常见的运算符类型及其用法&#xff1a; 文章目录 1. 算术运算符2. 比较运算符3. 逻辑运算符4. 赋值运算符5. 位运算符6. 成员运算符7. 身份运算符8. 运算符优先级 1. 算术运算符 算…...

【竞技宝】CS2-上海major:spirit力克MOUZ niko梦碎

北京时间2024年12月15日,CS2上海major正在如火如荼的进行中,昨日迎来两场半决赛MOUZ对阵spirit以及FAZE对阵G2。Spirit和MOUZ和各自赢下了自己的选图之后,spirit双子星在图三抗住压力帮助队伍杀入决赛。而G2和FAZE的比赛中,FAZE依然延续上一场的火热手感完全压制了G2,G2的明星选…...

【Leetcode 每日一题】3266. K 次乘运算后的最终数组 II

问题背景 给你一个整数数组 n u m s nums nums&#xff0c;一个整数 k k k 和一个整数 m u l t i p l i e r multiplier multiplier。 你需要对 n u m s nums nums 执行 k k k 次操作&#xff0c;每次操作中&#xff1a; 找到 n u m s nums nums 中的 最小 值 x x x&a…...

etcd集群常见日志

1、节点失去领导者 {"level":"info","ts":"2024-05-07T01:54:04.948Z","logger":"raft","caller":"etcdserver/zap_raft.go:77","msg":"raft.node: 9afce9447872453 lost le…...

【漫话机器学习系列】005.神经网络的结构(architecture on the neural network)

神经网络&#xff08;Neural Network&#xff09;是一种模拟人脑神经系统的计算模型&#xff0c;由大量相互连接的神经元&#xff08;节点&#xff09;组成&#xff0c;广泛应用于深度学习和机器学习领域。以下是神经网络的基本结构及关键组成部分。 1. 神经网络的基本组成 一…...

基于 Couchbase 数据仓库元数据管理的可行性方案

在大数据体系中&#xff0c;元数据管理是数据治理的关键一环。以下是一套元数据管理的可行性方案&#xff0c;适合你的当前架构设计&#xff08;基于 Couchbase 数据仓库&#xff09;并支持高效管理数据的分层与结构。 1. 元数据管理的目标 统一数据管理&#xff1a;清晰描述 …...

SpringBoot:快速构建微服务应用

一、SpringBoot简介 什么是SpringBoot 是由Pivotal团队提供的快速开发框架。它基于Spring框架&#xff0c;可以用于快速构建微服务应用程序。SpringBoot提供了一种快速、便捷的方式来启动和配置一个基于Spring的应用程序&#xff0c;它封装了很多常用的配置&#xff0c;简化了开…...

英伟达市值“富可敌国”,AI基建核心地位稳固但仍有隐忧

英伟达市值惊人&#xff0c;超多数国家经济体截至2026年5月21日&#xff0c;英伟达的市值大约在5.5万亿美元。据悉&#xff0c;按IMF 2026年4月版《世界经济展望》的名义GDP预测&#xff0c;美国约32.38万亿美元&#xff0c;中国约20.85万亿美元&#xff0c;德国约5.45万亿美元…...

Spring AI生产环境 Checklist:20条黄金法则

前言 本文总结Spring AI生产环境部署的最佳实践&#xff0c;涵盖配置、安全、监控、性能四大维度&#xff0c;每条都是实战经验。 一、配置管理&#xff08;5条&#xff09; 1. API Key必须通过环境变量注入 # ✅ 推荐 spring:ai:openai:api-key: ${OPENAI_API_KEY}# ❌ 禁…...

【Spring】 AOP 核心原理,与声明式事务传播机制

一、什么是 AOPAOP&#xff08;Aspect Oriented Programming&#xff0c;面向切面编程&#xff09;核心思想在不修改原有业务代码的情况下&#xff0c;对方法进行统一增强。例如&#xff1a;日志记录&#xff1b;权限校验&#xff1b;事务管理&#xff1b;性能统计&#xff1b;…...

跨境漫游通信解析:全球漫游物联网卡的适配逻辑与行业应用

在跨境物联网行业中&#xff0c;除固定单一国家投放的设备外&#xff0c;有大量终端设备存在跨区域流动、多国家部署、不定向出海的使用需求。车载定位、跨境物流终端、移动式工控、巡回检测设备&#xff0c;这类硬件无法限定单一运营商网络&#xff0c;对多国网络切换、信号漫…...

Photoshop图层批量导出终极指南:告别手动操作的时代

Photoshop图层批量导出终极指南&#xff1a;告别手动操作的时代 【免费下载链接】Photoshop-Export-Layers-to-Files-Fast This script allows you to export your layers as individual files at a speed much faster than the built-in script from Adobe. 项目地址: https…...

STM32F429实时IIR滤波避坑指南:arm_biquad_cascade_df1_f32的群延迟与状态缓存管理

STM32F429实时IIR滤波工程实践&#xff1a;群延迟补偿与状态缓存优化策略 在嵌入式信号处理领域&#xff0c;实时滤波是许多应用的核心需求。当我们在STM32F429平台上使用arm_biquad_cascade_df1_f32函数实现IIR滤波时&#xff0c;会遇到两个关键挑战&#xff1a;群延迟对实时性…...

02. 基本类型

02. 基本类型 1. 概述 TypeScript 的核心特性是静态类型系统。基本类型是 TypeScript 类型系统的基础&#xff0c;包括 JavaScript 原有的原始类型和 TypeScript 新增的特殊类型。 // TypeScript 类型系统概览 ┌──────────────────────────────…...

Codex 适配国产信创环境完整部署指南(深度技术篇)

摘要随着国内信创产业全面落地推进&#xff0c;基于大代码模型的智能编码助手 Codex&#xff0c;在国产化服务器、操作系统、CPU 架构环境下的适配、编译、部署、调优成为企业数字化转型过程中的刚需技术痛点。本文从架构原理、国产硬件适配、操作系统兼容、依赖编译、容器化部…...

终极指南:使用EdiZon轻松编辑Switch游戏存档与内存

终极指南&#xff1a;使用EdiZon轻松编辑Switch游戏存档与内存 【免费下载链接】EdiZon &#x1f4a1; A homebrew save management, editing tool and memory trainer for Horizon (Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/ed/EdiZon EdiZon是一款…...

突破禾本科转化壁垒:农杆菌介导谷子基因编辑的关键参数解析 伯远生物

摘要&#xff1a;谷子&#xff08;Setaria italica&#xff09;作为C4禾谷类模式作物&#xff0c;其CRISPR基因编辑效率高度依赖稳定的遗传转化体系。针对谷子基因型依赖性强、愈伤再生困难等痛点&#xff0c;本文系统梳理了以胚性愈伤组织为核心的农杆菌转化流程&#xff0c;详…...