unity实现翻页效果
本文实例为大家分享了unity实现翻页效果的具体代码,供大家参考,具体内容如下
一、示意图
二、步骤
创建物体ToPanel;添加组件ScrollRect,
在下面创建一个空物体用来装需要移动的子物体,
创建一个Scrollbar;
三、代码
下面展示一些内联代码片。
usingUnityEngine;
usingSystem.Collections;
usingUnityEngine.UI;
usingSystem.Collections.Generic;
publicclassSliderControl:MonoBehaviour
{
publicScrollbarm_Scrollbar;
publicScrollRectm_ScrollRect;
[Header("子物体的父物体")]
publicGameObjectpanel;
[Header("移动到多少百分比图片切换")]//注释
[Range(0.1f,0.9f)]//范围
publicfloatbanfenbi=0.5f;
[Header("是否限制一次只能切换一张图片")]
publicboollimit=false;
privatefloatmTargetValue;
privateboolmNeedMove=false;
privateconstfloatSMOOTH_TIME=0.2F;
privatefloatmMoveSpeed=0f;
privatefloatchild_Count;
privatefloatnum1;
privatefloatvar_Down;
privateListnum_list1=newList();
privateListnum_list2=newList();
privateListnum_list3=newList();
privateintweizhi;//页数
voidStart()
{
weizhi=0;
child_Count=panel.transform.childCount;
num1=1/(child_Count-1);
print("-----子物体数量------"+child_Count+""+num1);
for(inti=0;iweizhi)
{
weizhi=weizhi+1;
}
elseif(i==weizhi)
{
weizhi=i;
}
else
{
weizhi=weizhi-1;
}
mTargetValue=num_list1[weizhi];
}
else
{
mTargetValue=num_list1[i];
weizhi=i;//页数
}
break;
}
}
mNeedMove=true;
mMoveSpeed=0;
}
///
///直接跳转到指定页数
///
///
publicvoidOnButtonClick(intvalue)
{
mTargetValue=num_list1[value];
if(mTargetValue<0)
{
mTargetValue=0;
}
if(mTargetValue>1)
{
mTargetValue=1;
}
weizhi=value;
mNeedMove=true;
}
voidUpdate()
{
if(mNeedMove)
{
if(Mathf.Abs(m_Scrollbar.value-mTargetValue)<0.01f)
{
m_Scrollbar.value=mTargetValue;
mNeedMove=false;
MoveEnd();
return;
}
m_Scrollbar.value=Mathf.SmoothDamp(m_Scrollbar.value,mTargetValue,refmMoveSpeed,SMOOTH_TIME);
}
}
///
///移动完毕的回调
///
publicvoidMoveEnd()
{
print("-----移动完毕-----第几页---"+(weizhi+1));
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。