Unity C#学习

周飞飞的C#学习笔记 #Day 4

Posted on 2021-03-03,3 min read

今天努努力,把官方C#初级教程学完吧!

今日重点

1. 常用指令

  1. LookAt:transform.LookAt(Transform实例);
    让摄像机对准目标物体(该脚本应用到摄像机上,并将目标物体拖动到target)
    可以在Unity左上角更改Global和Local的访问形式
  2. Destory:Destory(GameObject,float);
    用于在游戏中移除游戏对象或组件
    第二个参数——浮点数用于延时
  3. GetButton/GetButtonDown/GetButtonUp区分
    使用GetButton来代替GetKey,可以在Edit-Project settings...-Input manager进行修改
  4. GetAxis
    不同于GetButton返回布尔值,GetAxis返回[-1,1]范围内的浮点值
    在Input manager可以设置更多的属性,例如通过Gravity调控归零速度,通过Sensitive让变化更平滑等
  5. OnMouseDown
    用于在鼠标点击脚本绑定物体时,对该物体产生一系列作用(如添加一个力)
  6. GetComponent
    建议多看看视频GetComponent
    会占用大量处理时间,尽量减少调用,最好不要在Update()中调用
    注意观察视频中,不同文件套在同一对象和套在不同对象上时的调用方法
  7. DeltaTime
  8. Instantiate
    常用于克隆prefab(预配置对象)
    注意prefab是通过把物体拖动到文件夹位置来创建的,创建后需要把从文件中拖动prefab来实现绑定,之前的物体可以删除了
  9. Invoke:Invoke("函数名",float);
    用于设置调用函数前的延迟
    必须是返回值为void的函数
    可以使用InvokeRepeating来进行反复调用

今日练习

屠龙宝刀点击就送
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour
{
    public Transform target;
    //public GameObject obj;
    public Rigidbody objfab;
    public OtherScript otherscript;
    
    
    // Start is called before the first frame update
    void Start()
    {
        //otherscript = obj.GetComponent<OtherScript>();  
        //Debug.Log("The health is:" + otherscript.health);
    }


    // Update is called once per frame
    void Update()
    {
        //transform.LookAt(target);         //需要套用在摄像机上
        if(Input.GetButtonDown("Jump"))   //引用Input manager中的字符进行控制,这样的好处在与可以多个键位对应同一动作
        {
            //Destroy(obj);
        }
        if(Input.GetKeyDown(KeyCode.A))
        {
            Rigidbody rocketInstance;
            rocketInstance = Instantiate(objfab) as Rigidbody;          
            //此处注意,在转换时,objfab本身也需要为rigidbody才行!!!
            rocketInstance.AddForce(objfab.transform.forward * 5000);
            

        }
        
    }
}

今日总结

嘛总算是完成了C#的初级教程了,感觉确实对Unity增加了不少了解。说起来明天就要回学校了,回校之后也要好好努力鸭!争取在正式上课之前,把Unity基础完全掌握吧!
除此之外还要去搞论文研读什么的。
偶尔在博客上谈谈心或许也可以?
🙄


下一篇: 周飞飞的C#学习笔记 #Day 3→

loading...