首先来看效果图。。。

1.先编辑页面

1)新建登录按钮,更名为Login

2)新建toggle,新建方式如下图

调整toggle的大小和位置到适当的范围。

3)新建同意用户条款按钮,步骤为新建UI->image

注意:在按钮上添加button脚本点,如果想更改button的文字,则需要修改text中的文本内容

4)制作用户条款弹窗

新建空物体,命名更改为Clause,在Clause下,新建image把图片透明度改为全透明,并在image上新增button脚本

然后设置图片点击控制用户条款窗口活动状态,具体做法参考下图

先点击Image,出现右侧属性,点击Onclick中的加号,把Clause拖到箭头所指位置,更改其中的方法为GameObject.SetActive(游戏物体活动状态)

设置弹窗背景:新建图片,并调整至适当位置

设置文字显示区域:新建Image,大小自己调整至合适位置。在其下新建文本显示Text。在属性中新增Mask脚本,新增Scroll Rect脚本,把Text拖到ScrollRect中Content中,用户条款一般显示方式为竖向滑动,所以把控制水平方向的Horizontal勾选去掉

测试文本区域范围尽量大于它的父物体,方便看显示效果

此时,用户条款弹窗制作完毕,要跟“同意用户协议条款”按钮进行关联。

找到刚才的条款按钮,在下面新建Onclick事件,把clause(用户条款弹窗)拖到按钮事件上。因为是要点击按钮之后跳出弹窗,所以要把活动状态后面的选项打钩。

5)制作点击按钮失败弹窗

与用户条款弹窗的制作流程基本相同,不再赘述。

2.开始写脚本,代码如下

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class LoginCtl : MonoBehaviour {
/// <summary>
/// 用户条款单选框
/// </summary>
public Toggle m_yonhutiaokuan_toggle;
/// <summary>
/// 同意用户条款弹窗
/// </summary>
public GameObject m_tanchaung;
// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

}
/// <summary>
/// 登录按钮
/// </summary>
public void action_Newlogin_btn()
{
if (m_yonhutiaokuan_toggle.isOn)
{
action_login_btn();
}
else
{
m_tanchaung.SetActive(true);
}
}
public void action_login_btn()
{

Debug.Log("进入下个界面 ");

}
}

把脚本挂给游戏物体,把相应的弹窗拖给脚本对象。注意Tanchuang是指登录失败的时候显示的弹窗。

挂载好脚本之后,运行程序。完成

