목록2020/06 (2)
게임카레
유니티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..