728x90

GameDevelop 97

[Unity] 마우스 따라 움직이는 Shield-ScreenToWorldPoint()

기본 개념Shield는 마우스의 위치에 맞춰서 돌아다녀야한다.따라서 화면 스크린에 떠돌아다니는 이 마우스의 위치를 카메라가 찍고있는 Shield게임 오브젝트의 위치로 바꿔야한다.이 역할을 해주는 Script를 만들어보자 Assets우클릭 > Scripts 폴더 생성 > Create -> C# Script > 이름 ShieldShield오브젝트에다 Shield 스크립트를 드래그 앤 드롭으로 붙여준다. Shield Scriptvoid Update(){ Vector2 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); transform.position = mousePos;} 스크린의 위치를 게임월드상의 위치로 바꿔주는 ScreenToW..

[Unity] 풍선 애니메이션

풍선 색 바뀌는 애니메이션 Project > Asset > Animations폴더 생성그리고 Animations > Create > Animation 생성(이름: Balloon_Idle)Loop Time 체크그리고 Balloon_Idle를 Balloon에 드래그 하면 Balloon에 Animatior가 생성된다. Balloon_Idle를 더블클릭해서 연뒤 Balloon을 선택녹화버튼 누르고 타임라인을 20으로 이동, balloon색을 (200,200,255)로 바꿔준다. 다시 타임라인을 40으로 이동, balloon색을 원래 색인 (255,255,255)로 바꿔준다.   결과화면

[Unity] ProtectBalloon기본 세팅

기존 환경설정과 동일 하게 해주고, * [Unity]모바일 크기 및 배경 설정 참고 Object생성Hierarchy > Sprites > circle 2개 생성하여 하나는 Balloon, 하나는 Shield로 이름 변경  Balloon: color하얀색(255,255,255), XY(0,-3.2), Size(1,1,1)Shield: color민트색(0,255,255), XY(0,0), Size(0.5,0.5) text생성위해서 Hierarchy우클릭 > UI > Legacy > TextText: color빨간색(255,0,0) XY(0, 450) Width, Height(200,200) FontSize (70), 중앙정렬text 0.00으로 변경 Text의 Rect Transform > Reset 결과화면

[Unity] 점수감소되는 빨간빗방울 추가하기

원래 빗방울은 점수가 +만 됐었는데, 이번에는 점수가 -5점 감소되는 빨간빗방울을 만들어보자. 빨간빗방울 추가하기Rain Script 우선 RainScript 빗방울 생성 타입을 하나 추가한다.//기존 Random.Range(1,4)에서 (1,5)로 변경int type = Random.Range(1, 5);📌 Random.Range(1,4)에서 (1,5)로 변경하여 1-3까지 있던 빗방울 타입을 1-4로 늘려준다.if(type==1){ size = 0.8f; score = 1; renderer.color = new Color(100 / 255f, 100 / 255f, 1f, 1f);}else if (type == 2){ size = 1.0f; score = 2; rend..

[Unity] EndPanel켜고 게임 다시시작 SetActive(),LoadScene()

EndPanel 띄우기이제 시간이 0인, 게임이 종료된 상태에서 EndPanel을 켜보자마찬가지로 EndPanel오브젝트를 가져오기 위해 GameManager에 변수를 만들어준다.public GameObject endPanel;그리고 유니티에서 GameManager에 endPanel을 드래그 앤 드롭으로 넣어준다. 지금은 endPanel이 보이지 않도록 꺼져있는데, 이를 게임이 종료되었을 때 나올 수 있도록 조절을 해야한다. endPanel이 켜지는 시점은 time이 0이 되는 시점이다. 따라서 totalTime이 0이 되었을 때 endPanel이 보이도록 해보자.void Update(){ if (totalTime > 0) { totalTime -= Time.deltaTime; ..

[Unity] 타이머 Time.timeScale = 0f;

타이머값 계산하기GameManager 스크립트 전체시간 변수 선언 float totalTime=30.0f; 시간이 줄어드는 것을 표현하기 위해 totalTime값을 지속적으로 일정한 값으로 빼준다.모든 기기 들이 같은 값을 가질 수 있도록 deltaTime을 사용한다. deltaTime은 시간을 프레임 대비로 맞춰준 값이다.void Update(){ //deltaTime은 시간을 프레임대비로 맞춰준 값 totalTime -= Time.deltaTime;}타이머UI에 값 넣기우선 타이머UI를 불러오기 위해 아래와 같이 text값을 선언한다.//타이머 값을 넣어주기 위한 text컴포넌트 생성public Text timeTxt; 그리고 이전에 점수를 넣어줬던 것과 같이 text값에 totalTime..

[Unity] 게임종료UI

게임 종료 UI를 생성해보자!Canvas>UI>ImageImage의 width: 400, height: 250Color: R232 G52 B78Canvas에 위와 같이 표시됨 텍스트 추가Text추가를 위해 Image우클릭>UI> Legacy> Text이 text사이즈는 Image의 사이즈와 항상 똑같게 유지 해줄 것이다.그러기 위해서, Rect Transform에 있는 네모난 상자를 누르고,option+Shift(window는 Alt+Shift)를 누른상태로 오른쪽 하단의 네모를 눌러준다.이렇게 하면 텍스트 사이즈가 이미지 사이즈에 맞춰지게 된다.아래 사진과 같이 각각의 값을 맞게 변경한다. 아래와 같이 UI가 만들어진다.  Image오브젝트 이름을 EndPanel으로 변경한다.게임오버가 됐을 때만 이 ..

728x90