纳金网

标题: 一个动态改变模型大小、方向的例子 [打印本页]

作者: 晃晃    时间: 2011-11-16 17:24
标题: 一个动态改变模型大小、方向的例子


           先在场景内放置一个cube,设置一个guiskin,并附上中文字体。
           

            
         


            [hide]public var mySkin:GUISkin;
            

            
           

            var windowRect = Rect (0, 20, 200 ,150);
            

            
           

            var SliderScaleValue:float = 0.0;
            

            
           

            var SliderXValue:float = 0.0;
            

            
           

            var SliderYValue:float = 0.0;
            

            
           

            var SliderZValue:float = 0.0;
            

            
           

            var SliderWindowRect = Rect(80,200,200,150);
            

            
           

            var mCube:GameObject;
            

            
           

            var xRotation:float;
            

            
           

            var yRotation:float;
            

            
           

            var zRotation:float;
            

            
           

            
           

            function Start(){
            

            
           

            mCube = GameObject.Find("Cube");
            

            
           

            //print(mCube.transform.lossyScale + " -- " + mCube.transform.localScale);
            

            
           

            SliderScaleValue = mCube.transform.localScale.x;
            

            
           

            
           

            }
            

            
           

            
           

            function Update () {
            

            
           

            
           

            }
            

            
           

            
           

            function OnGUI () {
            

            
           

            GUI.skin = mySkin;
            

            
           

            SliderWindowRect = GUI.Window(1,SliderWindowRect,CreateWindow,"位置属性");
            

            
           

            }
            

            
           

            
           

            
           

            
           

            
           

            function CreateWindow(windowID : int){
            

            
           

            GUI.skin = mySkin;
            

            
           

            GUI.Label(Rect(10,20,50,20),"缩放");
            

            
           

            SliderScaleValue = GUI.HorizontalSlider (Rect(60,25,120,20),SliderScaleValue,0,500);
            

            
           

            //设置汽车的scale
            

            
           

            mCube.transform.localScale = Vector3(SliderScaleValue,SliderScaleValue,SliderScaleValue);
            

            
           

            
           

            GUI.Label(Rect(10,50,50,20),"旋转X");
            

            
           

            SliderXValue = GUI.HorizontalSlider (Rect(60,55,120,20),SliderXValue,0,360);
            

            
           

            //设置汽车的xRotation
            

            
           

            if(xRotation != SliderXValue){
            

            
           

            mCube.transform.rotation = Quaternion.Euler(SliderXValue,yRotation,zRotation);
            

            
           

            xRotation = SliderXValue;
            

            
           

            }
            

            
           

            
           

            
           

            GUI.Label(Rect(10,80,50,20),"旋转Y");
            

            
           

            SliderYValue = GUI.HorizontalSlider (Rect(60,85,120,20),SliderYValue,0,360);
            

            
           

            //设置汽车的yRotation
            

            
           

            if(yRotation != SliderYValue){
            

            
           

            mCube.transform.rotation = Quaternion.Euler(xRotation,SliderYValue,zRotation);;
            

            
           

            yRotation = SliderYValue;
            

            
           

            }
            

            
           

            
           

            GUI.Label(Rect(10,110,50,20),"旋转Z");
            

            
           

            SliderZValue = GUI.HorizontalSlider (Rect(60,115,120,20),SliderZValue,0,360);
            

            
           

            //设置汽车的zRotation
            

            
           

            if(zRotation != SliderZValue){
            

            
           

            mCube.transform.rotation = Quaternion.Euler(xRotation,yRotation,SliderZValue);;
            

            
           

            zRotation = SliderZValue;
            

            
           

            }
            

            
           

            
           

            GUI.DragWindow (Rect (0,0,10000,10000));
            

            
           

            }
           


           将上述代码保存为js,赋给cube就ok了
         

作者: 奇    时间: 2012-3-27 23:30
好可爱的字,学习了

作者: 奇    时间: 2012-4-11 23:21
我是老实人,我来也!

作者: markq    时间: 2012-4-12 22:48
不错 非常经典 实用
作者: C.R.CAN    时间: 2012-5-21 23:23
发了那么多,我都不知道该用哪个给你回帖了,呵呵

作者: 奇    时间: 2012-9-5 23:40
跑着去顶朋友滴铁

作者: 菜刀吻电线    时间: 2012-10-2 23:21
我看看就走,你们聊!

作者: C.R.CAN    时间: 2013-2-5 23:27
你们都躲开,我来顶





欢迎光临 纳金网 (http://rs.narkii.com/club/) Powered by Discuz! X2.5