最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

[Blender+Unity]鼠標交互尋路Demo

2023-04-01 23:16 作者:TripleKilo  | 我要投稿

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.AI;


public class PlayerMovement : MonoBehaviour

{

??public MouseAction mouseAction;

??void Start()

??{

????//啟動時把自己的函數(shù)放入事件的委托列表

????//類外的事件觸發(fā)時類內(nèi)的函數(shù)觸發(fā)

????mouseAction.OnMouseClickOnMap += MouseAction_OnMouseClickOnMap;

??}

??//接受到事件后觸發(fā)函數(shù)

??private void MouseAction_OnMouseClickOnMap(object sender, MouseAction.OnMouseClickOnMapEventArgs e)

??{

????//獲取導航組件

????if (TryGetComponent<NavMeshAgent>(out NavMeshAgent agent))

????{

??????//根據(jù)事件傳來的位置信息給導航組件設(shè)定目標

??????agent.SetDestination(e.targetPosition);

????}

??}

}


using System;

using System.Collections;

using System.Collections.Generic;

using UnityEngine;


public class MouseAction : MonoBehaviour

{

??//定義一個向外傳遞信息的事件,發(fā)出的信息是自定義的EventArgs,

??//向所有符合條件(無返回值,傳兩個參數(shù))且加入了接受列表的函數(shù)發(fā)出信息

??//類內(nèi)觸發(fā)事件,類外同步觸發(fā)其他類的函數(shù)

??public event EventHandler<OnMouseClickOnMapEventArgs> OnMouseClickOnMap;

??//自定義一種數(shù)據(jù)包裝類型,包裹一個位置信息,再創(chuàng)建時裝入位置信息?

??public class OnMouseClickOnMapEventArgs : EventArgs

??{

????public Vector3 targetPosition;

????public OnMouseClickOnMapEventArgs(Vector3 targetPosition)

????{

??????this.targetPosition = targetPosition;

????}

??}





??void Update()

??{

????//如果鼠標按下

????if (Input.GetMouseButtonDown(0))

????{

??????//創(chuàng)建碰撞檢測射線

??????Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

??????//如果碰撞檢測成功,鼠標有點擊在物體上

??????if (Physics.Raycast(ray, out RaycastHit hit))

??????{

????????//判斷碰撞物體是不是地圖

????????if (hit.collider.gameObject.tag == "Map")

????????{

??????????Debug.Log(hit.point);


??????????//觸發(fā)事件

??????????OnMouseClickOnMap?.Invoke(this, new OnMouseClickOnMapEventArgs(hit.point));

????????}


??????}

????}

??}

}


using System.Collections;

using System.Collections.Generic;

using UnityEngine;


public class CameraFollow : MonoBehaviour

{

??public Transform player;

??public Vector3 offset;


??//相機和目標物體間位置相差一個偏差值

??void Update()

??{

????transform.position = player.position + offset;

??}

}

[Blender+Unity]鼠標交互尋路Demo的評論 (共 條)

分享到微博請遵守國家法律
涟水县| 弋阳县| 肥西县| 东安县| 开封市| 桦川县| 平罗县| 定远县| 定结县| 洛川县| 乐山市| 上虞市| 九龙坡区| 周口市| 渭源县| 彭阳县| 和政县| 封丘县| 南乐县| 思南县| 瓦房店市| 长沙县| 西贡区| 湘乡市| 灵宝市| 铁力市| 同心县| 建始县| 驻马店市| 五峰| 秦皇岛市| 马龙县| 施甸县| 邓州市| 田林县| 栾城县| 安阳县| 南召县| 房山区| 新龙县| 昌平区|