[TIL] 26 Unity 팀과제 강의 virtual
abstract
Interface
⭐⭐
카테고리: Til
virtual
abstract
Interface
유니티 팀과제 3일차
[o] 알고리즘 문제 31 ~ 34
[o] 팀과제
[o] 4시 강의
주말에 알고리즘 과제 풀어보기.
1. 알고리즘 문자열
다차원 배열
GetLength(n - 1)은 n차원 배열의 길이를 리턴합니다
- array.GetLength(0) : 2차 배열에서 행(row)의 길이를 리턴
- array.GetLength(1) : 2차 배열에서 열(column)의 길이를 리턴
행렬의 덧셈
public int[,] solution(int[,] arr1, int[,] arr2) {
int row = arr1.GetLength(0);
int col = arr1.GetLength(1);
int[,] answer = new int[row,col];
for(int i = 0; i<row;i++)
{
for(int j = 0; j<col;j++)
{
answer[i,j] = arr1[i,j]+arr2[i,j];
}
}
return answer;
}
2. 2D Raycast
gameobject 배열에 다른 오브젝트 자식 넣기
public void SelectPlayer()
{
if (Input.GetMouseButtonDown(0))
{
// 카메라 - 마우스를 직선으로 이은 선
Ray ray = cam.ScreenPointToRay(Input.mousePosition);
// 클릭한 오브젝트
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
playerNum = hit.transform.GetComponent<PlayerNum>().SelectNum;
foreach (var p in playerNumList)
{
animator = gameObjects[p - 1].GetComponent<Animator>();
playerNum = int.Parse(hit.transform.name.Substring(hit.transform.name.Length - 1));
animator.SetBool("Iswalk", playerNum == p);
if (playerNum == p)
{
PlayerPrefs.SetInt("PlayerSelect", p);
int a = PlayerPrefs.GetInt("PlayerSelect");
}
}
}
}
}
3. 유니티 자식오브젝트 가져오기
gameobject 배열에 다른 오브젝트 자식 넣기
public GameObject[] gameObjects;
for (int i = 0; i < _playerPrefebs.transform.childCount; i++)
{
GameObject[i] = _playerPrefebs.transform.GetChild(i).gameObject;
}
4. 강의정리
virtual
-> 재정의(override) 가능, 필수 x
abstract
-> 반드시 재정의(override) 해야한다. (기능을 강제적으로 재정의함)
Interface
-> 가장 높은 추상성, 다중 상속
정리, 잡담
개인과제 피드백
스크립트 관리와 기능 배분은 끊임없이 고민하는 부분입니다. 다양한 시도를 통해 나만의 기준점을 명확하게 갖는 것이 중요합니다.
게임매니저는 프로젝트 진행과 프로젝트에서 전반적으로 공유되어야 하는 정보가 모여있는 곳이라고 생각하면 좋을 것 같습니다.
[Unity] TIL 26
댓글남기기