使用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. jdbc URL中的各个参数详解

    常用的有两个,一个是gjt(Giant JavaTree)组织提供的mysql驱动,其JDBC Driver名称(Java类名)为:org.gjt.mm.mysql.Driver 详情请参见网站:ht ...

  2. 下载模板,上传EXCEL

    说道SAP里对EXCEL操作的大概就是上传,下载,显示了... 下载:(文档是通过SMW0上传的)注:如果下载的时候需要填充EXCEL的值,...请参考另一篇文档,OLE CALL METHOD CL ...

  3. 分支语句switch case

    Switch case必须与break一起使用 Break 是跳转语句.与switch case连用的时候是跳出最近的{}. static void Main(string[]args ) { //s ...

  4. Skrollr.js -- 使用Skrollr创建视差滚动效果页面

    使用方法:  http://www.helloweba.com/view-blog-262.html http://www.uedsc.com/skrollr.htmlhttp://www.hello ...

  5. 分析与提取QQ木马盗号技术

    程序大致的流程如下图: 因为是用画图工具画的,所以大家就将就看下把,有什么不对的地方请多多指教: 程序是用Delphi写的,只有加载器加了个upx壳,其他的都没有加壳:所以分析起来就比较简单了: 这个 ...

  6. hdu 4627 The Unsolvable Problem

    http://acm.hdu.edu.cn/showproblem.php?pid=4627 分类讨论一下就可以 代码: #include<iostream> #include<cs ...

  7. PowerMock 遇到的问题——2

    如果我们要测试的类继承另一个类,而且在构造方法中有super():那么怎么Mock那个super语句呢? 在PowerMock中有一个suppressConstructor方法,具体写法如下: Pow ...

  8. visualSVN server库迁移

    首先,VisualSVN Server Manager,包含两个路径,一个是安装路径,例如本机:C:\Program Files\VisualSVN Server,一个是库路径,例如本机:C:\Rep ...

  9. ClassLoader相关内容

    1.什么叫做bootstrap?作为形容词有依靠自己力量的:自己做的等意思,在我们计算机世界里,一般指的是自举,引导,引导程序. 那什么是bootstrapClassLoader呢?它是引导加载器,也 ...

  10. swing LayoutManager 和多态

    interface LayoutManager{ void show();}class FlowLayout implements LayoutManager{ public void show(){ ...