본문 바로가기

반응형

게임개발

(5)
유니티 2D싱글톤 패턴 원래는 개발일지를 매일매일 써서 만들어지는 과정을 상세하게 보여주고 싶었는데 귀찮아서 그러진 못했다. 어쨋든 최근에 배운 싱글톤 패턴에 대해 작성해보겠다. 계속해서 개발을 하다보니 public 변수로 선언해서 inspector창에서 드래그앤 드랍으로 계속 참조해줘야되기도 귀찮고 이 오브젝트는 계속해서 참조할거 같은데 어떻게 하면 효율적으로 전역변수처럼 쓸수 있을까?? 하고 고민하다가 찾아낸게 싱글톤 패턴이다. 우선 씬의 GameManager라는 오브젝트와 스크립트를 만든다 그리고 그 GameManager라는 스크립트에 자주 참조되는 오브젝트들을 선언한다 그러면 어느 스크립트에서든 GameManager를 통해서 오브젝트들을 참조할 수 있다. 게임의 시작화면이다. 플레이어도 바뀌고 배경도 바뀌고 많이 바뀌었..
유니티 리모트5 사용 및 기본 버튼생성 쿠키런 같은 모바일 2D 횡스크롤 러닝액션 게임을 만들어보겠다. 그 전에 유니티리모트5 의 사용법을 알아야 한다. 유니티 리모트5는 모바일 환경에서 게임이 잘 작동하는지 계속 빌드해서 apk파일을 확인해볼 필요없이 바로 USB로 컴퓨터와 휴대폰을 연결해서 바로 확인하게 해주는 편리한 도구이다. 몇가지 착오를 거쳐서 결국 나는 연결에 성공했다. 우선 당연히 유니티 리모트5를 휴대폰에 다운받아야 한다. 그냥 플레이스토에서 받으면 된다. 그리고 휴대폰에서도 설정이 필요하다. 기본적으로 개발자 옵션에 들어가서 USB디버깅을 승인해야한다. 휴대폰 기종마다 개발자 옵션을 키는 법은 다르므로 구글링해서 개발자 옵션을 키자. lg벨벳은 시스템에들어가서 빌드정보를 7연타하면 켜졌다. 아래 화면과 같이 USB디버깅을 켜야..
2D 총알삭제와 총알생성 위치 변경(Unity) 이번 포스팅에서는 저번 포스팅에 있던 문제점들을 해결하고자 한다. 2021.05.13 - [유니티] - 2D 총알구현,발사 2D 총알구현,발사 이번 포스팅에서는 총알을 구현하고 발사하는거 까지 해보겠다. 일단 본격적으로 스크립트를 수정하기에 앞서서 Edit->ProjectSettings->Input Manager에 들어가서 아래사진과 같이 Fire1버튼을 A로 설정해 red-tiger.tistory.com 저번 포스팅에서는 총알이 올바른 위치에 생성이 안되고 삭제가 안되는 문제점을 가지고 있었다. 우선 bullet 프리펩은 시야에서 안보이면 파괴하는 함수를 사용해서 삭제하겠다. 우선 bullet.cs를 아래와 같이 작성하자. using System.Collections; using System.Colle..
2D 총알구현,발사 이번 포스팅에서는 총알을 구현하고 발사하는거 까지 해보겠다. 일단 본격적으로 스크립트를 수정하기에 앞서서 Edit->ProjectSettings->Input Manager에 들어가서 아래사진과 같이 Fire1버튼을 A로 설정해주자. 나는 이번 프로젝트에서 총알 발사 버튼을 A로 해줄꺼여서 아래처럼 설정했으므로 자기가 편한대로 해도 무방하다. 이제 스크립트를 설명하겠다 스크립트를 설명하기에 앞서서, 이전 포스팅과 스크립타가 많이 달라졌다. 위에 사진을 보면 알겠지만 부모오브젝트를 Helmet으로 두고 자식오브젝트에 weapons를 넣었다. 그래서 Player.cs 에서 Weapone.cs 스크립트를 불러서 왼쪽방향키를 누를땐 캐릭터를 기준으로 왼쪽에 위치하고 왼쪽으로 총구를향하게 했다. 바뀐 코드는 아래와..
2D 캐릭터 이동 스크립트를 통해서 2D캐릭터의 움직임을 구현하였다. 스크립트를 생성하는 법은 간단하다. 따로 Assets에 스크립트폴더를 생성하고 우클릭으로 스크립트를 생성해준다. 그리고 스크립트를 드래그해서 부모 오브젝트의 Component에 추가해준다. 그리고 해당 스크립트를 작성해준다. 스크립트는 아래와 같다. Update()는 1분에 약 60번 업데이트 되며 시작할때 speed_vec=Vector2.zero를 통해 계속 1초마다 속도를 0으로 맞춰준다. 왜 시작할때마다 0으로 맞춰줘야 하는가? 안 그렇가면 방향키를 딱 한번만 눌러도 계속 그 방향으로 가기 때문이다. If문을 사용해서 키보드 입력을 받으면 해당 방향으로 속도를 0.1f만큼 더해준다. using System.Collections; using Syst..

반응형