유니티/유니티 공부

프리팹, 충돌판정 복습 & 물리엔진

DOlpa_GB 2024. 1. 31. 01:44

오늘은 복습겸 어제 배운 프로젝트를 처음부터 다시 만들기로 했다

근데 자꾸만 스크립트를 집어넣으려고 하면 이런창이 뜨면서 스크립트 삽입이 안된다


검색을 해보니 스크립트 파일 이름과 스크립트 속 클래스의 이름이 다르다면 인식을 못한다는 이유였는데

확인을 해보니 스크립트 이름과 클래스 이름의 P의 대소문자가 서로 다른걸 확인할 수 있었다

 

근데 난 분명 스크립트 이름 쓸때 p를 대문자로 쓴적이 없는데 왜 이게 자꾸 이렇게 되는건지는 모르겠다

예를들어 내가 이렇게 p를 소문자로 잘 써놔도

지 맘대로 앞글자를 대문자 P로 바꿔버린다 

어쨌든 클래스 이름 맨 앞을 대문자로 바꿔주니 문제해결.

걍 스크립트 이름 앞글자는 무조건 대문자로 쓰는 습관을 들여야할것같다

스크립트 삽입도 잘 되었다ㅎ

 

그렇게 1일차에서 만들었던 과정까지 만든뒤 추가를 하자면

UI에서 버튼을 추가

버튼 생성뒤 밑에 딸린 Text는 지워도 된다

복사하여 L버튼까지 만든뒤 소스 이미지에 불러온 이미지를 알맞게 삽입한다

그리고 두 버튼을 각각 적절하게 크기를 조절하고 배치시킨다

여기서 한가지 알게 된건데, Inspector창에서 점 세개 누르면 포지션, 로테이션, 스케일 설정을 복사한뒤 다른곳에 그대로 붙여넣을수 있다.

 

지금 당장은 쓸데가 없지만 나중에 x,y,z축 일일이 써야하는 상황이 온다면 유용하게 쓸것같다

 

public class Playercontrol : MonoBehaviour
{
    public void LButtonDown()
    {
        transform.Translate(-3,0,0);
    }
    public void RButtonDown()
    {
        transform.Translate(3, 0, 0);
    }
}

Playercontrol 스크립트에 들어가 코딩을 한다. 주의할 점은 Start도 Update도 아닌 따로 만들어줘야한다

 

버튼 선택후 On Click에서 +를 누르고 player를 삽입한뒤 각각 맞는 Function을 집어넣는다

 

난 자연스럽게 player가 아닌 playercontrol 스크립트를 집어넣으려고 했었는데 생각해보니 고양이를 움직이는데 관여해야하니 player가 들어오는게 맞다

반응형

'유니티 > 유니티 공부' 카테고리의 다른 글

Vector2 클래스, transform, GetMouseButtonDown  (0) 2024.02.03
총정리 (용어정리)  (0) 2024.02.03
물리엔진, 애니메이션, 씬 변환  (1) 2024.02.01
물리엔진  (0) 2024.01.31
충돌판정, 프리팹  (1) 2024.01.29