五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

使用unity制作一個(gè)寶可夢(mèng)——3.添加碰撞體

2023-06-08 21:52 作者:立志看完尚硅谷  | 我要投稿

最后一點(diǎn)沒(méi)看懂,反正照著寫(xiě)了,貼個(gè)代碼


using System.Collections;

using System.Collections.Generic;

using UnityEngine;


//這是一個(gè)控制玩家的類(lèi),實(shí)現(xiàn)的功能有:

//1.上下左右移動(dòng)

//2.播放移動(dòng)動(dòng)畫(huà)


public class PlayerController : MonoBehaviour

{

??public float moveSpeed;?//玩家的移動(dòng)速度

??public LayerMask solidObjectsLayer;?//獲取房屋的圖層


??private bool isMoving;?//是否處在移動(dòng)

??private Animator animator;?//定義玩家的動(dòng)畫(huà)的狀態(tài)機(jī)


??private void Awake()?//Awake():生命周期函數(shù),當(dāng)組件被實(shí)例化并啟用時(shí),該方法將在其它方法之前調(diào)用一次

??{

????animator = GetComponent<Animator>();?//獲取到玩家的狀態(tài)機(jī)

??}


??private void Update()

??{

????if (!isMoving)

????{

??????var input = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"));

?????


??????if (input.x != 0) input.y = 0;?//限制角色走斜線


??????if (input != Vector2.zero)?//如果輸入的值不為0

??????{

????????//將輸入的x,y值賦予給moveX,moveY,用來(lái)控制角色的動(dòng)畫(huà)狀態(tài)

????????animator.SetFloat("moveX",input.x);

????????animator.SetFloat("moveY", input.y);


????????var targetPos = transform.position;?//targetPos:目標(biāo)的位置

????????targetPos.x += input.x;?????//x方向加上垂直方向輸入進(jìn)來(lái)的值

????????targetPos.y += input.y;?????//y方向加上水平方向輸入進(jìn)來(lái)的值


????????if (isWalkable(targetPos))?//如果移動(dòng)沒(méi)有被阻塞

??????????StartCoroutine(Move(targetPos));?//開(kāi)啟玩家移動(dòng)的協(xié)程,將目標(biāo)的位置作為參數(shù)傳遞過(guò)去

??????}

????}


????animator.SetBool("isMoving",isMoving);?//將isMoving的狀態(tài)賦予給狀態(tài)機(jī)

??}



??IEnumerator Move(Vector3 targetPos)

??{

????isMoving = true;


????// 循環(huán)判斷當(dāng)前位置與目標(biāo)位置之間的距離是否大于一個(gè)很小的數(shù)值

????while ((targetPos - transform.position).sqrMagnitude > Mathf.Epsilon)

????{

??????// 計(jì)算每幀應(yīng)該移動(dòng)的距離,并讓物體朝目標(biāo)位置移動(dòng)一步

??????transform.position = Vector3.MoveTowards(transform.position, targetPos, moveSpeed * Time.deltaTime);

??????// 讓程序等待下一幀再執(zhí)行

??????yield return null;

????}

????// 直接將物體移動(dòng)到精確定位到目標(biāo)位置上,避免偏差堆積

????transform.position = targetPos;


????isMoving = false;

??}



??private bool isWalkable(Vector3 targetPos)?//判斷行走是否被阻塞

??{

????if (Physics2D.OverlapCircle(targetPos, 0.2f, solidObjectsLayer) != null)

????{

??????return false;

????}

????return true;

??}

}

使用unity制作一個(gè)寶可夢(mèng)——3.添加碰撞體的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
申扎县| 文登市| 武乡县| 堆龙德庆县| 潜山县| 望城县| 温宿县| 和龙市| 无为县| 商都县| 施秉县| 织金县| 同仁县| 张家港市| 龙泉市| 大名县| 新安县| 武平县| 同江市| 治多县| 固镇县| 松滋市| 茶陵县| 濮阳县| 吕梁市| 河东区| 涿州市| 土默特右旗| 溆浦县| 沂水县| 平谷区| 秦皇岛市| 张家口市| 昌乐县| 沿河| 天柱县| 城市| 涪陵区| 英山县| 灌云县| 浠水县|