unity菜鸟之路

来源:互联网 发布:90后 知乎 编辑:程序博客网 时间:2024/05/14 02:19

一、场景物体移动

        按键:

       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;                                                   }                                                         }                                                      }

0 0
原创粉丝点击