靠边伸缩菜单的做法,类似QQ,碰到就会伸出来

12 replies [最后一篇]
u8
User offline. Last seen 1 年 6 周 ago. Offline
超级管理员
Joined: 09/05/2009
Points: 2119

这段脚本主要实现一个group的伸缩功能,group里面的内容也就是菜单的内容可以自由添加。

01    var LeftGroupToTop:int=60;
02    var LeftGroupWidth:int=300;
03    var LeftGroupHeight:int=700;
04    var LeftGroupLabelWidth:int=30;
05    private var MoveDistance =LeftGroupLabelWidth-LeftGroupWidth;
06    private var XPosition;
07    private var StartPoint:float=MoveDistance;
08     
09     
10    function Update(){
11         //获取鼠标的x坐标位置
12         XPosition=Input.mousePosition.x;
13         if(XPosition<LeftGroupLabelWidth){
14               OpenLeftGroup ();
15         }
16     
17         if(XPosition>LeftGroupWidth){
18               CloseLeftGroup();
19         }
20    }
21     
22    function OnGUI () {
23     
24          GUI.Box(Rect(100,0,100,400),XPosition.ToString());//可以去掉,调试看效果用的
25          GUI.Box(Rect(100,500,100,400),StartPoint.ToString());//可以去掉,调试看效果用的
26     
27     
28          //下面是组里面的内容
29          GUI.BeginGroup(Rect(StartPoint,LeftGroupToTop,LeftGroupWidth,LeftGroupHeight));
30          GUI.Box(Rect(0,0,LeftGroupWidth,LeftGroupHeight),"");
31          GUI.Box(Rect(LeftGroupWidth-   LeftGroupLabelWidth,0,LeftGroupLabelWidth,LeftGroupHeight),"qiyechaxun");
32          GUI.EndGroup ();//组结束
33    }
34     
35     
36    //控制菜单的伸出
37    function OpenLeftGroup () {
38          if(StartPoint < 0.0) {
39                StartPoint +=1.0;
40                yield WaitForSeconds (2);
41          }
42    }
43    //控制菜单的收回
44    function CloseLeftGroup () {
45          if(StartPoint >MoveDistance) {
46                StartPoint -=0.1;
47                yield WaitForSeconds (5);
48          }
49    }

转自:http://www.cnblogs.com/lm3515/archive/2010/09/17/1828874.html

以上代码未经测试。

 

U客—老墨
User offline. Last seen 23 小时 39 分钟 ago. Offline
版主
Joined: 10/20/2009
Points: 53

这个在之前开发的产品中已经做过。未及时和大家分享。

Inaction
User offline. Last seen 6 周 5 天 ago. Offline
注册用户
Joined: 07/20/2010
Points: 25

很好 很强大啊!

ukee
User offline. Last seen 1 年 18 周 ago. Offline
注册用户
Joined: 06/02/2010
Points: 34

伸缩的速度改如何控制呢?

cnarg
User offline. Last seen 46 周 21 小时 ago. Offline
注册用户
Joined: 10/28/2010
Points: 30

 测试一下,看看效果

songsinyu
User offline. Last seen 49 周 1 天 ago. Offline
注册用户
Joined: 10/27/2010
Points: 0

谢谢分享~~对我来说满实用的

tearoic
User offline. Last seen 1 年 31 周 ago. Offline
注册用户
Joined: 10/15/2010
Points: 0

试试看 ...

苏苏
User offline. Last seen 51 周 5 天 ago. Offline
注册用户
Joined: 09/09/2010
Points: 0

这个非常强大,谢谢LZ啊

lazyducker
User offline. Last seen 3 周 5 天 ago. Offline
初级会员
Joined: 10/12/2010
Points: 55

测试一下,看看效果

yabaga
User offline. Last seen 3 周 6 天 ago. Offline
注册用户
Joined: 08/05/2010
Points: 25

还满实用的,可以衍生不同作法,感谢分享

歪歪贼
User offline. Last seen 11 周 1 天 ago. Offline
注册用户
Joined: 09/28/2010
Points: 35

基本都是JSCRIPT...用C#的很少啊...

zhengjun_025
User offline. Last seen 2 小时 17 分钟 ago. Offline
中级会员
Joined: 06/04/2010
Points: 162

谢谢分享

dilly123
User offline. Last seen 9 周 1 天 ago. Offline
初级会员
Joined: 11/05/2009
Points: 112

测试过 重新调整一下 蛮好用的