首先来看效果图。。。
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是指登录失败的时候显示的弹窗。
挂载好脚本之后,运行程序。完成