코드네임 :
Vector Class 벡터 클래스 본문
벡터의 방향 구하려면 (from 원점, to 시점) : 벡터의 뺄셈처럼 반대로 빼줌
AB = OB - OA (위 벡터 화살표는 생략했)
.magnitude : 벡터의 크기
Vector
✔️ 2D : Vector2 클래스 (float형의 x,y 멤버변수)
✔️ 3D : Vector3 클래스 (구조체 Struct) (float형의 x,y,z 멤버 변수)
struct Vector3
{
public float x;
public float y;
public float z;
// Vector용 멤버 메서드가 아래에 이어진다
}
✔︎ 둘 다 좌표나 벡터로 쓸 수 있음
✔︎ x = 3, y = 5를 좌표로 쓰면 오브젝트가 '(3,5)에 위치함'를 의미
✔︎ 벡터로 쓰면 '현재 위치에서 x 방향으로 3, y 방향으로 5 움직임'을 뜻함
Vector 클래스 응용
✔︎ 가속도, 힘, 이동 속도 등의 물리 수치로 사용 가능
예제 #1 : Vector2 클래스의 멤버 변수에 숫자 대입하기
아니 그냥 벡터에서 쓰는 변수가 float실수형 변수 x,y,z니까 숫자는 정수로 써도 됨여 ( 정수값 실수변수에 대입시 자동으로 형변환) ‼️
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test2 : MonoBehaviour
{
private void Start()
{
Vector2 playerPos = new Vector2(3.0f, 4.0f);
//Vector2 playerPos = new Vector2(3f, 4f);
//Vector2 playerPos = new Vector2(3, 4); // 일케 얘는 f빼고 정수값으로 작성해도 됨.
// 정수 타입이 실수 타입보다 범위가 더 작으므로
//범위가 더 작은 타입을 범위가 더 넓은 타입에다 넣을때는 아무 문제가 없음
// 요 3,4의 정수값은 아래 실수변수(float형의 x, y)에다가 대입할 때
// 자동적으로 형변환이 된다
// - 암묵적 형변환
playerPos.x += 8; // x축방향으로 8만큼
playerPos.y += 5; // y축방향으로 5만큼
//playerPos.x += 8.0f;
//playerPos.y += 5.0f;
//playerPos.x += (float)8;
//playerPos.y += (float)5;
Debug.Log(playerPos);
}
}
/* 실행결과 (11.00, 9.00) */
예제 #2 : Vector 클래스끼리 뺄셈하기
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test2 : MonoBehaviour
{
private void Start()
{
Vector2 startPos = new Vector2(2.0f, 1.0f);
Vector2 endPos = new Vector2(8.0f, 5.0f);
Vector2 dir = endPos - startPos; // 뺄셈한 값을 dir(direction)에 대입
// end - start는 스타트에서 엔드로 가는 방향!!
// 반대인건 벡터의 뺄셈이랑 똑같뉴
Debug.Log(dir);
float len = dir.magnitude; // magnitude : 그 방향으로 이동한 "거리"구할 때 씀
// 그냥.. "벡터의 크기"
Debug.Log(len);
}
}
/* 실행결과 */
// (6.00, 4.00)
// 7.211102
기하러지만 ^_^ 혹시라도 순간 까먹으면 아래 링크 보삼
https://m.blog.naver.com/os2dr/221576752200
https://m.blog.naver.com/lucifer246/194629349
+ MS 설명,,
https://learn.microsoft.com/ko-kr/dotnet/api/system.windows.vector?view=windowsdesktop-7.0
'프로그래밍 > Unity(C#)' 카테고리의 다른 글
슈팅게임 - #2 총알이동, 적 이동 (0) | 2023.07.06 |
---|---|
슈팅게임 - #1 플레이어 이동 (0) | 2023.07.04 |
Class 클래스⭐️ (0) | 2023.07.03 |
오류코드 영어로 읽기 (0) | 2023.07.03 |
method (사용자 정의 함수) (0) | 2023.07.03 |