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类似手机通知栏的滑动效果相关推荐

  1. Android抽屉(SlidingDrawer --类似android通知栏下拉效果)

    Android抽屉(SlidingDrawer)的实现发 - 红黑联盟 http://www.2cto.com/kf/201301/182507.html 可动态布局的Android抽屉之基础 htt ...

  2. 仿百度动态Android源码,Android 仿百度手机助手首页滑动效果

    今天看到百度手机助手首页上的滑动效果非常nice,主要功能归结为: 1.当手指上划时,顶部搜索栏随手指移动距离而缩小到隐藏,隐藏后内容还是可以继续移动 2.手指下滑时,当显示内容达到第一个时,顶部搜索 ...

  3. Axure之手机屏保滑动效果的实现

    首先说说最后要实现的效果吧: 界面首先看到的是屏保,然后从屏幕底端上滑(同时底端会出现一个等宽的灰条)之后能够看到主页面!当上滑之后释放的时候上滑的高度超过手机屏幕的1/3则自动滑到顶端,否则自动下滑 ...

  4. Unity 中实现UI左右滑动效果

    借助DoTween实现功能非常方便哦~,记得导入DoTween插件进项目 1.生成所有UI元素 根据配置面板之间的距离,大小,将UI生成到指定位置,这里是将第一个元素生成到屏幕的正中间 public ...

  5. Android素描算法及实现手指在图片上左右滑动调节图片透明度,最终实现类似调节素描浓度的效果

    一.前期基础知识储备 UI掌握PS这一逆天的软件,可以实现将图片转化为素描或者水彩的效果,以素描为例: 在Photoshop中打开一张人物照片,按下快捷键"Ctrl+Shift+U" ...

  6. unity给头发添加物理_不需要写代码,直接在unity实现手机可以跑的毛发效果

    马上注册,加入CGJOY,让你轻松玩转CGJOY. 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 大家好,  我是炭窑居士, 好久不见 这次由我和好友fxyyoung一起给大家带来原创的毛发 ...

  7. Unity Shader - 实现类似镜面反射、水面扰动效果

    前几天,家里出了一些问题,搞得心情很不好,面试我也取消了. 唉,反正那个伤心啊,不过,昨天处理好了. 所以说啊,家和万事兴. 加油加油!!! 所以心情好了,我又写博客了. 另外说一下:图形我今年201 ...

  8. 前端:实现手机左右滑动效果

    需求:手机可以左右滑动,显示商品或者div信息 原理:建立两个盒子,一个是可以看到的手机屏幕盒子,一个是自己设定好的盒子,左右滑动,只显示与手机屏幕盒子交集的部分 代码: <div id=&qu ...

  9. 自动轮播图html代码适应手机,JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)...

    1.本文使用js+jQuery实现轮播图,需要引用jquery包,另种实现分别是animate实现自适应的轮播,以及transform平滑轮播(在注释代码中). 2.代码中的图片大家自己更换就可以了, ...

最新文章

  1. Linux之tee命令
  2. 英国更注重人工智能基础性研究
  3. 网站优化人员必须具备的几个工作原则
  4. VS调试js学习总结
  5. 日常生活 -- 嵌入式面试
  6. 【Python】多线程
  7. ftp获取远程Pdf文件
  8. python如何做接口测试_python实现接口测试
  9. codeforces 149E . Martian Strings kmp
  10. 9.Java 面试题整理(UML 方面 )
  11. html里定义函数调用函数调用,函数调用的三种方式是什么?
  12. ICML 2019 | 强化学习用于推荐系统,蚂蚁金服提出生成对抗用户模型(附论文下载链接)...
  13. 水晶報表之Datetime TO shortDate
  14. Python天天学_03_基础三
  15. 【论文笔记】From Facial Parts Responses to Face Detection: A Deep Learning Approach
  16. 水果店处理坏果,水果店卖不掉的水果如何处理
  17. 博通蓝牙linux,好消息,使用Broadcom蓝牙的有福了,新驱动,新选择,BrcmPatchRAM...
  18. 技术干货丨摄像头管理功能架构,EdgeX ONVIF/USB 管理和推理平台
  19. 翻译Deep Learning and the Game of Go(10)第七章:从数据中学习:一个深度学习AI
  20. 为什么OFDM抗多径?

热门文章

  1. python-PyCharm导入numpy库
  2. SQL server查询「李」姓老师的数量
  3. 龙芯2k1000 linux内核,2017年的龙芯2K1000 已获得新的Linux内核补丁
  4. hdu 4160 (Dolls)二分图的最小路径覆盖
  5. 万字详文,剖析企业数字化的降“本”增效
  6. EBay 接口开发(restful接口调用)
  7. 【luogu CF1569D】Inconvenient Pairs(思维)
  8. 用C语言写了一个明日方舟的简略的抽卡小游戏
  9. DeepMind提出关系RNN:构建关系推理模块,强化学习利器
  10. 一秒学会给自己的PDF文档加密!