평범하게 유니티 실행 후 2D로 프로젝트를 생성한다.
생성 후, Project 탭의 Assets으로 리소스 파일(이미지 파일)을 Import한다. 불러온다.
이게, 드래그해서 되는 줄 알았는데, 프로젝트 탭의 Assets 내에서 우클릭으로 Import해야 되는 것 같다...
안드로이드에서 동작하는 게임을 만들도록 설정한다.
[File - Build Settings] 메뉴로 들어가 플랫폼을 Android로 선택 후 밑의 Switch Platform 버튼을 눌러준다.
본인의 안드로이드 기기에 맞도록 화면 크기도 설정 해 주자.
현재 사용하고 있는 씬(Scene)을 저장하자.
[File - Save Scene as]를 선택 후 씬 이름을 작성 후 저장하자.
저장 위치는 기본으로 설정된 Assets 으로 적당하다.
씬에 오브젝트를 배치한다
Project 탭에 불러왔던 리소스들(이미지들)을 씬에 드래그하여 배치하자.
각 스프라이트(개체)를 선택 후 우측의 Inspector 탭에서 위치, 회전, 스케일 조절이 가능하다.
포지션을 0, 0, 0 으로 맞춰주고 작업을 시작한다.
메인 카메라를 선택 후 Inspector 탭에서 배경색을 바꾸어준다.
원형 룰렛을 회전시킬 스크립트를 작성한다.
스크립트 작성의 최종 목표는
Assets 에서 우클릭 후 C# 스크립트를 생성한다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Kaiten : MonoBehaviour {
float rotSpeed = 0; //회전속도
void Start () {
}
void Update () {
//클릭 시 회전속도를 10으로 바꾼다
if (Input.GetMouseButtonDown(0))
{
this.rotSpeed = 10;
}
//룰렛을 회전시킨다
transform.Rotate(0, 0, this.rotSpeed);
}
}
작성한 코드는 마우스를 클릭했을 경우 회전속도 10으로 회전을 시작하도록 한다.
스크립트 작성이 완료되었으면 유니티로 돌아와 스크립트 파일을 Hierarchy 탭의 Circle 객체로 드래그&드랍하여 스크립트를 적용한다.
스크립트가 제대로 적용되었는지 확인한다.
마우스가 녹화되지는 않았지만 화면을 마우스로 클릭 시 회전을 시작하는 모습이다.
스크립트의 편집을 계속 진행 해 보자.
룰렛을 감속시킬 것이다.
여기에서는 회전속도에 수시로 감속계수를 곱하는 방법으로 속도를 줄여 보자.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Kaiten : MonoBehaviour {
float rotSpeed = 0; //회전속도
void Start () {
}
void Update () {
//클릭 시 회전속도를 30으로 바꾼다
if (Input.GetMouseButtonDown(0))
{
this.rotSpeed = 30;
}
//룰렛을 회전시킨다
transform.Rotate(0, 0, this.rotSpeed);
//룰렛을 감속시킨다.
this.rotSpeed *= 0.99f;
}
}
속도에 프레임마다 0.99가 곱해지며 속도가 줄어들게 된다.
안드로이드 기기에서 실행 해 보자.
안드로이드는 '터치'하는 구조이지만 스크립트에서 쓰인
Input.GetMouseButtonDown(0)
를 마우스때와 같이 사용할 수 있다.
[File - Build Settings] 에서 Platform 이 Android로 스위치 되어있는 것을 확인 후 Player Settings를 클릭한다.
Other Settings - Identifier 에 com.Company.Circle(프로젝트명)을 입력한다.
Build Settings 창으로 돌아와 Build And Run을 클릭하면 Apk파일의 생성과 동시에 안드로이드 기기에 넣기를 같이 할 수 있다.
(본인은 실패)
/////////////////////이후 이 프로젝트는///////////////////
'Dev > Unity(C#)' 카테고리의 다른 글
[Unity2D] 두번째 게임 설계 : 스와이프를 사용한 게임 (0) | 2018.01.09 |
---|---|
[Unity] 안드로이드로의 빌드(APK파일 빌드)가 안되는 오류들에 대해 (2) | 2018.01.09 |
[Unity] C# 생략할 부분(메서드와 클래스, Vector 클래스의 이용) (0) | 2018.01.03 |
[Unity] C#에서의 제어문과 배열 (0) | 2018.01.03 |
[Unity] C#스크립트 기초(Hello, World 출력) (0) | 2017.12.31 |