유니티_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장)
실행 결과
반응형