게임 개발 (4) 썸네일형 리스트형 무적 기능을 구현해보ㅈㅏ!(코루틴) 오늘은 코루틴을 사용하여 무적 기능을 구현해보도록 하겠습니다! 먼저 저는 두가지 방법을 생각해보았는데 1. bool값 이용 2. layer 이용 이중 bool값을 이용하는 방법에 대해 설명을 해보도록 하겠습니다. 코드 [SerializeField] private bool invincibility; 저희가 무적인지 아닌지 판단할 때 사용하기 위한 bool 형식의 변수입니다. private void OnTriggerEnter2D(Collider2D col) { if (col.CompareTag("Bullet")) { OnDamaged(); } } 저는 2D상에서 구현을 하였기 때문에 OnTriggerEnter2D를 사용하였지만 3D이신 분들은 OnTriggerEnter를 사용해주시면 되겠습니다. 만약 닿은 .. 유니티 라이프 사이클(Life Cycle)에 대해 알아보ㅈㅏ! OnDisable라이프 사이클이란? 유니티 엔진에선 저희가 실행하지 않아도 자동으로 실행해주는 함수들이 있는데 이 함수들이 호출되는 주기를 라이프 사이클이라고 합니다. 라이프 사이클 실질적인 라이프 사이클은 이렇지만 이번에는 큰 것들만 순서대로 정리해보도록 하겠습니다! 1) Initialization Awake: 스크립트가 실행될 때 한번씩만 호출되며 게임의 상태 또는 변수 초기화로 사용합니다. 오브젝트가 비활성화 상태일 경우 호출되지 않지만 스크립트가 비활성화 상태인 경우엔 호출되고, 코루틴으로 실행할 수 없다는 특징이 있습니다. OnEnable: 게임 오브젝트가 비활성화 상태에서 활성화 될때마다 호출됩니다. Start: 스크립트가 활성화 될 때 한번만 호출되며 오브젝트나 스크립트가 비활성화 상태일때는.. 유니티에서 명명규칙과 코딩 규칙을 알아보ㅈㅏ! 오늘은 명명규칙에 대해 알아보겠습니다! 명명규칙이란? 프로젝트를 진행할 때 개발 생산성과 운영의 효율을 높이기 위해 지켜야 하는 규칙입니다. 보통 팀에서 정한 규칙을 따른 거거나 정한 규칙이 없으면 언어 자체 규칙을 따르기도 합니다. 왜 필요한가? 예를들어 협업을 한다고 생각해봅시다. 협업을 하던 도중 변수명이 A, b, aAb, asdf, LancelotsFavouriteColour 등 알아볼 수 없는 변수명이 있었고 이 변수를 만든 프로그래머는 현재 연락이 닿지 않습니다. 이러한 상황이 일어나면 곤란하겠죠? 그렇기 때문에 명명규칙을 지키며 코드를 작성하는 겁니다. 명명규칙 카멜 케이스(camelCase) 여러 단어를 사용할 때 맨 처음 단어를 제외한 단어들의 앞글자를 대문자로 적습니다. 낙타의 봉우리.. 똥 피하기 게임을 만들어보ㅈㅏ!(2. 플레이어와 똥 오브젝트 만들기, Rigidbody와 Collider 이해하기) 이번엔 게임 씬을 구현하겠습니다! 게임 씬에는 플레이어와, 플레이어가 떨어지지 않도록 막아주는 바닥, 똥 오브젝트, 똥 오브젝트를 생성해줄 스크립트가 필요하겠네요! 먼저 바닥부터 만들어보죠! Square를 한 개 만들고 Square의 이름을 Ground로 바꿔주겠습니다. 이후 Add Component에서 Boxcollider 2D를 추가해줍시다! 이제 이 오브젝트를 카메라의 아래에 깔아줍니다. 바닥은 이게 끝입니다. 정말 쉽죠? 다음으로 만들건 플레이어입니다. Circle 오브젝트를 하나 만들고 이번엔 이름과 태그를 Player로 바꾸겠습니다. 저는 사이즈랑 색을 조금 바꿔줬습니다! Player오브젝트에 rigidbody 2D와 Circle Collider 2D를 추가해주고 플레이어 코드를 작성하러 가기.. 이전 1 다음