ezyslice 切割學(xué)習(xí)代碼 筆記

using UnityEngine;

public class MouseTrack : MonoBehaviour

{

? ? public LineRenderer lineRenderer;

? ? private Vector3[] mouseTrackPositions = new Vector3[10];

? ? private Vector3 headPosition;

? ? private Vector3 lastPosition;

? ? private int positionCount = 0;

? ? [Header("設(shè)置多遠(yuǎn)舉例記錄一個(gè)位置")]

? ? public float distanceOfPositions = 0.01f;

? ? private bool firstMouseDown = false;

? ? private bool mouseDown = false;

? ? // Use this for initialization

? ? void Start()

? ? {

? ? }

? ? // Update is called once per frame

? ? void Update()

? ? {

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

? ? ? ? {

? ? ? ? ? ? firstMouseDown = true;

? ? ? ? ? ? mouseDown = true;

? ? ? ? }

? ? ? ? if (Input.GetMouseButtonUp(0))

? ? ? ? {

? ? ? ? ? ? mouseDown = false;

? ? ? ? }

? ? ? ? OnDrawLine();

? ? ? ? firstMouseDown = false;

? ? }

? ? private void OnDrawLine()

? ? {

? ? ? ? if (firstMouseDown == true)

? ? ? ? {

? ? ? ? ? ? positionCount = 0;

? ? ? ? ? ? headPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition + Camera.main.transform.forward * 0);

? ? ? ? ? ? lastPosition = headPosition;

? ? ? ? }

? ? ? ? if (mouseDown == true)

? ? ? ? {

? ? ? ? ? ? headPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition + new Vector3(0, 0, 10));

? ? ? ? ? ? if (Vector3.Distance(headPosition, lastPosition) > distanceOfPositions)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? SavePosition(headPosition);

? ? ? ? ? ? ? ? positionCount++;

? ? ? ? ? ? }

? ? ? ? ? ? lastPosition = headPosition;

? ? ? ? }

? ? ? ? else

? ? ? ? {

? ? ? ? ? ? mouseTrackPositions = new Vector3[10];

? ? ? ? }

? ? ? ? SetLineRendererPosition(mouseTrackPositions);

? ? }

? ? private void SavePosition(Vector3 pos)

? ? {

? ? ? ? pos.z = 0;

? ? ? ? if (positionCount <= 9)

? ? ? ? {

? ? ? ? ? ? for (int i = positionCount; i < 10; i++)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? mouseTrackPositions[i] = pos;

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? else

? ? ? ? {

? ? ? ? ? ? for (int i = 0; i < 9; i++)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? mouseTrackPositions[i] = mouseTrackPositions[i + 1];

? ? ? ? ? ? }

? ? ? ? ? ? mouseTrackPositions[9] = pos;

? ? ? ? }

? ? }

? ? private void SetLineRendererPosition(Vector3[] positions)

? ? {

? ? ? ? lineRenderer.SetPositions(positions);

? ? }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • using System.Collections; using System.Collections.Generi...
    Unity夜神閱讀 365評(píng)論 0 0
  • 如果說人生是一場(chǎng)拔河比賽,無論紅繩在哪邊,都是精彩。如果說生命是一場(chǎng)馬拉松,走好腳下的每一步,才有意義。那么有人問...
    水果家族閱讀 224評(píng)論 0 0
  • 文/安心 今天,兒童節(jié)。 一年一度,如期而至。 ...
    芮安88閱讀 438評(píng)論 0 1
  • 夜景黑色調(diào)/作 丹楓散秋寒,葉落玉冰霜。 聽雨憶柔情,雨霧兩茫茫。 纖手紅顏妝,玉釵青鬢香。 黃鶴故人游,淡月西湖樓。
    夜景黑色調(diào)閱讀 207評(píng)論 0 0

友情鏈接更多精彩內(nèi)容