国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Unity每日一記】常見的類你都掌握了嗎,沒有就過來看看吧

這篇具有很好參考價值的文章主要介紹了【Unity每日一記】常見的類你都掌握了嗎,沒有就過來看看吧。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【Unity每日一記】常見的類你都掌握了嗎,沒有就過來看看吧,# Unity每日一記,unity,游戲引擎


?????個人主頁:@元宇宙-秩沅

????? hallo 歡迎 點贊?? 收藏? 留言?? 加關注?!

????? 本文由 秩沅 原創(chuàng)

????? 收錄于專欄unity每日一記

????推薦文章?


?【Unityc#專題篇】之c#系統(tǒng)化大禮包】

?【unity數(shù)據(jù)持久化】數(shù)據(jù)管理類_PlayerPrfs

?【unity本站最全系列】unity常用API大全一篇文章足以
【Unity每日一記】常見的類你都掌握了嗎,沒有就過來看看吧,# Unity每日一記,unity,游戲引擎


?常見的類_篇【一】?




??(A) gameObject類


成員變量

  • 名字: this.gameObject.name

  • 是否激活
    this.gameObject.activeSelf

  • 是否是靜態(tài)
    this.gameObject.isStatic

  • 層級
    this.gameObject.layer

  • 標簽
    this.gameObject.tag

創(chuàng)建幾何體

GameObject.CreatePrimitive(PrimitiveType.Cube);——正方體

查找——消耗性能

  • 通過名字:GameObject.Find(“名字”);
  • 通過標簽:GameObject.FindGameObjectWithTag(“標簽名”);

實例化

GameObject.Instantiate(xx);

銷毀

  • GameObject.Destroy(xx)

    Destroy方法  本質上給這個對象加了一個移除標   一般情況下 它會在下一幀時把這個對象移除并從內(nèi)存中移除 如果沒有特殊需求 就是一定要馬上移除一個對象的話 建議使用上面的 Destroy方法 因為 是異步的 降低卡頓的幾率
    

場景不移除對象

  • GameObject.DontDestroyOnLoad( xx );

    切換場景后物體會被刪除,該API對象 過場景不被刪除
    

添加腳本

  • xx.AddComponent<腳本名>();

標簽比較

  • this.gameObject.CompareTag(“xx”)
  • this.gameObject.tag == “xx”

激活失活設置

  • obj.SetActive(false);

??(B)MonoBehavior類



【Unity每日一記】常見的類你都掌握了嗎,沒有就過來看看吧,# Unity每日一記,unity,游戲引擎

  • ??transform.enable()+transform.Active
  • ??xx.GetComponent<>()泛型獲取
  • ??XX.GetComponent() as XX
  • ??XX.GetComponent(Typeof()) as XX Typey類型獲取
  • ??gameObject.name
  • ?? new 腳本類型 [ ] yy / yy = this.GetComponents();//得到多個腳本
  • ?? getComponentInChrild/Parent //子對象或父對象組件的獲取
  • ??更安全的獲取腳本TryGetComponent<>();

???????1,鼠標回調(diào)事件函數(shù)


  • 適用于界面操作

private void OnMouseDown()
{
print(“在掛載的物體身上按下了鼠標”);
}

private void OnMouseUp()
{
print(“在掛載的物體身上按下的鼠標抬起了”);
}

private void OnMouseDrag()
{
print(“在掛載的物體身上用鼠標進行了拖拽操作”);
}

private void OnMouseEnter()
{
print(“鼠標移入了掛載的物體”);
}

private void OnMouseExit()
{
print(“鼠標移出了掛載的物體”);
}

private void OnMouseOver()
{
print(“鼠標懸停在了掛載的物體上方”);
}

private void OnMouseUpAsButton()
{
print(“鼠標在掛載的物體身上松開了”);
}


??(C) Input系統(tǒng)接口類



