靠边伸缩菜单的做法,类似QQ,碰到就会伸出来
这段脚本主要实现一个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
以上代码未经测试。

这个在之前开发的产品中已经做过。未及时和大家分享。
很好 很强大啊!
伸缩的速度改如何控制呢?
测试一下,看看效果
谢谢分享~~对我来说满实用的
试试看 ...
这个非常强大,谢谢LZ啊
测试一下,看看效果
还满实用的,可以衍生不同作法,感谢分享
基本都是JSCRIPT...用C#的很少啊...
谢谢分享
测试过 重新调整一下 蛮好用的