Unity类似手机通知栏的滑动效果
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
using Vuforia;
public class Push : MonoBehaviour
{
private bool isTranslate = false;
public float rotateSpeed = 1;
bool push = false;
public GameObject sampleUINewPosition;//要滑动到的位置
public GameObject sampleUIOldPosition;//初始位置
public GameObject sampleUI;
float distance;
float time = 0;
// Use this for initialization
void Start()
{
}
public void MyPointerDown()//判断图片被点击到
{
push = true;
// Debug.Log("被点击");
}
public void MyPointerUp()
{
isTranslate = false;
push = false;
//Debug.Log("点击松开");
}
// Update is called once per frame
void Update()
{
distance = sampleUI.transform.position.y - sampleUIOldPosition.transform.position.y;//计算离初始位置的距离
if (push)
{
MyMove();
}
else
{
}
AutoMove();
}
void AutoMove()
{
if (distance > 230 && isTranslate == false)
{
sampleUI.transform.Translate(Vector2.up * 35, Space.Self);
if (sampleUI.transform.position.y > sampleUINewPosition.transform.position.y)
{
sampleUI.transform.position = sampleUINewPosition.transform.position;
}
}
if (distance < 230 && isTranslate == false)
{
sampleUI.transform.Translate(Vector2.down * 5, Space.Self);
if (sampleUI.transform.position.y < sampleUIOldPosition.transform.position.y)
{
sampleUI.transform.position = sampleUIOldPosition.transform.position;
}
}
}
void MyMove(){
if (Input.GetMouseButtonDown(0))
{//0代表左键1代表右键2代表中键
isTranslate = true;
//Debug.Log("手指触摸到");
}
if (Input.GetMouseButtonUp(0))
{
isTranslate = false;
//Debug.Log("手指触摸丢失");
}
if (isTranslate)
{
sampleUI.transform.Translate(Vector2.up * rotateSpeed * Input.GetAxis("Mouse Y"), Space.Self);//跟随手指移动
if (sampleUI.transform.position.y < sampleUIOldPosition.transform.position.y)
{
sampleUI.transform.position = sampleUIOldPosition.transform.position;//限制位置不能小于初始位置
}
if (sampleUI.transform.position.y > sampleUINewPosition.transform.position.y)//限制位置不能大于初始位置
{
sampleUI.transform.position = sampleUINewPosition.transform.position;
}
}
}
}
//UI被点击检测要添加如图
Unity类似手机通知栏的滑动效果相关推荐
- Android抽屉(SlidingDrawer --类似android通知栏下拉效果)
Android抽屉(SlidingDrawer)的实现发 - 红黑联盟 http://www.2cto.com/kf/201301/182507.html 可动态布局的Android抽屉之基础 htt ...
- 仿百度动态Android源码,Android 仿百度手机助手首页滑动效果
今天看到百度手机助手首页上的滑动效果非常nice,主要功能归结为: 1.当手指上划时,顶部搜索栏随手指移动距离而缩小到隐藏,隐藏后内容还是可以继续移动 2.手指下滑时,当显示内容达到第一个时,顶部搜索 ...
- Axure之手机屏保滑动效果的实现
首先说说最后要实现的效果吧: 界面首先看到的是屏保,然后从屏幕底端上滑(同时底端会出现一个等宽的灰条)之后能够看到主页面!当上滑之后释放的时候上滑的高度超过手机屏幕的1/3则自动滑到顶端,否则自动下滑 ...
- Unity 中实现UI左右滑动效果
借助DoTween实现功能非常方便哦~,记得导入DoTween插件进项目 1.生成所有UI元素 根据配置面板之间的距离,大小,将UI生成到指定位置,这里是将第一个元素生成到屏幕的正中间 public ...
- Android素描算法及实现手指在图片上左右滑动调节图片透明度,最终实现类似调节素描浓度的效果
一.前期基础知识储备 UI掌握PS这一逆天的软件,可以实现将图片转化为素描或者水彩的效果,以素描为例: 在Photoshop中打开一张人物照片,按下快捷键"Ctrl+Shift+U" ...
- unity给头发添加物理_不需要写代码,直接在unity实现手机可以跑的毛发效果
马上注册,加入CGJOY,让你轻松玩转CGJOY. 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 大家好, 我是炭窑居士, 好久不见 这次由我和好友fxyyoung一起给大家带来原创的毛发 ...
- Unity Shader - 实现类似镜面反射、水面扰动效果
前几天,家里出了一些问题,搞得心情很不好,面试我也取消了. 唉,反正那个伤心啊,不过,昨天处理好了. 所以说啊,家和万事兴. 加油加油!!! 所以心情好了,我又写博客了. 另外说一下:图形我今年201 ...
- 前端:实现手机左右滑动效果
需求:手机可以左右滑动,显示商品或者div信息 原理:建立两个盒子,一个是可以看到的手机屏幕盒子,一个是自己设定好的盒子,左右滑动,只显示与手机屏幕盒子交集的部分 代码: <div id=&qu ...
- 自动轮播图html代码适应手机,JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)...
1.本文使用js+jQuery实现轮播图,需要引用jquery包,另种实现分别是animate实现自适应的轮播,以及transform平滑轮播(在注释代码中). 2.代码中的图片大家自己更换就可以了, ...
最新文章
- Linux之tee命令
- 英国更注重人工智能基础性研究
- 网站优化人员必须具备的几个工作原则
- VS调试js学习总结
- 日常生活 -- 嵌入式面试
- 【Python】多线程
- ftp获取远程Pdf文件
- python如何做接口测试_python实现接口测试
- codeforces 149E . Martian Strings kmp
- 9.Java 面试题整理(UML 方面 )
- html里定义函数调用函数调用,函数调用的三种方式是什么?
- ICML 2019 | 强化学习用于推荐系统,蚂蚁金服提出生成对抗用户模型(附论文下载链接)...
- 水晶報表之Datetime TO shortDate
- Python天天学_03_基础三
- 【论文笔记】From Facial Parts Responses to Face Detection: A Deep Learning Approach
- 水果店处理坏果,水果店卖不掉的水果如何处理
- 博通蓝牙linux,好消息,使用Broadcom蓝牙的有福了,新驱动,新选择,BrcmPatchRAM...
- 技术干货丨摄像头管理功能架构,EdgeX ONVIF/USB 管理和推理平台
- 翻译Deep Learning and the Game of Go(10)第七章:从数据中学习:一个深度学习AI
- 为什么OFDM抗多径?