U3D进阶

旧版UI控件 :           NGUI    UGUI    OnGUI 界面扩展类似html和css
创建GUIText:创建空物体,空物体添加GUIText组件,Commponent-》Rendering-》GUIText
        Text   FontSize, Pixel Offset(位置)   ,
GUITexture组件:  如文字
使用:   Scale属性:全部设为 0.1  
 属性:Texture,
Pixel  Inset像素设置: X 和Y 轴  设置图片  W  H 宽度和高度
都是只能在game 视图设置
事件:  OnMouseEnter() 
                            Exit()
                            Down() 鼠标按下  
         private   GUITexture  m_GUITexture;       
                        m_GUITexture.color=Color.blue;  //灰色不影响图片本身颜色
 
特效组件:
  TrailRenderer:   Component-》Effects-》Trail  Render
                 属性:材质球  ,Time(拖尾持续时间)  ,开始和结束宽度
  LineRenderer:   
                步骤:1创建空物体2给空物体添加  LineRenderer组件
                   粉红色为无材质球
                属性:位置,开始宽度和结束宽度
声音组件:  
               AudioClip剪辑   .aif  .wav  .mp3 .ogg
               在assets  下 创建Audios 文件夹
            
               AudioSource
                    空游戏对象
                    Component-》Audio--》AudioSource    
                    属性: audioclip :指明声音文件
                                play  On  Awake  在唤醒时播放
                                loop   单曲循环  mute 静音
                                volume  音量  
                 
                     常用函数:
                             private  AudioSource  m_AudioSource;
                             获取 ,play  pause  stop
                                         
                    AudioListener:声音侦听器(照相机身上有)
                     
                                 
API实例化与销毁 :
          实例化游戏物体:        
             gameObject.Instantiate(Object,Vector3,Quaternion)  
          通过脚本控制预制体:
             先创建一个空物体,添加创建物体的脚本
              public  GameObject  goPrefab;  //然后拖拽就行
               void  Start()
                {
                         Vector3  postion = new  Vector3(Random.Range(-9.0f,9.0f), 10,Random.Range(-9.0f,9.0f ));
                         GameObject.Instantiate(goPrefab,position,Quaternion.identify)  
                 }
            
             给预制体添加脚本:
                     将预制体拖到场景中,然后添加脚本,然后删除场景物体,会发现预制体也会有脚本  ,然后 添加销毁场景物体   GameObject.Destroy(gameObject,Random.Range(5.0f,10.0f))     //定时销毁物体
                       Destroy()  //立刻销毁

               Invoke(string ,float) string函数名, float 秒数     //多少秒后执行某个函数【只一次】
               InvokeRepeating(string ,float,float) 
                CancelInvoke()     
                Monobehavior  按下 F2 就可以转到 类定义      
                 
        主角控制:        判断碰撞:  给预制体添加 标签  tag   //
                 void  OnCollisionEnter(Collision  coll)
                  {
                          if(coll.gameObject.tag == "Box")
                           {
                                    GameObject.Destroy(coll.gameObject);
                           }
                           
                  }
           
8API之消息发送SendMessage:
             将金币 变为触发器    勾选 触发器
              通知游戏物体脚本上的方法执行
             void  AddScore()
              {
                        int  s = int.Parse(m_GUIText.text);
                        m_GUIText.text=(s+1).ToString();
              }
                   
              
9协程 Coroutine:
            IEnumerator   Task3()
             {
                       yield  return  new  WaitForSeconds(2);  
                       Debug.Log("任务3")
              }

           调用:  StartCoroutine("Task3")
                        StopCoroutine("Task3");
                        
10 常用API 之脚本生命周期
             有很多事件  
              场景中的物体,预制体的脚本都会自动执行
              Awake()
              OnEnable()  //组件的禁用  启用
               Start()
               FixedUpdate()
               Update()
               LateUpdate()  在Update之后
                OnGUI()  是update的2倍
                OnDisable()
                OnDestroy()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值