Unity(93)
-
[Unity Project] <ShootOut2D> 2D 슈팅 게임 만들기(13) 코인 점수 표시하기, UI 메뉴 이미지 추가하기
프로젝트에 Text(Legacy)를 추가하고 적절한 폰트를 설정한 후 코인 점수를 표시할 용도로 중앙 위쪽에 Text를 위치시킨다. 앵커는 최상단을 따라가게 하여 좌우에 영향을 받지 않게 한다. public class GameManager : MonoBehaviour{ public Text gemScore; ...gemScore 변수를 추가한 후void Start(){ gem = 0; gemScore.text = gem.ToString();}gemScore의 텍스트에 float 형의 gem을 string으로 바꿔 대입한다. 이제 PlayerScript에서 OnTriggerEnter2D에서 gem을 먹을 때 스코어가 올라가게 설정하면 된다. void OnTriggerEnt..
2023.09.22 -
[Unity] 캔버스(Canvas)와 UI, Text, RectTransform
Render Mode - Overlay모니터의 크기나 해상도에 따라서 캔버스의 위치가 자동으로 변한다. 달라질 수 있는 UI의 상대적인 위치를 동일하게 고정시키며 확대 축소가 자동으로 된다.게임 화면과 캔버스가 겹쳐서 보인다.버튼 추가로 캔버스를 하나 만들면, 기본으로 Screen Space - Overlay로 설정되어있는 것을 볼 수 있다. 오버레이 모드에서는 캔버스와 왼쪽 아래 작은 게임 화면이 겹쳐서 나타나게 된다. Render Mode - Camera캔버스의 크기가 카메라의 크기와 동일하게 자동으로 조정된다.Overlay 모드와 같게 캔버스와 UI 항목이 해상도에 따라 상대적인 위치가 동일하다. 기본으로는 캐릭터 스프라이트가 버튼 위에 올라가있다. 씬에서 조절하면 버튼이 캐릭터 스프라..
2023.09.22 -
[Unity Project] <ShootOut2D> 2D 슈팅 게임 만들기(12) 적 미사일 추가, 미사일 충돌
적절한 적 발사체 스프라이트를 찾아서 적용해주고 Tag, Layer를 추가하여 설정한다. RigidBody 2D, Box Collider 2D를 추가하고 EnemyShoot 스크립트를 새로 만든다. Player와 EnemyShoot의 교차점을 체크하여 Physics를 적용한다. public class EnemyShoot : MonoBehaviour{ public float speed = 4; void Start() { } void Update() { transform.Translate(Vector3.left * speed * Time.deltaTime); } void OnBecameInvisible() { Dest..
2023.09.18 -
[Unity Project] <ShootOut2D> 2D 슈팅 게임 만들기(11) 젬 점수, 젬 먹기
가장 먼저, GemScript에서 gem 변수를 추가한다.public class GemScript : MonoBehaviour{ public float gemSpeed = 2; public float gem = 1; void Update() { transform.position += Vector3.left * Time.deltaTime * gemSpeed; } private void OnBecameInvisible() { Destroy(gameObject); }} 다음 AsteroidScript에서도 gem을 2 값으로 추가한다.public class AsteroidScript : MonoBehaviour{ public float ..
2023.09.18 -
[Unity Project] <ShootOut2D> 2D 슈팅 게임 만들기(10) 적 생성, 충돌, 제거
스프라이트들로 Enemy 애니메이션을 생성하고, Rigidbody 2D, Circle Collider 2D를 추가한다. Tag와 Layer도 Enemy로 설정한다. public class EnemyScript : MonoBehaviour{ public int type = 0; public int hp = 3; public float enemySpeed = 4; void Start() { switch (type) { case 0: hp = 10; enemySpeed = 1.5f; break; case 1: hp = 20; enemy..
2023.08.31 -
[Unity Project] <ShootOut2D> 2D 슈팅 게임 만들기(9) 소행성 랜덤 생성기
랜덤으로 소행성이 날아오게 만들기 위해서 빈 오브젝트를 하나 생성하여 스크립트를 추가한다. GameManager 이름으로 스크립트를 하나 생성하였고, 자동적으로 스크립트 아이콘이 톱니 모양으로 바뀐다. public class GameManager : MonoBehaviour{ public GameObject asteroid; public float time = 0; public float maxTime = 3; float asteroidGenSpeed; void Update() { asteroidGenSpeed = Random.Range(1.0f, 5.0f); time += Time.deltaTime * asteroidGenSpeed; ..
2023.08.31