查看: 3770|回复: 0
打印 上一主题 下一主题

[经验分享] 靠边伸缩菜单的做法(类似QQ,碰到就会伸出来)

[复制链接]

1557

主题

1

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
454
精华
31

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2013-10-15 15:35:24 |显示全部楼层 |倒序浏览
这段脚本主要实现一个group的伸缩功能,group里面的内容也就是菜单的内容可以自由添加。
var LeftGroupToTop:int=60;
var LeftGroupWidth:int=300;
var LeftGroupHeight:int=700;
var LeftGroupLabelWidth:int=30;
private var MoveDistance =LeftGroupLabelWidth-LeftGroupWidth;
private var XPosition;
private var StartPoint:float=MoveDistance;
function Update(){
     //获取鼠标的x坐标位置
     XPosition=Input.mousePosition.x;
     if(XPosition<LeftGroupLabelWidth){
           OpenLeftGroup ();
     }
     if(XPosition>LeftGroupWidth){
           CloseLeftGroup();
     }
}

function OnGUI () {
      GUI.Box(Rect(100,0,100,400),XPosition.ToString());//可以去掉,调试看效果用的
      GUI.Box(Rect(100,500,100,400),StartPoint.ToString());//可以去掉,调试看效果用的
      //下面是组里面的内容
      GUI.BeginGroup(Rect(StartPoint,LeftGroupToTop,LeftGroupWidth,LeftGroupHeight));
      GUI.Box(Rect(0,0,LeftGroupWidth,LeftGroupHeight),"");
      GUI.Box(Rect(LeftGroupWidth-   LeftGroupLabelWidth,0,LeftGroupLabelWidth,LeftGroupHeight),"qiyechaxun");
      GUI.EndGroup ();//组结束
}
//控制菜单的伸出
function OpenLeftGroup () {
      if(StartPoint < 0.0) {
            StartPoint +=1.0;
            yield WaitForSeconds (2);
      }
}
//控制菜单的收回
function CloseLeftGroup () {
      if(StartPoint >MoveDistance) {
            StartPoint -=0.1;
            yield WaitForSeconds (5);
      }
}

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-11 00:44 , Processed in 0.081006 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部