Unity(121)
-
[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 -
[Unity Project] <ShootOut2D> 2D 슈팅 게임 만들기(8) 소행성 파괴 이펙트
이전에 과정과 마찬가지로, explosion 애니메이션 적용을 위해 스프라이트 설정 후 애니메이션 빠르기를 조정한다. Hit 애니메이션과 마찬가지로, 애니메이션 1번 재생 후 사라져야 하기 때문에 Hit에 쓰인 스크립트를 그대로 적용한다. 코드를 추가하여 ShootScript에서, 소행성이 사라진 지점에 explosion 애니메이션을 적용할 것이다. public class ShootScript : MonoBehaviour{ public GameObject explosion; public GameObject gem; public GameObject hitEffect; public float speed = 10; void Update() { transfo..
2023.08.31 -
[Unity Project] <ShootOut2D> 2D 슈팅 게임 만들기(7) 젬 생성
적을 쏘아 격추시키면서 점수를 높이기 위해 젬을 배치하는 것은 플레이어의 경험을 향상 시키는 데에 효과적이다. 위와 같은 젬 스프라이트를 적용할 것이다. 설정한 후 Sprite Editor로 잘라서 한꺼번에 드래그하여 애니메이션을 만든다. 애니메이션을 적당히 편집하면 반짝이는 젬을 만들 수 있다. 이전에 해왔던 과정과 같은 방법이다. Item 레이어를 추가한 후 적용한다. Player와 Item 레이어의 충돌 체크도 한다. Circle Collider 2D와 Rigidbody 2D를 추가한다. Kinematic 설정을 한다. 소행성 파괴시 젬 생성ShootScript에서 소행성이 파괴될 때 그 자리에 코인을 생성하는 코드를 추가할 것이다. public class ShootScript : ..
2023.08.31