???????0,相關


  • 輸入相關的內(nèi)容一定是喲啊寫在Update里面
  • 長按和點按的區(qū)別在于有沒有Dwon和Up
  • 按任意鍵繼續(xù) – Input.AllKey()
  • 得到輸入的是哪個鍵(Stirng)-Inpout.inputString()
  • 得到鼠標的位置——Input.MousePosition()
    +GetAxis 和 GetAxisRaw 的區(qū)別 ——后者返回的只有三個值 -1 0 1

???????1,連續(xù)檢測(按鍵,鼠標)


  • print(“當前玩家輸入的水平方向的軸值是:”+Input.GetAxis(“Horizontal”));
  • print(“當前玩家輸入的垂直方向的軸值是:” + Input.GetAxis(“Vertical”));
  • print(“當前玩家輸入的水平方向的邊界軸值是:” + Input.GetAxisRaw(“Horizontal”));
  • print(“當前玩家輸入的垂直方向的邊界軸值是:” + Input.GetAxisRaw(“Vertical”));
  • print(“當前玩家鼠標水平移動增量是:”+Input.GetAxis(“Mouse X”));
  • print(“當前玩家鼠標垂直移動增量是:” +Input.GetAxis(“Mouse Y”));
  • 鼠標的某一個鍵按下 ——Input.GetMouseButtonDown( 0/1/2)
  • 得到鼠標的位置——Input.GetMousePosition()——起點在屏幕左下角
  • 鼠標的滾動——Input.MouseScrollDeltta()——改變Y軸的值
  • 鼠標滾動的應用-------炮管的升降

???????2.連續(xù)檢測(事件)


手柄相關

  • 得到所有按鈕的名字 ——Input.GetJoystickNameS()

  • if (Input.GetButton(“Fire1”))
    {
    print(“當前玩家正在使用武器1進行攻擊!”);
    }

  • if (Input.GetButton(“Fire2”))
    {
    print(“當前玩家正在使用武器2進行攻擊!”);
    }

  • if (Input.GetButton(“RecoverSkill”))
    {
    print(“當前玩家使用了恢復技能回血!”);
    }


???????3.間隔檢測(事件)


  • if (Input.GetButtonDown(“Jump”))
    {
    print(“當前玩家按下跳躍鍵”);
    }

  • if (Input.GetButtonUp(“Squat”))
    {
    print(“當前玩家松開蹲下建”);
    }

  • if (Input.GetKeyDown(KeyCode.Q))
    {
    print(“當前玩家按下Q鍵”);
    }

  • if (Input.anyKeyDown)
    {
    print(“當前玩家按下了任意一個按鍵,游戲開始”);
    }

  • if (Input.GetMouseButton(0))
    {
    print(“當前玩家按住鼠標左鍵”);
    }

  • if (Input.GetMouseButtonDown(1))
    {
    print(“當前玩家按下鼠標右鍵”);
    }

  • if (Input.GetMouseButtonUp(2))
    {
    print(“當前玩家抬起鼠標中鍵(從按下狀態(tài)松開滾輪)”);
    }



??(D)MathF類



???????1,MathF類的靜態(tài)變量

?Math和MathF的區(qū)別:mathf是unity封裝的類它在基于math數(shù)學類的基礎上添加了適合unity游相關的方法

?強制類型轉換和向下取整&向下取整:除去c#中常用的三個強轉 —ceilToInt() 和 FloorInt()

?鉗制函數(shù)MathF.clamp()

?Mathf.sigh()-判斷正負

?Mathf.MoveTowords()——無限接近但不完全相等


???????1,MathF類的靜態(tài)變量


  • print(Mathf.Deg2Rad+“,度到弧度換算常量”);
  • print(Mathf.Rad2Deg+ “,弧度到度換算常量”);
  • print(Mathf.Infinity+“正無窮大的表示形式”);
  • print(Mathf.NegativeInfinity + “負無窮大的表示形式”);
  • print(Mathf.PI);

