1인게임개발 18

3.4 룰렛 스크립트 작성하기

3.4.1 스크립트의 역할 클릭하면 룰렛을 회전시키되 시간이 흐르면 룰렛의 회전 속도를 점점 줄여서 멈추도록 하는 구조로 작성 룰렛을 회전시키는 를 작성 클릭하면 일정한 속도로 회전한다는 스크립트 3.4.2 룰렛 스크립트 작성하기 ※ 클릭하면 일정 속도로 회전하는 스크립트 using System.Collections; using System.Collections.Generic; using UnityEngine; public class RouletteController : MonoBehaviour { float rotSpeed = 0; void Start() { // 프레임레이트를 60으로 고정한다. Application.targetFrameRate = 60; } // Update is called onc..

3.3 씬에 오브젝트 배치하기

3.3.1 룰렛 배치하기 Project 창에 추가해둔 리소스를 드래그&드롭으로 Scene 뷰에 배치시킨다. 오브젝트 위치 조절 Inspector 창의 좌표를 지정해서 오브젝트를 옮길 수 있다. 좌표를 특정 위치에 맞추고 싶다면 inspector 창을 쓰는게 편리하다. X, Y 좌표 값을 0으로 배치하면 화면 중앙에 배치할 수 있다. 3.3.2 바늘 배치하기 3.3.3 배경색 변경하기 위에서 배경색이 파랑색이라 불편하다. 배경색은 카메라 오브젝트의 매개변수를 수정해서 변경하면 된다. Main Camera -> Inspector -> Camera 항목의 BackGround 에서 값을 변경한다. 필자는 연한 파랑색이 좋아서 다음과 같이 변경했다.

3.2 프로젝트와 씬 만들기

앞서 교재에서 파일을 가져와서 가져온 파일을 Project - Asset 폴더에 넣어준다. 3.2.2 스마트폰용으로 설정하기 빌드 설정 스마트폰용으로 빌드할 수 있도록 설정 File -> Build Settings (단축키 : ctrl + shift + B ) 안드로이드 용으로 해도 되는데, 필자는 아이폰이다.. ㅜ Switch Platform 을 눌러서 각 스마트폰용 프로젝트로 빌드한다. 화면 크기 설정 게임 화면 크기를 설정할 수 있다. 아이폰13 pro를 쓰기 때문에 1170 x 2532 픽셀 디스플레이로 설정할 계획이다.

카테고리 없음 2023.09.09

3장 오브젝트를 배치하고 움직이는 방법

3.1 게임 설계하기 사용자의 입력에 따라 움직이게 할 것 1단계 : 화면에 놓일 오브젝트를 모두 나열 2단계 : 오브젝트를 움직일 수 있는 컨트롤러 스크립트를 정하기 3단계 : 오브젝트를 자동으로 생성할 수 있도록 제너레이트 스크립트 정하기 4단계 : UI를 갱신 할 수 있도록 감독 스크립트 준비 5단계 : 스크립트를 만드는 흐름을 생각 1단계 화면에 놓일 오브젝트를 미리 구상하기 2단계 나열한 오브젝트 중에서 움직일 오브젝트만 따로 확인하기 움직이는 오브젝트에는 해당 오브젝트만의 스크립트가 필요 => 컨트롤러 스크립트 3단계 게임을 플레이 할 때 생성될 오브젝트를 찾음 플레이어가 이동하거나 시간이 경과하면 출현하는 오브젝트가 해당됨 오브젝트를 생성하는 스크립트 => 제너레이트 스크립트 4단계 게임의 ..

2.9 Vector 클래스 사용하기

2.9.1 Vector 3D 게임을 만들려면 오브젝트의 위치를 정해야 하기 때문에 float형의 x, y, z 값 3개를 쓴다. C#에는 Vector3 class(구조체)가 있다. 2D 게임에는 Vector2 class가 있다 (float형의 x, y값) 위 값 둘다 좌표나 벡터로 쓸 수 있다. 2.9.2 Vector 클래스를 사용하는 방법 ※ Vector2 class의 멤버 변수에 숫자 더하기 using System.Collections; using System.Collections.Generic; using UnityEngine; // 유니티가 동작하는데 필요한 기능 제공 public class test : MonoBehaviour { // Start is called before the first ..

2.8 클래스 만들기

2.8.1 클래스 클래스를 사용하면 관계가 있는 변수와 메서드를 하나로 합칠 수 있어서 프로젝트를 관리하기 쉽다. class 클래스명 { 멤버 변수 선언; 멤버 메서드 구현; } 작성한 클래스는 int나 string 등 데이터형으로 사용할 수 있다. 유니티에서 제공하는 클래스도 있다. 2.8.2 클래스 작성하기 ※ Player 클래스 구현하기 using System.Collections; using System.Collections.Generic; using UnityEngine; // 유니티가 동작하는데 필요한 기능 제공 using UnityEngine.UIElements; public class Player { private int hp = 100; private int power = 50; publ..

2.7 메서드 만들기

※ 지금까지는 Start() 메서드 안에 모든 처리를 작성했지만, 모아둔 처리마다 이름을 붙여서 재사용 할 수 있게 할 것이다. 2.7.1 메서드 메서드(method) : 의미가 있는 처리 블록으로 분해하고 이름을 붙이는 구조에서 각 처리를 메서드라고 한다 인수 : 메서드(method)로 건네는 값 반환값 : 메서드(method)에서 돌려받는 값 인수는 여러개 건넬 수 있지만, 반환값은 1개만 받을 수 있다. 이 반환값을 여러개로 받고 싶다면 배열로 받아서 값을 처리하면 된다. 2.7.2 메서드를 만드는 방법 ※ Add() 메서드의 예시 using System.Collections; using System.Collections.Generic; using UnityEngine; // 유니티가 동작하는데 필..

2.6 배열 사용하기

2.6.1 배열 선언과 규칙 ※ 배열을 사용하는 예 여러가지 값(게임 순위, 점수) 등을 한꺼번에 다루어야 하는 경우 변수 상자를 가로로 이어붙인 길고 얇은 상자와 비슷 배열 준비 // 배열 선언 int[] points; // 배열 초기화 int[] points = new int[5]; int형 상자 5개를 만든다 배열의 인덱스는 points[0], points[1], points[2], points[3], points[4] 로 총 5개다. 배열 값 이용 points[2] = 3; 배열은 0번부터 세기 때문에 [null, null, 3, null, null] 의 형태로 들어간다. 2.6.2 배열을 사용하는 방법 ※ 배열 사용하기 using System.Collections; using System.Col..

2.5.5 for 문으로 반복하기

2.5.5 for문으로 반복하기 반복 횟수를 지정하면 자동으로 반복 횟수만큼 처리를 반복하는 for문을 사용 for (반복 횟수) { 처리 } for (변수 초기화; 반복 조건식; 변수 갱신) { 처리 } ① i 변수를 0으로 초기화 ② 반복 조건(i < 5)을 만족하면 ③, 만족하지 않으면 반복문을 종료 ③ Console 창에 i 값을 출력 ④ i를 증가시킴 (i 값을 1 증가) ⑤ ②로 돌아감 ※ for 문 사용하기 using System.Collections; using System.Collections.Generic; using UnityEngine; // 유니티가 동작하는데 필요한 기능 제공 public class test : MonoBehaviour { // Start is called bef..

2.5 제어문 사용하기

2.5.1 if문으로 조건 분기하기 특정한 조건이 맞을 때만 스크립트를 실행하고 싶다면 if문을 사용 if문은 관계연산자를 사용해서 조건식을 사용 ※ if 문 사용하기 using System.Collections; using System.Collections.Generic; using UnityEngine; // 유니티가 동작하는데 필요한 기능 제공 public class test : MonoBehaviour { // Start is called before the first frame update void Start() { int herbNum = 1; if (herbNum == 1) { Debug.Log("체력을 50 회복"); } } } 결과값 보기 더보기 체력을 50 회복 herbNum = 5; ..