使用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. Android存储数据方式

    可以查看Android开发文档中的:/docs/guide/topics/data/data-storage.html Android provides several options for you ...

  2. 网卡eth0配置信息

    DEVICE=eth0:0 //虚拟网络接口,随意 ONBOOT=yes //系统启动时激活 BOOTPROTO=static //使用静态ip地址 IPADDR=192.168.6.100 //该虚 ...

  3. js模拟快捷键操作表单

    <html> <head> </head> <body> <script> //键盘快捷键提交表单ctrl+s document.onkey ...

  4. QQ注册

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. changepassword.c 0.9:一个通过WEB界面更改LINUX用户密码的程序

    偶然看到一个用C语言写的CGI程序,可以以WEB界面(无需单独再写HTML)的方式修改用户自己的密码.该程序具有同时修改samba及squid密码的能力. 步骤: 1.下载并解压,并读一下README ...

  6. Admob(6.12.x)符号未定义错误的解决方法(IOS)

    在升级Admob的SDK版本到6.12.x时, 按照官方文档操作(https://developers.google.com/mobile-ads-sdk/docs/#ios), 添加如下framew ...

  7. 二模 (2) day1

    第一题: 题目描述:淘汰赛制是一种极其残酷的比赛制度.2n名选手分别标号1,2,3,…,2n-1,2n,他们将要参加n轮的激烈角逐.每一轮中,将所有参加该轮的选手按标号从小到大排序后,第1位与第2位比 ...

  8. dancing link模板

    #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #i ...

  9. 解决VS2010控制台程序运行结束不显示请按任意键继续

    在VS2010里的控制台应用程序在运行时,结果画面一闪而过,不管是用F5 还是用Ctrl + F5都是一样,导致无法看到结果. 网上有不少的办法,说是都是在程序最后加一个要程序暂停的语句( syste ...

  10. const的全面理解

    const关键字用来作甚?const是一个类型修饰符.常见的类型修饰符有哪些? short long unsigned signed static autoextern register 定义一个变量 ...