???????2,MathF類的靜態(tài)函數(shù)


  • print(Mathf.Abs(-1.2f)+ “,-1.2的絕對值”);

  • print(Mathf.Acos(1)+“,1(以弧度為單位)的反余弦”);

  • print(Mathf.Floor(2.74f)+“,小于或等于2.74的最大整數(shù)”);

  • print(Mathf.FloorToInt(2.74f)+“,小于或等于2.74的最大整數(shù)”);

  • print(Mathf.Lerp(1,2,0.5f)+“,a和b按參數(shù)t進行線性插值”);

  • print(Mathf.LerpUnclamped(1, 2, -0.5f) + “,a和b按參數(shù)t進行線性插值”);


???????3,MathF類中的 倒計時 函數(shù)


Math.MoveTowards()

   void Update()
    {
        print("游戲倒計時:" + endTime);
        endTime = Mathf.MoveTowards(endTime,0,0.1f); //每次減0.01 直到endTime為0     
    } 

??(E)Time類


幀間隔時間

  • Time.deltaTime ",
    完成上一幀所用的時間(以秒為單位
  • Time.unscaledDeltaTime
    不受scale影響的幀間隔時間

物理幀間隔時間

  • Time.fixedDeltaTime
    執(zhí)行物理或者其他固定幀率更新的時間間隔",fixedDeltatime是一個固定的時間增量。Unity中默認fixeddeltaTime為0.02秒,但FixedUpdate并不是真的就0.02秒調(diào)用一次

以下的總時間并不精確,適用于對時間精確不是特別嚴格的情況

  • Time.fixedTime + ",表示FixedUpdate(生命周期)已經(jīng)執(zhí)行的時間,可以作為自游戲啟動以來的總時間(以物理或者其他固定幀率更新的時間間隔累計計算的),基本上是以0.02慢慢累加(有誤差)

  • Time.time + ",游戲開始以來的總時間、

精確時間

  • Time.time + “,游戲開始以來的總時間”

  • Time.realtimeSinceStartup + “,游戲開始以來的實際時間”

  • Time.smoothDeltaTime + ",經(jīng)過平滑處理的Time.deltaTime的時間

  • Time.timeSinceLevelLoad + ",自加載上一個關卡以來的時間(進入了新場景后的時間)

時間縮放比例

  • 時間停止
    Time.timeScale = 0;
  • 恢復正常
    Time.timeScale = 1;
  • 2倍速
    Time.timeScale = 2;

一共跑了多少幀(多少次循壞)

Time.frameCount


???????慢動作功能 —時間成員變量


  • ime.timeScale

時間流逝的標度,可以用來慢放動作、它的默認值為1,為0.5時可將當前游戲程序中所有時間放慢到原來的0.5倍,若為3 則為原來的三倍

Time.timeScale = 3;


??(F)Application類


  • 在UnityEngine命名空間下
  • 作用:對程序運行的數(shù)據(jù)進行操作控制
    【Unity每日一記】常見的類你都掌握了嗎,沒有就過來看看吧,# Unity每日一記,unity,游戲引擎
  • ?? Application.LoadLevel() ——老式場景資源加載的方法
  • ?? Application.Quit()——退出游戲(前提是游戲已經(jīng)打包后運行)
  • ?? Application.Ispaly——是否是運行模式or編輯模式

??(G)cursor類


  • 在UnityEngine命名空間下
  • 鼠標的隱藏 ——Cursor.Visible();
  • 鼠標的鎖定,限制范圍 CursorState = CursorLockMode.下面三個
    【Unity每日一記】常見的類你都掌握了嗎,沒有就過來看看吧,# Unity每日一記,unity,游戲引擎
  • 設置鼠標圖片——Cursor.setCursor(三個參數(shù)如下)
    【Unity每日一記】常見的類你都掌握了嗎,沒有就過來看看吧,# Unity每日一記,unity,游戲引擎【Unity每日一記】常見的類你都掌握了嗎,沒有就過來看看吧,# Unity每日一記,unity,游戲引擎


??(H)Vector類


???????1.Vector2結構體的靜態(tài)變量


1.Vector2.up // 以下的形式pint之后是 (X,y)
2.Vector2.down
3.Vector2.Left
4.Vector2,Riht
5.Vector2.one //單位化之后的值
6.Vetor2.zero // 原點的值


???????2.Vector2 結構體的成員變量


1.x
2.y
3.XX.normalized //返回 單位化的值
4XX.magnitude //返回該向量的模長
5.XX.sqrMagnitude //返回該向量 模長的平方
‘’‘’‘’‘’‘’‘’


???????3.索引器的格式和存在的目的


1,格式
訪問修飾符 + 數(shù)據(jù)類型+ this [ 索引類型 index]
{
get
set
}
【Unity每日一記】常見的類你都掌握了嗎,沒有就過來看看吧,# Unity每日一記,unity,游戲引擎

2.目的:

簡化結構體或者類成員的引用 (簡化代碼),可向數(shù)組用下標那樣調(diào)用成員


???????4.Vector2的公共函數(shù)-Equrls()


Equrls(); // 比較兩個向量是否相等
用法 : XX1 . Equals( XX2 );


???????5,Vector2的靜態(tài)方法


  • 1.vector2.Angle(); 返回兩個向量的夾角

  • 2.vevtor2.Distance(): 返回兩個點(向量)的距離

  • 3.Vetor2.Lerp(a , b, t) ;返回兩個向量的差值 (二維向量線性差值)

  • 4.Vecor.LerpUnclamped(a,b,t) ; 在 a 與 b 之間按 t 進行線性插值,t 沒有限制。

  • 5.Vector2.MoveTowards(a , b,t): t為限制向量的移動步頻(可以理解為規(guī)定速度移動)、

  • 6.vector2.max();

  • 7.vector2.min();

  • 8.vecotr2.smoothDamp(a,b,v ,t);平滑阻尼,可理解為汽車剎車效果,v為速度是二維向量,t為平滑時間

【Unity每日一記】常見的類你都掌握了嗎,沒有就過來看看吧,# Unity每日一記,unity,游戲引擎


??(J)transform類


???????1.transform的位置信息


transform.position ----游戲物體trans組件的世界位置信息
transform.Rotation----游戲物體的四元旋轉信息
transform.enlerAugle- —游戲物體的歐拉角的信息(也就是Inspactor面板中的Rotation信息)
transform.localposition/localRotion/localenleAugle--------表自身的自身信息

  • 當前游戲物體的世界四元旋轉值為——transform.rotation
  • 當前游戲物體的自身大小為——transform.localScale
  • 當前游戲物體的自身位置為——transform.localPosition
  • 當前游戲物體的自身四元旋轉位置——transform.localRotation
  • 當前游戲物體的世界歐拉角為——transform.eulerAngles
  • 當前游戲物體的自身歐拉角為——transform.localEulerAngles

???????2.游戲物體的自身方向和世界軸方向


針對自身:
==transform.forword ==----向前Z軸方向
transform.up------向上y軸方向
transform.right----向右x軸方向
針對世界:
vector.XX…
針對看向:
transform.LookAt(某個方向)——一直看向某個方向
transform.LookAt(某個物體)——一直看向某個物體
針對縮放
#region 知識點一 縮放
//相對世界坐標系
print(this.transform.lossyScale);
//相對本地坐標系(父對象)
print(this.transform.localScale);

距離運動相關

  • 當前的位置 + 我要動多長距離 == 得出最終所在的位置

this.transform.position = this.transform.position + this.transform.up * 1 * Time.deltaTime;

  • 始終會朝向相對于自己的面朝向去動

this.transform.position += this.transform.forward * 1 * Time.deltaTime;

  • 相對于世界坐標系的 Z軸 動 始終是朝 世界坐標系 的 Z軸正方向移動

this.transform.Translate(Vector3.forward * 1 * Time.deltaTime, Space.World);

  • 相對于世界坐標的 自己的面朝向去動 始終朝自己的面朝向移動

this.transform.Translate(this.transform.forward * 1 * Time.deltaTime, Space.World);

  • 相對于自己的坐標系 下的 Z軸正方向移動 始終朝自己的面朝向移動

this.transform.Translate(Vector3.forward * 1 * Time.deltaTime, Space.Self);


??????? 3.用transform組件來進行查找(包含索引查找)


  • 被創(chuàng)造的游戲物體的世界坐標位置是——xx.transform.position

  • 當前transform組件掛載的游戲物體對象的名字是——transform.name

  • 當前transform組件掛載的游戲對象的子對象的數(shù)量——transform.childCount

  • 查找當前游戲物體的子對象的trans組件名稱為——transform.Find(“zz”)

  • 查找當前游戲物體的第一個子對象——transform.GetChild(0));

  • 查找該游戲物體在父類中子對象的索引位置"——transform.GetSiblingIndex()


