목록Unity 관련 (4)
게임카레
먼저 해당 글은 XBox 게임패드를 이용하였음을 알린다. 유니티에서 게임을 만들다 보면 가끔은 게임패드가 연동되었으면 좋겠다는 생각을 하기도 한다. 기본적으로 게임패드를 입력했을때, 이동축을 GetAxis("Horizontal") 으로 입력받아 할 경우 게임패드의 왼쪽 조이스틱으로 움직임이 가능하다는것을 알수 있다. 하지만 다른 키에 대해서는 어떻게 입력해야 하는가? 주제에 의문에 앞서 유니티 에서는 Input manager 가 존재한다. 말그대로 입력받는 대부분의 키를 관리해주는 기능 Input Manager 에 접근하기 위해서는 Edit -> Project Settings 에서 좌측에 있는 Input Manager 를 들어가야 한다. Axes 를 펼치게 되면 현재 매핑되어 있는 키들을 확인해볼수 있다..
유니티2D 게임공작소 라는 책에 첫 예제로 나오는 Sample2_1 게임 입니다. 단순하게 탱크를 마우스로 클릭하면 앞으로 이동, 마우스를 떼게 되면 포탄을 발사하여 공룡 가슴에 있는 구슬에 맞추어야 하는 게임 입니다. 책을 보면 rigidbody2D.AddForce(new Vector2(+30.0f, 0.0f)); 라는 코드가 존재하는데 최신버전 유니티에서는 실행이 되지 않더라구요 이런식으로 오류가 발생합니다. 해결 방법으로는 해당 컴포넌트를 받아오는 변수를 선언하여 컴포넌트를 찾아옵니다. goShell 오브젝트의 경우 위에서 자식을 검색하였기 때문에 goShell 오브젝트가 가진 RigidBody2D 컴포넌트를 참조할수 있습니다. 변수의 이름으로 불러와 사용하게 되면 이상없이 잘 동작하는것을 볼수 있..
다른 오브젝트가 가지고 있는 스크립트의 함수를 사용해야 하는 경우가 발생한다. 두 오브젝트의 이름을 각각 Object01, Object02 로 설정해주고 이름과 같은 스크립트를 작성하여 오브젝트에 상속시켜준다. 각각의 오브젝트들에는 TestScript1, TestScript2 스크립트들이 들어있다. 다른 스크립트에서 변수, 함수의 호출및 수정을 허용하려면 변수나 함수의 접근 제어자를 public 으로 설정 해주어야 한다. 우선 TestScript2 에서 접근제어자가 public 인 int 변수 TestNubmer 을 선언하여 10 으로 초기화 해준다. 이렇게 스크립트를 작성하면 처음 Start 에서 디버그로 10을 찍어낼 것이고 계속하여 TestNumber 를 출력할것이다. 변동사항이 없다면 계속하여 1..