유니티_unity

(유니티) 룰렛이 멈추는 위치의 문자열 출력하기

코딩ABC 2024. 5. 6. 11:39
반응형

유니티 책 [유니티 교과서]에는 룰렛 돌리기의 예제가 있습니다.

그냥 이미지만 돌리는데 예제인데, 이 룰렛 이미지가 멈추는 위치의 문자열을 출력하도록 수정해 봤습니다.

 

룰렛 돌리기 프로젝트 만들기

1. 유니티에서 2D로 프로젝트를 생성합니다.

 

2. 이미지를 Assets으로 가져옵니다.

 

3. "roulette" 이미지를 씬에 배치합니다.

Position: 0 0 0

Rotation: 0 0 0

Scale: 1 1 1

 

4. "neddle" 이미지를 씬에 배치합니다.

Position: 0 3 0

Rotation: 0 0 0

Scale: 1 1 1

 

(유니티) 룰렛이 멈추는 위치의 문자열 출력하기

 

5. C# 스크립트를 생성하고, "roulette"에 연결합니다.

코드를 작성합니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RouletteController : MonoBehaviour
{
    float rotSpeed = 0;
    float angle = 0f;
    GameObject roulette;

    string[] s = { "운수나쁨", "운수대통", "운수매우나쁨",
        "운수보통", "운수조심", "운수좋음" };

    // Start is called before the first frame update
    void Start()
    {
        Application.targetFrameRate = 60;
        roulette = GameObject.Find("roulette");
    }

    // Update is called once per frame
    void Update()
    {
        if(Input.GetMouseButtonDown(0))
        {
            rotSpeed = Random.Range(10.0f, 30.0f);
        }

        angle = roulette.transform.eulerAngles.z;
        transform.Rotate(0, 0, rotSpeed);
        rotSpeed *= 0.98f;

        Debug.Log(angle);
        Debug.Log(s[(int)(angle + 30)/60%6].ToString());
    }
}

 

예제 이미지는 아래 링크 참고하기: (3장)

https://coding-abc.kr/284

 

실행 결과

(유니티) 룰렛이 멈추는 위치의 문자열 출력하기

 

반응형