首先来看效果图。。。

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. centos 时钟配置

    centos 7 时钟配置: timedatectl 命令: [root@localhost ~]# timedatectl --help timedatectl [OPTIONS...] COMMA ...

  2. 图像旋转与图像缩放及Matlab代码实现

    本周的作业是自己通过公式编写图像旋转与缩放的代码.今天先通过调用函数的方法来实现. 图像的旋转: A=imread('2.jpg'); J=imrotate(A, 30); subplot(1,2,1 ...

  3. Bootstrap3基础 栅格系统 页面布局随 浏览器大小的变化而变化

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  4. week1总结

    week1总结 1. 开发上线工具流程以及规范类 规范: css注释:/* Comment Text*/ Css嵌套选择器:请不要让嵌套选择器的深度超过 3 层! 再说一遍: 永远不要嵌套 ID 选择 ...

  5. (转载)Unity3D所要知道的基础知识体系大纲,可以对照着学习,不定期更新

    本文献给,想踏入3D游戏客户端开发的初学者. 毕业2年,去年开始9月开始转作手机游戏开发,从那时开始到现在一共面的游戏公司12家,其中知名的包括搜狐畅游.掌趣科技.蓝港在线.玩蟹科技.天神互动.乐元素 ...

  6. J2EE笔记

    J2EE的优势 J2EE允许公司把一些通用的.很繁琐的服务端任务交给中间件供应商去完成.这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间.高级中间件供应商提供以下这些复杂的中间件服务 ...

  7. 解决Ubuntu无法通过ssh远程登录问题

    1.  安装 open ssh: sudo apt-get install ssh sudo apt-get install openssh-server 2. 编辑配置文件,允许以 root 用户通 ...

  8. Lintcode155-Minimum Depth of Binary Tree-Easy

    155. Minimum Depth of Binary Tree Given a binary tree, find its minimum depth. The minimum depth is ...

  9. The threat to world

    The threat to world 对世界贸易的威胁"> The rules-based system is in grave(严重的) danger 基于规则的体系岌岌可危 DO ...

  10. Cocos Creator学习二:查找节点和查找组件

    1.目的:只有通过方便的获取节点对象以及组件,才能较好的进行逻辑控制. 2.通过 cc.find(节点全路径名称字符串) 获取节点. 3.通过getComponent获取组件(注意一个是类型,一个是类 ...