unity 游戏常用API

1.Vector3常用属性方法

    1.   Vector3=======>三维向量

          创建:Vector3 v = new Vector3(1,1,1);

          简约创建:Vector3 v = new Vector3.zero;======>  v = Vector3(1,1,1)

                            Vector3 v = new Vector3.one;=======>  v = Vector3(0,0,0)

   2.  计算向量夹角   两点距离  模长  规范化向量  插值 点成 叉乘 

2.Quaternion常用属性方法

1.欧拉角   四元数 

3.Debug常用属性方法

1.unity中调试分为三种:正常输出   警告输出   错误输出

              正常输出:Debug.Log("正常输出");

              警告输出:Debug.LogWarning("警告输出");

              错误输出:Debug.LogError("错误输出");

2.unity中的画线

              线段:Debug.DrawLine(Vector.zero,Vector.left,Color.red);

              射线:Debug.DrawRay(Vector.zero,Vector.up,Color.red);

4.GameObject常用属性方法

1.拿去父物体名字 标签 图层 与 子物体名字 标签 图层

public class kid : MonoBehaviour
{
    public GameObject Cube;
    void Start()
    { 
             //拿去当前物体的名称
                 Debug.Log(gameObject.name);
             //拿去当前物体的标签
                 Debug.Log(gameObject.tag);
             //拿去当前物体的图层
                 Debug.Log(gameObject.layer);
             //拿去子物体的名字
                 Debug.Log(Cube.name);
             //拿去子物体的标签
                 Debug.Log(Cube.tag)
             //拿去子物体的图层
                 Debug.LOg(Cube.layer)
    }
}

2.查看子物体与父物体的激活状态

public class kid : MonoBehaviour
{
    public GameObject Cube;
    void Start()
    {        
        //拿起当前物体的状态(是否激活)这激活查看分为两种一种是自己本身状态
        //一种是激活的实际状况
        //激活的实际状况
        Debug.Log(gameObject.activeInHierarchy);
        //激活的自身状况
        Debug.Log(gameObject.activeSelf);
        //子物体的自身激活状态
        Debug.Log(Cube.gameObject.activeSelf);
        //子物体的自身实际的激活状态
        Debug.Log(Cube.gameObject.activeInHierarchy);
    }
}

3.用脚本添加组件 获取 组件

public class kid : MonoBehaviour
{
    public GameObject Cube;
    void Start()
    {        
        //获取其他组件
        BoxCollider n = Cube.GetComponent<BoxCollider>();   
        //获取当前物体的子物体身上的某个组件
        GetComponentInChildren<CapsuleCollider>(n);
        //获取当前父物体的某个组件
        GetComponentInParent<CapsuleCollider>(n);
        //添加一个组件
        gameObject.AddComponent<CapsuleCollider>();
    }
}

在这里<  >中的都是可变量  也即是 组件的名称 可以根据自己的要求变化 

4.名字与标签查找物体

public class kid : MonoBehaviour
{
    void Start()
    {
        //名字查找物体
        GameObject kid = GameObject.Find("kid");
        //标签查找物体
        kid = GameObject.FindWithTag("Player");
        //名字的打印
        Debug.Log(kid.name);
    }

}

5.通过预设体实例化游戏物体

第一步:创建预设体

第二步:将预设体与脚本链接

第三步:通过脚本实例化游戏物体

public class kid : MonoBehaviour
{
    // 创建预设体的全局静态量
        public GameObject Prefad;
    void Start()
    {
        //通过预设体来实例化一个游戏物体
        Instantiate(Prefad);
        //这里也可以直接来确定创建的物体的初始位置 例:在(1,1,1,) 无旋转
        GameObject n = Instantiate(Prefad, Vector3.one, Quaternion.identity);
        //也可以销毁游戏物体 例:销毁预设体 n
        Destroy(n);
    }

5.Time常用属性方法

public class time : MonoBehaviour
{
    float timer = 0;
    void Start()
    {
        // 游戏开始到现在的所花时间
        Debug.Log(Time.time);
        // 游戏时间的缩放值  运用的地方:加速 减速 暂停 
        Debug.Log(Time.timeScale);
        //固定时间间隔
        Debug.Log(Time.fixedDeltaTime);
        //上一帧到这一帧所用的游戏时间
        Debug.Log(Time.deltaTime);
    }

    void Update()
    {
        //相当于一个简单的计时器
        timer = timer + Time.deltaTime;
        // timer 大于 3 打印timer
        if (timer > 3)
        {
            Debug.Log(timer);
        }
    }

6.Application常用属性方法

public class asdaf : MonoBehaviour
{

    void Start()
    {
        // 游戏数据文件路径(只读  加密压缩)====》找不到的
        Debug.Log(Application.dataPath);
        //持久化文件夹路径 ====>  可储存的文件的路径
        Debug.Log(Application.persistentDataPath);
        //StreamingAssetsPath文件夹路径(只读  配置文件 不加密) 
        Debug.Log(Application.streamingAssetsPath);
        //临时文件夹  =====> 可以储存临时的文件 随时删除
        Debug.Log(Application.temporaryCachePath);
        //控制是否在后台运行
        Debug.Log(Application.runInBackground);
        //可以在后台运行
        Application.runInBackground = true;
        //打开url
        Application.OpenURL("网站地址");
        //退出游戏
        Application.Quit();
    }
}

7.Scene常用属性方法

1.场景类

public class SceneTest : MonoBehaviour
{
  
    void Start()
    {
        //场景转换  这里需要外面创建一个“MyScene”场景
        //SceneManager.LoadScene("MyScene");
        //获取当前场景
        Scene scene = SceneManager.GetActiveScene();
        //场景名称
        Debug.Log(scene.name);
        //场景是否已经加载
        Debug.Log(scene.isLoaded);
        //场景路径
        Debug.Log(scene.path);
        //场景索引
        Debug.Log(scene.buildIndex);
        //场景中的元素组成的一个数组
        GameObject[] n = scene.GetRootGameObjects();
        for (int i = 0; i < n.Length; i++)
        {
            Debug.Log(n[i].name);
        }
    }
}

2.场景管理类

1.同步
        //场景管理类
        //创建新场景
        Scene newScene = SceneManager.CreateScene("newSScene");
        //已加载的场景个数
        Debug.Log(SceneManager.sceneCount);
        //卸载场景
        SceneManager.UnloadSceneAsync(newScene);
        //加载场景
        SceneManager.LoadScene("MyScene",LoadSceneMode.Single);
2.异步

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值