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 : // 跳 ...
随机推荐
- c# http Post Get 方法
/// <summary> /// get方式访问webapi /// </summary> /// <param name="url">< ...
- iView表格行验证问题
iView Table 3.2.0 版本 需求: 验证前两行的姓名不能为空: 解决方案: 判断是否前两行,如是则增加校验规则: 需在<FormItem>前加<Form>标签否则 ...
- 【数据结构】8.java源码关于HashMap
1.hashmap的底层数据结构 众所皆知map的底层结构是类似邻接表的结构,但是进入1.8之后,链表模式再一定情况下又会转换为红黑树在JDK8中,当链表长度达到8,并且hash桶容量超过64(MIN ...
- GLFW+GLAD OpenGL Mac开发环境搭建
前言 OpenGL 是什么?The Industry Standard for High Performance Graphics 这是官方解释.说白了他就是一套标准接口.对,是接口,并没有实现具体的 ...
- Linux shell 获得字符串所在行数及位置
shell 获得字符串所在行数及位置 01 获取字符串所在的行数 方式一:用grep -n [root@root]# cat test apple bit create delect exe flow ...
- Codeforces 1009D
题意略. 思路: 可知对于一个拥有n个点的图来说,它至少需要有n - 1条边来维持连通性,而且数字1恰好与后面的n - 1个数字互质: 至于n个点的图可以产生合法的互质边的个数的上限,我们可以通过莫比 ...
- Oracle性能图表工具:awrcrt.sql 介绍,更新到了2.14 (2018年3月31日更新)
2018-03-31 awrcrt更新到了2.14版本, 下载地址为 https://pan.baidu.com/s/1IlYVrBJuZWwOljomVfta5g https://pan.baidu ...
- Mysql高手系列 - 第4天:DDL常见操作汇总
这是Mysql系列第4篇. 环境:mysql5.7.25,cmd命令中进行演示. DDL:Data Define Language数据定义语言,主要用来对数据库.表进行一些管理操作. 如:建库.删库. ...
- 骑士精神(IDA*)
题目描述 输入格式 第一行有一个正整数T(T<=10),表示一共有N组数据.接下来有T个5×5的矩阵,0表示白色骑士,1表示黑色骑士,*表示空位.两组数据之间没有空行. 输出格式 对于每组数据都 ...
- codeforces 811 C. Vladik and Memorable Trip(dp)
题目链接:http://codeforces.com/contest/811/problem/C 题意:给你n个数,现在让你选一些区间出来,对于每个区间中的每一种数,全部都要出现在这个区间. 每个区间 ...