728x90

2025/04/06 7

[Unity] 화면밖 네모들 Destroy

문제지금은 화면 밖으로 장애물(Square)가 이탈해도 사라지지 않고 계속 쌓여가고 있다.화면을 벗어나면 square를 Destroy해보자.화면에 보여지는 네모와 실제 square(clone)의 수가 일치해야 한다.  Square Script간단하게, y좌표가 화면을 벗어나면 Destory()함수를 이용하여 Square를 없애주면 된다. void Update(){ if (transform.position.y   결과화면

[Unity] 풍선 터지는 애니메이션 추가

Balloon Die생성Animatinos폴더 아래의 Balloon_Idle 더블 클릭Balloon게임 오브젝트 클릭 [Animation창이 안뜨는 경우]Window > Animation > Animation 클릭하면 창이 뜬다. Animation창에서 Animation 이라고 되어있는 글씨 밑에 Balloon_Idle를 클릭하고, Create New Clip을 눌러준다.Animations폴더 선택후 이름을 Balloon_Die로 하여 생성한다. 이렇게 하면 새로운 Balloon_Die 애니메이션 창으로 연결된다. 녹화버튼을 누르고 프레임을 20정도로 옮겨준 후 아래와 같이 설정한다.[Color] (255,0,0,125)[Scale] x:2, Y:2그리고 Balloon_Die의 inspector에서 Lo..

[Unity] 최고점수구현 - 데이터보관 PlayerPrefs

유니티에서는 데이터를 보관하는 기능을 제공한다. 데이터 보관 개념데이터를 보관하는 방법: PlayerPrefs앱을 껐다 켜도 데이터가 유지되게 - 유니티에서 데이터를 보관하는 방법 데이터 저장하기PlayerPrefs.SetFloat("bestScore", 어떤숫자값);PlayerPrefs.SetString("bestScore", 어떤문자열); setFloat라고 하면 float자료형을 세팅한다(저장한다) 라는 뜻 📌 두개의 매개변수가 들어가는데, bestScore은 Key값예를 들면 은행에 돈을 맡길 때 "장도치 이름으로 얼마를 저금할게요" 라고 하는데, 이때 장도치와 같은 역할→ 즉, bestScore라고 하는 이름으로 어떤값을 저장할게요  데이터 불러오기어떤숫자값 = PlayerPrefs.GetFl..

[Unity] 게임종료 로직

싱글톤 개념📌 리마인드 - 싱글톤이란? [나는 딱 하나야] 라고 할 수 있게 세팅해두는 것 (그래야 다른 곳에서 나를 부를 수 있다)public static GameManager Instance;public void Awake(){ if(Instance == null) { Instance = this; }}Instance == null 이란?null 은 비어있다는 뜻변수는 데이터/값을 담아 놓는 박스라고 했는데, 이 변수(박스)가 비어 있을 때Instance = this를 해주겠다는 뜻 싱글톤 생성게임 진행에 필요한 사항 -> GameManager에 생성풍선과 충돌이 일어났을 때 게임 매니저에 있는 게임 종료 로직을 꺼내 오도록 한다. 먼저 GameManger를 싱글톤으로 만들어 준다. GameMan..

[Unity] 게임 종료 판넬 만들기

판넬 배경 Image 만들기Canvas > Create Empty 생성후 EndPanel으로 이름 변경[사이즈] width: 450, height: 600[Shadow 효과주기] rgb(255,255,0,150)[그림자 위치] x:15, y:-15 EndPanel우클릭 > UI > Imagewidth,height변경 후 AddComponet-ShadowShadow색상 rgb값(255,255,0,150)으로 변경Effect Distance x:15, y:-15 으로 변경  폰트 가져오기 (배달의민족 주아체 사용)http://pop.baemin.com/fonts/jua/BMJUA_ttf.ttf폰트 다운로드 후 Assets폴더에 드래그 앤 드롭, Fonts폴더 생성해서 그 안에 다운받은 폰트 넣어주기  판넬에..

[Unity] 시간 구현하기

게임을 전반적으로 담당하는 GameManager에서 시간을 관리하는 Time.deltaTime을 이용할 예정 시간 값 계산시간을 담아줄 수 있는 변수 float time 생성 float time = 0.0f;그리고 계속해서 time에 deltaTime값을 더해준다time += Time.deltaTime;Debug.Log(time); // 시간이 잘 더해지는지 확인Debug.Log로 시간이 잘 더해지는 것을 확인하고, 이제 화면의 text에 시간 값을 넣어줘야 한다.Unity Hierarchy > Canvas > text의 이름을 TimeTxt로 바꿔준다. 시간을 화면상에 표시GameManager Script 화면상의 Text값을 가지고 오기위해 변수선언을 해준다.public Text timeTxt;+)..

[Unity] 장애물(square) 반복생성 - Prefab, InvokeRepeating, Instantiate

장애물 중력, 충돌구현 Hierarchy우클릭 > 2D Object > Sprites > SquarePosition Y: 3중력구현Square Inspector의 AddComponent > Rigidbody 2DOrder in Layer: 1 (Shield, balloon도 적용) 충돌구현Square: Box Collider 2DShield: Circle Collider 2DBalloon: Circle Collider 2D 장애물(스퀘어) 위치, 사이즈 랜덤Square Scriptvoid Start(){ // 시작 위치 랜덤 float x = Random.Range(-3.0f, 3.0f); // 최솟값, 최댓값 float y = Random.Range(3.0f, 5.0f); tran..

728x90