????系統(tǒng)路線學習點擊跳轉?


?【Unityc#專題篇】之c#進階篇】

?【Unityc#專題篇】之c#核心篇】

?【Unityc#專題篇】之c#基礎篇】

?【Unity-c#專題篇】之c#入門篇】

?【Unityc#專題篇】—進階章題單實踐練習

?【Unityc#專題篇】—基礎章題單實踐練習

?【Unityc#專題篇】—核心章題單實踐練習


你們的點贊?? 收藏? 留言?? 關注?是我持續(xù)創(chuàng)作,輸出優(yōu)質內(nèi)容的最大動力!、


【Unity每日一記】常見的類你都掌握了嗎,沒有就過來看看吧,# Unity每日一記,unity,游戲引擎文章來源地址http://www.zghlxwxcb.cn/news/detail-516427.html


到了這里,關于【Unity每日一記】常見的類你都掌握了嗎,沒有就過來看看吧的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【unity每日一記】transform類精華之珠

    【unity每日一記】transform類精華之珠

    ?????個人主頁 :@元宇宙-秩沅 ????? hallo 歡迎 點贊?? 收藏? 留言?? 加關注?! ????? 本文由 秩沅 原創(chuàng) ????? 收錄于專欄 : unity每日一記 ?【Unityc#專題篇】之c#系統(tǒng)化大禮包】 ?【unity數(shù)據(jù)持久化】數(shù)據(jù)管理類_PlayerPrfs ?【unity本站最全系列】unity常用API大全

    2024年02月11日
    瀏覽(21)
  • 【Unity每日一記】SceneManager場景資源動態(tài)加載

    【Unity每日一記】SceneManager場景資源動態(tài)加載

    ?????個人主頁 :@元宇宙-秩沅 ????? hallo 歡迎 點贊?? 收藏? 留言?? 加關注?! ????? 本文由 秩沅 原創(chuàng) ????? 收錄于專欄 : unity每日一記 ?【軟件設計師高頻考點暴擊】 ?【Unityc#專題篇】之c#系統(tǒng)化大禮包】 ?【unity數(shù)據(jù)持久化】數(shù)據(jù)管理類_PlayerPrfs ?【u

    2024年02月12日
    瀏覽(27)
  • 【Unity每日一記】資源加載相關和檢測相關

    【Unity每日一記】資源加載相關和檢測相關

    ?????個人主頁 :@元宇宙-秩沅 ????? hallo 歡迎 點贊?? 收藏? 留言?? 加關注?! ????? 本文由 秩沅 原創(chuàng) ????? 收錄于專欄 : unity每日一記 ?【軟件設計師高頻考點暴擊】 ?【Unityc#專題篇】之c#系統(tǒng)化大禮包】 ?【unity數(shù)據(jù)持久化】數(shù)據(jù)管理類_PlayerPrfs ?【u

    2024年02月07日
    瀏覽(21)
  • 【unity每日一記】資源和場景加載圖文詳解

    【unity每日一記】資源和場景加載圖文詳解

    ?????個人主頁 :@元宇宙-秩沅 ????? hallo 歡迎 點贊?? 收藏? 留言?? 加關注?! ????? 本文由 秩沅 原創(chuàng) ????? 收錄于專欄 : unity每日一記 ?【Unityc#專題篇】之c#系統(tǒng)化大禮包】 ?【unity數(shù)據(jù)持久化】數(shù)據(jù)管理類_PlayerPrfs ?【unity本站最全系列】unity常用API大全

    2024年02月10日
    瀏覽(19)
  • 【Unity每日一記】Unity不知道如何選擇,移動方法,來瞧瞧

    【Unity每日一記】Unity不知道如何選擇,移動方法,來瞧瞧

    ?????個人主頁 :@元宇宙-秩沅 ????? hallo 歡迎 點贊?? 收藏? 留言?? 加關注?! ????? 本文由 秩沅 原創(chuàng) ????? 收錄于專欄 : unity每日一記 ?【軟件設計師高頻考點暴擊】 ?【Unityc#專題篇】之c#系統(tǒng)化大禮包】 ?【unity數(shù)據(jù)持久化】數(shù)據(jù)管理類_PlayerPrfs ?【u

    2024年04月15日
    瀏覽(65)
  • 【Unity每日一記】WheelColider組件汽車游戲的關鍵

    【Unity每日一記】WheelColider組件汽車游戲的關鍵

    ?????個人主頁 :@元宇宙-秩沅 ????? hallo 歡迎 點贊?? 收藏? 留言?? 加關注?! ????? 本文由 秩沅 原創(chuàng) ????? 收錄于專欄 : unity每日一記 ?【軟件設計師高頻考點暴擊】 ?【Unityc#專題篇】之c#系統(tǒng)化大禮包】 ?【unity數(shù)據(jù)持久化】數(shù)據(jù)管理類_PlayerPrfs ?【u

    2024年02月10日
    瀏覽(45)
  • 【Unity每日一記】攝像機相關代碼API大全

    【Unity每日一記】攝像機相關代碼API大全

    ?????個人主頁 :@元宇宙-秩沅 ????? hallo 歡迎 點贊?? 收藏? 留言?? 加關注?! ????? 本文由 秩沅 原創(chuàng) ????? 收錄于專欄 :Unity基礎實戰(zhàn) 直接作為子對象課實現(xiàn)簡單跟隨 通過向量的加減更新相機位置來保持簡單的跟隨 差值位置的實時更新 ??????步驟:

    2024年02月12日
    瀏覽(17)
  • 【unity每日一記】 Camera相機+ Screen屏幕+動畫機

    【unity每日一記】 Camera相機+ Screen屏幕+動畫機

    ?????個人主頁 :@元宇宙-秩沅 ????? hallo 歡迎 點贊?? 收藏? 留言?? 加關注?! ????? 本文由 秩沅 原創(chuàng) ????? 收錄于專欄 : unity每日一記 ?【Unityc#專題篇】之c#系統(tǒng)化大禮包】 ?【unity數(shù)據(jù)持久化】數(shù)據(jù)管理類_PlayerPrfs ?【unity本站最全系列】unity常用API大全

    2024年02月10日
    瀏覽(36)
  • 【Unity每日一記】Unity中的計時器——4種方法的實現(xiàn)

    【Unity每日一記】Unity中的計時器——4種方法的實現(xiàn)

    ?????個人主頁 :@元宇宙-秩沅 ????? hallo 歡迎 點贊?? 收藏? 留言?? 加關注?! ????? 本文由 秩沅 原創(chuàng) ????? 收錄于專欄 : unity每日一記 ?【軟件設計師高頻考點暴擊】 ?【Unityc#專題篇】之c#系統(tǒng)化大禮包】 ?【unity數(shù)據(jù)持久化】數(shù)據(jù)管理類_PlayerPrfs ?【u

    2024年02月06日
    瀏覽(21)
  • 【Unity每日一記】時間Time類-做時間管理大師

    【Unity每日一記】時間Time類-做時間管理大師

    ?????個人主頁 :@元宇宙-秩沅 ????? hallo 歡迎 點贊?? 收藏? 留言?? 加關注?! ????? 本文由 秩沅 原創(chuàng) ????? 收錄于專欄 : unity每日一記 ?【Unityc#專題篇】之c#系統(tǒng)化大禮包】 ?【unity數(shù)據(jù)持久化】數(shù)據(jù)管理類_PlayerPrfs ?【unity本站最全系列】unity常用API大全

    2024年02月16日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包