반응형
유니티 책 [유니티 교과서]에는 룰렛 돌리기의 예제가 있습니다.
그냥 이미지만 돌리는데 예제인데, 이 룰렛 이미지가 멈추는 위치의 문자열을 출력하도록 수정해 봤습니다.
룰렛 돌리기 프로젝트 만들기
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장)
실행 결과
반응형
'유니티_unity' 카테고리의 다른 글
(유니티) 키보드로 3D 오브젝트 좌우 앞으로 뒤로 이동하기 (0) | 2024.05.25 |
---|---|
(유니티) 월드 좌표와 스크린 좌표, WorldToScreenPoint 변환 (0) | 2024.05.12 |
(유니티) 오브젝트가 화면 밖으로 나가면 삭제하기 (0) | 2024.04.09 |
(유니티) 프리팹 Prefab: 마우스 버튼을 클릭한 자리에 프리팹 출력하기 (0) | 2024.04.09 |
(유니티) 프리팹 Prefab: 하늘에서 개구리가 떨어져요 (0) | 2024.04.04 |