UNITY 模拟手机滑屏功能
挂到ScrollRect组上,模拟手机滑屏功能
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using DG.Tweening;
using DG.Tweening.Core;
using DG.Tweening.Plugins.Options;/// <summary>
/// 鼠标滑动 模仿手机桌面
/// </summary>
public class UIDragScroll : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{ScrollRect scrollRect;Scrollbar scrollbar;//拖动动画TweenerCore<float, float, FloatOptions> tweenerCore;//每页的大小float itemSize;//内容页Transform content;//孩子个数int childCount;//每个step的valuefloat[] stepValueArr;private void Start(){scrollRect = GetComponent<ScrollRect>();scrollbar = scrollRect.horizontalScrollbar;itemSize = scrollRect.viewport.rect.width;content = scrollRect.content;childCount = content.transform.childCount;stepValueArr = new float[childCount];for (int i = 0; i < stepValueArr.Length - 1; i++){stepValueArr[i] = i * (1f / (childCount - 1));}stepValueArr[stepValueArr.Length - 1] = 1;}public void OnPointerDown(PointerEventData eventData){if (tweenerCore != null){tweenerCore.Kill();tweenerCore = null;}}public void OnPointerUp(PointerEventData eventData){float currValue = scrollbar.value;float middleValue;float targetValue = 1;if (currValue >= 1){targetValue = 1;}else{for (int i = 0; i < stepValueArr.Length - 1; i++){middleValue = (stepValueArr[i] + stepValueArr[i + 1]) / 2;if (currValue <= middleValue){targetValue = stepValueArr[i];break;}}}float val = scrollbar.value;tweenerCore = DOTween.To(() => val, x => val = x, targetValue, 0.5f).OnUpdate(() =>{scrollbar.value = val;});}
}
UNITY 模拟手机滑屏功能相关推荐
- 利用swiper和css3实现手机滑屏与动画效果
很多人前端工程师在做一些手机滑屏类的落地窗页面,并且带有一堆动画时都是一脸懵逼,好复杂啊,js该怎么写?一堆问题,但是其实想实现这些功能非常简单.只需要大家灵活运用swiper和css3的animat ...
- app内录屏开发 ios_iOS 一行代码实现手机录屏功能
iOS9以后苹果推出ReplayKit框架,专门用来实现手机录屏功能,所以想要实现录屏功能再也不需要配置第三方了,下面是我实现的效果图,敬请欣赏!
- php手机投屏功能,电脑手机投屏怎么操作设置?
把手机上的电视剧投放在电视上你会的话,那么把手机上的文件投放在电脑呢?电脑手机投屏怎么操作设置?不用数据线一键传输,也不用下载,方便快捷哦,下面就跟着小编来看看吧. 手机.电脑是我们生活中不可或缺的电 ...
- 小米手机录屏功能在哪?图文教学,轻松解决
相信有很多小伙伴使用的手机正是小米手机.在使用小米手机的时候,有时候需要对手机屏幕进行录制,却发现怎么样都找不到小米手机的录屏功能.小米手机的录屏功能在哪?今天,小编就带大家来看看. 小米手机录屏功能 ...
- win10无线投屏_Win10系统自带手机投屏功能真的能取代投屏器吗?
Win10系统有自带的手机投屏功能你听说了吗?据说投屏简单快速.电脑与手机都无需下载第三方软件.更无需任何额外的费用. 这么好的投屏功能小编当然要来探索探索啦. 首先,我们来看看它的投屏步骤是否繁琐. ...
- 手机投屏功能说明及开发代码
手机投屏功能说明 手机投屏--主要是实现小屏转大屏功能,可以将手机上的图片,音频,视频,文档无线同步到HDMI接口电视机和投影从上大屏观看,适用于家庭娱乐,商务会议,教学培训等.应用场景: 一.将手机 ...
- 小米android 7 分屏,官方确认!小米手机分屏功能7月上线:支持多款机型
今天下午的新品发布会,小米发布了第二代大屏续航手机小米Max 2,采用6.44英寸大屏.5300mAh容量电池(支持给其它设备充电),主摄像头使用了和小米6一样的索尼IM386传感器.售价方面,,4G ...
- 模拟手机通讯录联系人功能
实训:模拟手机通讯录联系人功能 package com.qf.day43_02; import android.app.Activity; import android.app.AlertDialog ...
- 小米手机怎么录屏?小米手机录屏功能在哪?
小米手机怎么录屏?当你想要在你的小米手机中录制一段视频的时候,该怎么去做呢?小米手机录屏功能在哪? 相信很多人喜欢用小米,一个很大的原因便是功能丰富多样的MIUI.本期要给大家分享的是如何用小米手机进 ...
最新文章
- LoadRunner测试结果分析
- 解决了一些RSS阅读器不能查看图片的问题
- 怎么做 慢充 话费_高佣联盟充值话费省钱小技巧教程
- Dictionary转为Model实例
- java打印整个向量_Java中Vector向量的用法
- einops.rearrange、repeat、reduce==>对维度进行操作
- mysql inet addr_InetAddress类的使用
- android sdk离线安装
- 《An Attentive Survey of Attention Models》阅读笔记
- dpdk优化(转)???
- java当前时间长整数值_在Java中获取当前年份的整数值
- VB.net小技巧——VB中调用matlab
- 【学习笔记】吉司机线段树
- matlab保存图片saveas,matlab saveas 图片
- GZHU - 1523 疯狂钻石 (完全背包)
- ArcEngine ISymbol效果预览
- 设计师:设计师之家装材料知识之家装八项(吊顶材料、门窗材料、五金材料、墙面材料、地面材料、胶粘材料、油漆材料、水电材料等)之详细攻略
- mysql ip访问限制解除
- ks live room danmu
- 594. Longest Harmonious Subsequence