본문 바로가기
KDT/유니티 기초

23/08/01 [수업과제] 표창 던지기

by 잰쟁 2023. 8. 1.
728x90
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ShurikenController : MonoBehaviour
{
    float rotSpeed = 0; 
    float moveSpeed = 0;
    float dampingCoeffcient = 0.96f; //감쇠계수

    private Vector3 startPos; //down 했을때 위치

    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        //마우스 스와이프
        //마우스 왼쪽 버튼을 눌렀다면
        if (Input.GetMouseButtonDown(0))
        {
            this.rotSpeed = 10;
            Debug.LogFormat("Down:{0}", Input.mousePosition);
            this.startPos = Input.mousePosition;
        }
        else if (Input.GetMouseButtonUp(0))
        {
            //마우스 떼기
            Debug.LogFormat("Up:{0}", Input.mousePosition);
            Vector3 endPos = Input.mousePosition;

            //마우스 누르고 뗀 거리(위아래) 구하기
            float swipeLenth = endPos.y - startPos.y;
            Debug.LogFormat("swipeLength: {0}", swipeLenth);

            this.moveSpeed = swipeLenth / 500f;

        }
        // y축으로 moveSpeed만큼 매프레임마다 이동 
        this.transform.Translate(0, this.moveSpeed, 0,Space.World);
        // 매프레임마다 회전
        this.transform.Rotate(0, 0, this.rotSpeed);

        //감쇠 매프레임마다 0.96f;를 moveSpeed에 곱해서 적용 -> 점점 줄이겠다.
        this.moveSpeed *= this.dampingCoeffcient;