UGUI_关卡选项界面
1.Image组件—“Source Image”,Set Native Size.
2.Image组件—“Image Type”——Sliced
编辑要放大缩小的图片,Sprite Editor,采用九宫格切图。
3.创建空物体(作为父物体),添加Componment—Layout—Grid Layout Group(是下面的子物体自动排列)
创建空物体和创建Panel作为父物体是由区别的!
4.锚点问题,是GUI中容易忽视但却十分重要的点。
5.Prefabs的有效使用,后期通过更改Prefabs来进行完整的映射修改。
6.滚动图片列表的制作
(1)选项卡图标排列整齐
(2)创建一个Image组件—“背景图”,命名为ScrollPanel(作为父物体,作为Mask),此时将选项卡托至此背景图下作为子物体。
(3)在“背景图”上添加“Scroll Rect”滑动组建,Content对象为选项卡图标集合,来控制子物体。
(4)在“背景图”上添加"Mask"组建。
(5)按页数进行滑动(分页)脚本
(6)单选按钮,进入制定页面,并与鼠标滑动脚本相关联。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI; public class LevelButtonScrollRect : MonoBehaviour ,IBeginDragHandler,IEndDragHandler{ // Use this for initialization
private ScrollRect scrollRect;
private float[] pageArrayFloats = new[] {, 0.33333f, 0.66666f, };
void Start ()
{
scrollRect = GetComponent<ScrollRect>();
} // Update is called once per frame
void Update () { }
public void OnBeginDrag(PointerEventData eventData)
{ }
public void OnEndDrag(PointerEventData eventData)
{
//Vector2 offsetTemp = scrollRect.normalizedPosition;
float offsetTemp = scrollRect.horizontalNormalizedPosition;
print(offsetTemp);
}
}
父物体添加过"ToggleGroup"组件
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI; public class LevelButtonScrollRect : MonoBehaviour ,IBeginDragHandler,IEndDragHandler{ // Use this for initialization
private ScrollRect scrollRect;
private float[] pageArrayFloats = new[] {, 0.33333f, 0.66666f, };
private float targetHorizontalPosition = ; //默认为第一页
private bool isDrag = false;
public float speed = 5f;
void Start ()
{
scrollRect = GetComponent<ScrollRect>(); //寻找组件,物体间的通信
} // Update is called once per frame
void Update () {
if (isDrag==false)
{
scrollRect.horizontalNormalizedPosition = Mathf.Lerp(scrollRect.horizontalNormalizedPosition,
targetHorizontalPosition, speed * Time.deltaTime);
}
} public void OnBeginDrag(PointerEventData eventData)
{
isDrag = true;
} public void OnEndDrag(PointerEventData eventData)
{
isDrag = false;
float posX = scrollRect.horizontalNormalizedPosition;
int index = ;
float offset = Mathf.Abs(pageArrayFloats[index] - posX);
for (int i = ; i < pageArrayFloats.Length; i++)
{
float offsetTemp = Mathf.Abs(pageArrayFloats[i] - posX);
if (offsetTemp < offset)
{
index = i;
offset = offsetTemp;
}
} //哪一页的位置与当前页的位置差最小,就定在哪一页上
//scrollRect.horizontalNormalizedPosition = pageArrayFloats[index];
targetHorizontalPosition = pageArrayFloats[index];
}
}
//注:最后一次鼠标滑动的位置是确定的,让这个位置与每一页的位置(4页的位置)比较,差值最小的,则固定在(4页位置)中的哪一页上
//多次判断语句,用到for循环(特别是for{if(){}})
UGUI_关卡选项界面的更多相关文章
- android判断adb调试是否打开及代码跳转到开发者选项界面
boolean enableAdb = (Settings.Secure.getInt(getContentResolver(), Settings.Secure.ADB_ENABLED, 0) &g ...
- ubuntu和windows系统双系统的开机选项界面有很多无关选项
我的电脑是双系统,在进入系统选项的时候有很多无关的选项, 例如: 解决的方法是在终端输入 sudo gedit /boot/grub/grub.cfg 把文件多余的开机选项删除例如: 保存就可以,开机 ...
- 在iOS应用程序中打开设备设置界面及其中某指定的选项界面
摘自:http://stackoverflow.com/questions/8246070/ios-launching-settings-restrictions-url-scheme [[UIApp ...
- CCScrollView 实现帮助界面、关卡选择
本文出自[无间落叶]:http://blog.leafsoar.com/archives/2013/07-27.html 本文介绍了 CCScrollView 来编写帮助界面和关卡选择界面的方法,在编 ...
- 吐槽版︱MRO-Microsoft R Open快捷键+界面识别+功能设置
下载了之后,发现连运行(RUN键)在哪都不知道,蒙逼的在哪倒弄半天,都执行不了...问了别人,都说"ctrl+enter",但是我的电脑执行不了,于是今天就狠狠的一个一个按钮的点一 ...
- 不同版本的IDE ,对应的选项 有变化
xx.dproj对应的项目级选项 也不同,所以,要分别保存为不同的文件. 如果不同的IDE,打开同一个 .dproj文件,会因为 选项界面的选项不同,提示一些错误.
- 【比赛打分展示双屏管理系统-专业版】Other.ini 配置文件解读以及排行榜界面及专家评语提交展示等具体配置
第一个问题:Other.ini配置文件的解读: 在软件根目录下,找到Other.ini配置文件,打开如下: 配置文件解读: iOrderIDOrXSID:默认为0,按照软件 选项/排行榜和奖项 的设置 ...
- 安卓界面之Viewpager和Tablayout实现滑动界面
摘要:六部实现选项卡界面 一. 在gradle文件添加以下代码: implementation 'com.android.support:design:28.0.0' 在gradle文件添加以上代码后 ...
- android的系统设置界面
Intent 的 意图: Intent intent = new Inetnt(Setings); Setings: 1. ACTION_ACCESSIBILITY_SETTINGS : // 跳 ...
随机推荐
- 深入理解 linux磁盘顺序写、随机写
一.前言 ● 随机写会导致磁头不停地换道,造成效率的极大降低:顺序写磁头几乎不用换道,或者换道的时间很短 ● 本文来讨论一下两者具体的差别以及相应的内核调用 二.环境准备 组件 版本 OS Ubunt ...
- 【转】linux tar.gz zip 解压缩 压缩命令
http://apps.hi.baidu.com/share/detail/37384818 download ADT link http://dl.google.com/android/ADT-0. ...
- Duilib的圆环形 进度条 实现(网易云信版本)
/** @file CircleProgress.h* @brief 圆环型进度条控件,圆环中间可以有文本(如85%)* @copyright (c) 2019-2022, NetEase Inc. ...
- 微信小程序商城系统怎样搭建?
微信是一种非常便捷的生活方式,微信小程序一直深受企业和商家的青睐,如美团.京东.拼多多.唯品会.小红书等知名公司都推出了自己的小程序.对于网上商城小程序的开发似乎是一件非常难的事情,用什么开发?如何开 ...
- Java 内存模型和 JVM 内存结构真不是一回事
这两个概念估计有不少人会混淆,它们都可以说是 JVM 规范的一部分,但真不是一回事!它们描述和解决的是不同问题,简单来说, Java 内存模型,描述的是多线程允许的行为 JVM 内存结构,描述的是线程 ...
- HOWTO: Amira/Avizo中如何设置数据尺度单位
很多朋友是数据量化完成后,问统计表中的数据尺度单位,这种情况恐怕需要从头再处理一次,所以对于Amira/Avizo的新用户来说,在准备进行量化分析之前就应该设置好尺度单位,设置步骤如下: 1. 在A ...
- Visual Studio 2019 远程调试工具(Remote Debugger)使用方法
目录 0.Visual Studio 2019 远程调试工具使用场景 1.Visual Studio 2019 远程调试工具下载地址: 2.Visual Studio 2019 远程调试工具-安装及运 ...
- Selenium3 + Python3自动化测试系列十——调用JavaScript代码
调用JavaScript代码 一.调用JavaScript代码方法 Selenium在对浏览器操作时会有自动化代码中不稳定的部分,经常出错的部分,可以将这部分对网页元素进行操作的代码换成对应的Java ...
- CSU1784
题意略. 思路:为了更好地求出一段连续数字的异或和,我们可以用前缀异或和来维护,现在我们只需要考虑每一个在数组中的数字向前异或,且在指定范围内, 异或值为全1的个数有多少个.算出每一个位子能做出的贡献 ...
- [Python] 通过采集两万条数据,对《无名之辈》影评分析
一.说明 本文主要讲述采集猫眼电影用户评论进行分析,相关爬虫采集程序可以爬取多个电影评论. 运行环境:Win10/Python3.5. 分析工具:jieba.wordcloud.pyecharts.m ...