使用NGUI制作悬浮菜单。
在UIAnchor锚点下的Offset建立背景和按钮菜单。同过InputMouseXY的位置判断。是否应该弹出和收回。
OffSet在此处是作为TweenGameObject的父对象,他被Tween将会带着它下面的子对象一起弹出。这就实现了我们弹出菜单的目的OutPos就是弹出检测的XY值,InPos是收回检测的XY值。实现脚本预览效果如下:

源代码如下:
------------------------------------------------------------------------
using UnityEngine;
using System.Collections;
public class UIGameSetTween : UITweener {
   
    public Vector3 FromPos, ToPos;
    //对象是否弹出;
    public bool isTweenOut = false;
    //弹出对象;
    public GameObject tweenGameObject;
    //弹出监听点,回收监听点;
    public Vector2 outPos, inPos;

override protected void OnUpdate(float factor, bool isFinished)
    {
        // cachedTransform.localPosition = from * (1f - factor) + to * factor;
    }
// Use this for initialization
void Start () {
        
}

// Update is called once per frame
void Update () {
        //Debug.Log(Input.mousePosition);
        if (!isTweenOut)
        {
            //符合弹出监控点;
            if(Input.mousePosition.x<=outPos.x&&Input.mousePosition.y<=outPos.y){
                ShowInfo(tweenGameObject);
                isTweenOut = !isTweenOut;
            }
        }
        if(isTweenOut){
            //符合回收监控点;
            if(Input.mousePosition.x>=inPos.x || Input.mousePosition.y>=inPos.y){
                DisShowInfo(tweenGameObject);
                isTweenOut = !isTweenOut;
            }
        }

}

public void ShowInfo(GameObject twGO) {
        TweenPosition tw = UITweener.Begin<TweenPosition>(twGO,duration);
        tw.from = FromPos;
        tw.to = ToPos;
        if(duration<=0){
            tw.Sample(0.3f,true);
            tw.enabled=false;
        }
    }

public void DisShowInfo(GameObject twGO)
    {
        TweenPosition tw = UITweener.Begin<TweenPosition>(twGO, duration);
        tw.from = ToPos;
        tw.to = FromPos;
        if (duration <= 0)
        {
            tw.Sample(0.3f, true);
            tw.enabled = false;
        }
    }

}

NGUI悬浮菜单思路实践的更多相关文章

  1. robotframework悬浮菜单定位问题

      有些菜单是悬浮菜单,鼠标点上去下级元素才会显示.比如在第一个菜单中选择后会触发二级菜单的某事件,触发二级菜单又去点三级菜单.. 最开始就用click element去点击了,可是菜单会缩回去,就有 ...

  2. 纯CSS实现带返回顶部右侧悬浮菜单

    这是我做个人网页的时候加上的带返回顶部右侧悬浮菜单效果,如下图, 使用工具是Hbuilder. 代码如下: <!DOCTYPE html> <html> <head> ...

  3. python 练习多级菜单思路

    只写了一个zj的三级菜单,后面的功能没写 #-*- coding :utf-8 -*- print """ 你可以输入省份然后根据市县输入 ""&qu ...

  4. [Unity3d][NGUI]两种思路解决AssetBundle的依赖关系.

    接上文. 使用上文中的AssetBundle打包方式生成的文件包括了依赖关系中的文件. 一般的使用中并不会发现什么问题. 可是当配合NGUI的时候,使用dynamicFont时打包AssetBundl ...

  5. Android 应用内悬浮控件实践总结

    在工作中遇到一个需求,需要在整个应用的上层悬浮显示控件,目标效果如下图: 首先想到的是申请悬浮窗权限,OK~ 打开搜索引擎,映入眼帘的并不是如何申请,而是“Android 悬浮窗权限各机型各系统适配大 ...

  6. Linux下恢复误删文件:思路+实践

    周五篮球群里有人问误删文件了怎么恢复,得知是ext4文件系统之后我推荐了ext4magic这个工具,然后又有人提到了xfs的话怎么办,正好前几天看到Dave Chinner在邮件列表里提到了这个问题, ...

  7. 关于XP系统因以下文件的损坏或丢失,WINDOWS无法启动:\windows\system32\config\system的解决思路实践

    故事背景:在合肥项目中,现场一台使用超过6年的工控机,在近段时间内出现上述标题中出现的系统文件丢失问题 ,该问题重启复现,无法通过传统进入安全模式或者最后一次正确配置等方式进行修复,只能通过将repa ...

  8. NGUI全面实践教程(大学霸内部资料)

    NGUI全面实践教程(大学霸内部资料)   试读文档下载地址:链接:http://pan.baidu.com/s/1jGosC9g 密码:8jq5 介绍:NGUI全面实践教程(大学霸内部资料)本书是国 ...

  9. 学习NGUI前的准备NGUI的相关信息

    学习NGUI前的准备NGUI的相关信息 第1章  学习NGUI前的准备 NGUI是Unity最重要的插件,在Unity资源商店(Asset Store)的付费排行榜中始终名列前茅,如图1-1所示.本章 ...

随机推荐

  1. Octopus系列之开发过程各个技术点

    自定义了页面周期 使用唯一的一个VelocityEngine全局的静态实例,优化了小泥鳅blog中每次请求都要创建VelocityEngine实例对象,减少了对象的开销 通过UA判断请求来自的设备,从 ...

  2. [Hadoop入门] - 1 Ubuntu系统 Hadoop介绍 MapReduce编程思想

    Ubuntu系统 (我用到版本号是140.4) ubuntu系统是一个以桌面应用为主的Linux操作系统,Ubuntu基于Debian发行版和GNOME桌面环境.Ubuntu的目标在于为一般用户提供一 ...

  3. 【vmware vcp 5.1】安装及配置及笔记散记

    ESXi的几个命令技巧: ------------------------------------------------- alt-f1: 进入console alt-f2: 返回DCUI alt- ...

  4. Activity界面切换动画特效。

    效果图: 结构图: 测试代码: 布局: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearL ...

  5. C# 如何用计时器Timer控件实现停留几秒再做切换窗体的操作

    C# Timer用法及实例详解 关于C# Timer类  在C#里关于定时器类就有3个 C# Timer使用的方法1.定义在System.Windows.Forms里 C# Timer使用的方法2.定 ...

  6. POJ 1422 二分图(最小路径覆盖)

    Air Raid Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7278   Accepted: 4318 Descript ...

  7. Linux - gcc和g++的区别

    一般linux系统都自带了gcc编译器的,你可以用你的安装光盘去安装,如果你是觉得自带的gcc版本太低了,可以去gcc的官方网站可以下载到,编译需要很长的时间,如果你只编译C或者C++可以只下载gcc ...

  8. POJ 1741 树上的点分治

    题目大意: 找到树上点对间距离不大于K的点对数 这是一道简单的练习点分治的题,注意的是为了防止点分治时出现最后分治出来一颗子树为一条直线,所以用递归的方法求出最合适的root点 #include &l ...

  9. win10环境下使用苹果虚拟机不要开多线程应用下载文件

    win10环境下使用苹果虚拟机开多线程应用下载文件时候卡死,网络老掉. 8GB内存不够用?2.5mb网速不够用? 开的百度网盘下载个电影 结果虚拟机卡的不行 关了 网盘 挂起虚拟机 然后再 继续运行客 ...

  10. CodeForces 546B C(Contest #1)

    Description Colonel has n badges. He wants to give one badge to every of his n soldiers. Each badge ...