Unity实现用户条款弹窗及登录的更多相关文章

  1. 解决服务器SID引起虚拟机不能加入AD域用户,无法远程登录的问题

    最近在公司搭建AD域控制器,发现无法在计算机真正添加域用户,也就是添加的用户虽然可以在本地登录,但是无法远程登录,尝试多种方法都无法解决,而最终原因居然是虚拟机导致的服务器的SID冲突.本文记录下该问 ...

  2. 用户 'IIS APPPOOL\DefaultAppPool' 登录失败。

    今天新建了一个ASP.NET(Language=C#)网站,配置好数据库后编写了几行代码测试数据库的是否能正常使用. 当运行程序时,第一个页面都没有打开就出现了错误(因为我首页就访问数据库,填充一些D ...

  3. 用户点击确认登录,自动跳转下面地址得到code

    PHP获取微信openid 简单教程 WEB   2014年10月29日  10868浏览  6评论 获取code https://open.weixin.qq.com/connect/oauth2/ ...

  4. 面试题之redis实现限制1小时内每用户Id最多只能登录5次

    面试题之redis实现限制1小时内每用户Id最多只能登录5次 /// <summary> /// redis实现限制1小时内每用户Id最多只能登录5次 /// </summary&g ...

  5. Linux启动或禁止SSH用户及IP的登录

    启动或禁止SSH用户登录 一般情况下,在使用Linux操作系统都不会去机房来操作机器,都是使用一些第三方的工具来操作. 比如使用SSH Secure File Transfer Client工具来传输 ...

  6. 用户 'IIS APPPOOL\ExportExcel' 登录失败。

    解决了前两个错误,在成功打开项目后,在访问数据库又越到如下错误 “/”应用程序中的服务器错误. 用户 'IIS APPPOOL\ExportExcel' 登录失败. 说明: 执行当前 Web 请求期间 ...

  7. IIS发布问题-用户 'IIS APPPOOL\DefaultAppPool' 登录失败

    今天新建了一个ASP.NET(Language=C#)网站,配置好数据库后编写了几行代码测试数据库的是否能正常使用. 当运行程序时,第一个页面都没有打开就出现了错误(因为我首页就访问数据库,填充一些D ...

  8. 无法打开登录所请求的数据库 "ASPState"。登录失败。 用户 'NT AUTHORITY/SYSTEM' 登录失败。

    原文:无法打开登录所请求的数据库 "ASPState".登录失败. 用户 'NT AUTHORITY/SYSTEM' 登录失败. 无法打开登录 'ASPState' 中请求的数据库 ...

  9. 用户 'IIS APPPOOL\IdealTest' 登录失败解决方案

    原文:用户 'IIS APPPOOL\IdealTest' 登录失败解决方案 运行MVC框架后可能会提示“用户 'IIS APPPOOL\IdealTest' 登录失败” 详细堆栈信息如下 说明: 执 ...

随机推荐

  1. 阿里云windows 2008 服务器处理挖矿程序 Miner

    阿里云盾最近报发现wanacry蠕虫病毒和挖矿进程异常 仔细检查进程后,发现两个奇怪的进程 Eternalblue-2.2.0.exe,winlogins.exe 特别是伪装成 winlogins.e ...

  2. 用PIL库进行图像处理

    一.如果系统里没有安装PIL库的,请先到命令提示符输入“pip install pillow”进行安装 二.之后就可以参考以下的代码 from PIL import Image from pylab ...

  3. 详解Bootstrap实现基本布局的方法

    看到了一篇 20 分钟打造 Bootstrap 站点的文章,内容有点老,重新使用bootstrap教程实现一下,将涉及的内容也尽可能详细说明. 1. 创建基本的页面我们先创建一个基本的 HTML 模板 ...

  4. git checkout --ours 【学习笔记】

    用新分支:git checkout --theirs 文件用master分支:git checkout --ours 文件 执行之后git add

  5. XSS漏洞学习笔记

    XSS漏洞学习 简介 xss漏洞,英文名为cross site scripting. xss最大的特点就是能注入恶意的代码到用户浏览器的网页上,从而达到劫持用户会话的目的. 说白了就是想尽办法让你加载 ...

  6. MemoryCache

    https://docs.microsoft.com/en-us/dotnet/api/system.runtime.caching.memorycache?view=netframework-4.8 ...

  7. 安装Office2016遇到“无法流式传输Office”问题

    安装Office2016遇到“无法流式传输Office”问题,请问如何解决 很抱歉,找不到所需的文件,请检查安装源是否可访问,然后再试. 错误代码:30068-39(2) ============== ...

  8. 牛客练习赛43F Tachibana Kanade Loves Game

    题目地址 Link 题解 这题其实就是求1~n中有多少与2~20互质的数,然后其实只跟1~20里面的质数有关. 那么考虑容斥一下求出来一共有多少个不互质的,用n减一下就是互质的数的个数了.然后判一下a ...

  9. Java内存模型探秘

    1.Java内存模型概述 Java内存模型是一种抽象概念,不是真实存在的.主要定义了程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存取出变量这样的底层细节.注意:这里的变量仅包括实例字段 ...

  10. Antd-Pro2.0版本如何修改代理,让Mock变为真实服务器接口

    Antd-pro2.0之前更改代理方式 更改.roadhogrc.mock.js export default { 'GET /api/*': 'http://localhost:8001/', 'P ...