unity菜鸟之路

一、场景物体移动

        按键:

       1、按住鼠标右键进入飞行模式:配合W,A,S,D,Q,E;

       2、Alt+鼠标左键  : 旋转    +中键  : 平移     +右键   :  推拉  

       3、 F键快速到物体上

       4 、 V键捕捉到物体上

       坐标轴控制:

      选多个物体时,center : 坐标轴在中间 

                                   pivot  :  坐标轴在前一个物体上

                                   local  :  本身物体旋转

                                   global : 世界坐标轴  ,界面右上角坐标

二、碰撞问题      

           1、小球与墙的碰撞  只需在小球上加刚体组件,和collider,墙上不用加什么,只用加collider。

三、组件面板可见性

           gameObject.active = false;

          访问面板组件属性:   GetComponent<Transform>().Translate(0, 1, 0);

 访问另一个脚本附加到一样的游戏物体的公共变量和函数
 public class example : MonoBehaviour {
	 public ScriptName script;
	 public void Awake() {
		 script = GetComponent("ScriptName") as ScriptName;
		 script.DoSomething();
	 }
 }
四、脚本问题
          1、绘制动画帧
                  条件:在Resources下建立anim的文件,存放几张动画帧图片
                  思路:每张图片在一定的时间绘制
                  代码:
                                        //动画数组
                                        private var anim: Object[] ;
                                       //帧序列
                                        private var nowFram : int;
                                      //动画帧的总数
                                      private var mFrameCount : int;
                                      //限制一秒多少帧
                                      private var fps : float = 15;
                                      //限制帧的时间 
                                      private var time : float = 0;


                                      function Start()
                                      {
                                       //得到帧动画中的所有图片资源
                                        anim = Resources.LoadAll("animation");
                                              //得到该动画共有多少帧
                                        mFrameCount = anim.Length;
 
                                              }


                                              function OnGUI() 
                                                {
                                               //绘制帧动画
                                                DrawAnimation(anim,Rect(100,100,32,48));
                                                  }




                                         function  DrawAnimation(tex:Object[] , rect : Rect)
                                               {
                                                    //绘制动画信息
                                                  GUILayout.Label("当前动画播放:第"+nowFram+"帧");
                                           //绘制当前帧
                                                 GUI.DrawTexture(rect, tex[nowFram], ScaleMode.StretchToFill, true, 0);
                                           //计算限制帧时间
                                         time += Time.deltaTime;
                                            //超过限制帧则切换图片
                                         if(time >= 1.0 / fps){
                                                     //帧序列切换
                                                nowFram++;
                                                  //限制帧清空
                                                 time = 0;
                                                //超过帧动画总数从第0帧开始
                                                  if(nowFram >= mFrameCount)
                                                 {
                                                  nowFram = 0;
                                                     }
                                                         } 
                                                      }
 

你可能感兴趣的:(unity)