๋ง์ฐ์ค ์ขํ์ ๋ฐ๋ผ
8๋ฐฉํฅ ์ขํ(Left, Left Up, Left Down
Right, Right Up, Right Down
Up
Down)
์ด๋ฐ ์์ผ๋ก ์ถ๋ ฅํ๋ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์๋๋ฐ
์ผ๋จ์ ์ผ์ชฝ ๋ฐฉํฅ ๋ถ๋ถ์ ์์ฑํ๋๋ฐ
์ค๊ฐ์ด ์์ด Left Up, Left Down๋ง ์ถ๋ ฅ๋๊ณ ์์
์๋๋ ์ฝ๋ ์ ๋ฌธ์
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MousePos : MonoBehaviour
{
Vector3 screenPosition;
void Update()
{
mousePos();
SetString();
}
void mousePos()
{
if(Input.GetMouseButton(0)) // Down์ผ๋ก ์ํ ์ด์ ๋ ์ค์๊ฐ์ผ๋ก ์ฒดํฌํ๋ ค๊ณ
{
screenPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
}
}
void SetString() // ํ ์คํธ์ฉ
{
if(screenPosition.x < -1 && screenPosition.y == 0)
{
Debug.Log("Left");
}
else if(screenPosition.x < -1 && screenPosition.y < -1)
{
Debug.Log("Left_Down);
}
else if(screenPosition.x < -1 && screenPosition.y > 1)
{
Debug.Log("Left_Up);
}
}
}
์ ๊ฐ ์ ๋ํฐ๋ฅผ ์๋ชฐ๋ผ์ ๋ง๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ผ๋ ๋ง์ฐ์ค๊ฐ ์ธํ๋ ๋ ์ ํ๋ค๋ฆผ๊ณผ ๊ฐ์ ๊ธฐํ ๋ฌธ์ ๋ก y๊ฐ์ด 0์ด ์๋์ด์ ๊ทธ๋ฐ๊ฒ ์๋๊น์? ๋ก๊ทธ๋ก y๊ฐ์ ์ฐ์ด๋ณด์๊ณ ํด๋นํ๋ ๋ฌธ์ ๊ฐ ๋ง๋ค๋ฉด ์/์๋๋ก ํ๋จ๋๋ ๊ธฐ์ค๊ฐ ๋งํผ์ด ์์ง์ฌ์ง์ง ์์ผ๋ฉด y์ถ ์ด๋์ด ์๋๊ฑฐ๋ก ํ๋จํ์๋ฉด ๋ ๊ฒ ๊ฐ๋ค์
์ฃ์กํฉ๋๋ค.
๊ทธ๋์ ๋๋๊ทธ๋ก ํ ์คํธ ํ๋๋ฐ๋ ์ค๊ฐ๊ฐ์ด ์๋์์์;;
https://docs.unity3d.com/ScriptReference/Input-mousePosition.html
๋ ํผ๋ฐ์ค
ํ์ด์ง๋ฅผ ํ์ธํด๋ดค๋๋ฐ ์ ๊ฐ ์ ๊ฐ์ ๋ง์ฐ์ค์ ์ด๋ ๋ฐฉํฅ์ผ๋ก ์ฐฉ๊ฐํ๋ค์
๊ฐ์ฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ ์ธํ์ ๋ฐ์๋ screenposition์ ๋ก๊ทธ๋ก ์ฐ์ด๋ณด์๊ณ ํด๊ฒฐํด๋ณด์ฌ์ด ์ข์๋ฏํ๋ค์ ํด๋น ๊ฐ์ ์ด๋ป๊ฒ ์ฌ์ฉํ์๋ ค๊ณ ํ๋์ง ๋ชจ๋ฅด๊ฒ ์ด์ ๋ฌป๋๊ฑด๋ฐ ๊ตณ์ด ์๋ํฌ์ง์ ์ผ๋ก ๋ณํํ์๋ ์ด์ ๊ฐ ์๋๊ฑด๊ฐ์?
์๋ฌดํผ ์ด๋ค ์์น๋๊ฐ์ ์ ํํ 0์ผ๋ก ์ฌ์ ๋ฐฉํฅ์ด ์๋ ์ ๋ฐฉํฅ ์ด๋์ ๊ตฌํํ์๊ธฐ๋ ํ๋ค๊ฒ ๊ฐ๊ณ ์ ๋นํ ๊ฐ์ผ๋ก ์ฌ์ ์ด๋ ์ฒ๋ฆฌ๋ฅผ ํ์ฌ์ด ์ข์๋ฏ ํด์
๋ฐฉ๊ธ ์ถ๊ฐํ ์ด๋ฏธ์ง๋๋ก
๋ง์ฐ์ค ๋ฐฉํฅ(์ขํ๊ฐ)์ ๋ฐ๋ผ ์ผ๊ตด์ ๋ฐฉํฅ์ ๋ฐ๊พธ๋ ๊ทธ๋ฐ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ณ ์ถ์ด์์
๋ง์ฐ์ค ์์น - ์์ ์์น๋ก ๋ฐฉํฅ ๋ฒกํฐ๋ฅผ ๊ตฌํ์๊ณ ํด๋น ๋ฒกํฐ๋ฅผ ๋ ธ๋ง๋ผ์ด์ฆํด์ ๋น๊ตํ์๋ฉด ํธํ์ค๊ฑฐ ๊ฐ๋ค์
๊ฐ์ฌํฉ๋๋ค!