반응형
코드 작성
using System.Collections;
using UnityEngine;
public class RhythmGame : MonoBehaviour
{
public AudioClip musicClip; // 게임 음악
public float beatInterval = 1.0f; // 음악의 비트 간격 (초 단위)
public KeyCode inputKey = KeyCode.Space; // 입력 받을 키
private AudioSource audioSource;
private float songTime; // 현재 음악 진행 시간
private bool canInput = true; // 입력을 받을 수 있는 상태인지 여부
void Start()
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = musicClip;
// 음악 시작
StartCoroutine(PlayMusic());
}
void Update()
{
// 입력을 받을 수 있는 상태이고, 특정 키가 눌렸을 때
if (canInput && Input.GetKeyDown(inputKey))
{
// 입력에 대한 처리 (예: 노트 터치 처리)
Debug.Log("노트 터치!");
}
}
IEnumerator PlayMusic()
{
// 음악 시작
audioSource.Play();
// 음악이 끝날 때까지 반복
while (songTime < musicClip.length)
{
// 음악 진행 시간 업데이트
songTime += Time.deltaTime;
// 리듬에 따른 처리 (예: 노트 생성)
// 입력을 받을 수 있는 상태로 전환
canInput = true;
// 비트 간격만큼 대기
yield return new WaitForSeconds(beatInterval);
// 입력을 받을 수 없는 상태로 전환
canInput = false;
}
// 음악 종료 후 게임 오버 또는 결과 처리 등을 추가할 수 있습니다.
}
}
반응형
'개발 > C#' 카테고리의 다른 글
유니티 C# 쿠폰 시스템 만들기 간단 구현 Coupon (0) | 2024.02.29 |
---|---|
유니티 C# 업적 시스템 만들기 간단 구현 (0) | 2024.02.29 |
유니티 C# 대화창 대화 시스템 간단 구현 (미연시 게임 만들기) (0) | 2024.02.29 |
유니티 C# 자동 전투 적 인공지능 간단 구현하기 (0) | 2024.02.29 |
유니티 C# 초보자도 쉽게 따라하는 핵심 튜토리얼 자습서 간단 예시 (0) | 2024.02.29 |
유니티 C# 방치형 클릭커 게임 예시 간단 구현하기 (0) | 2024.02.28 |
유니티 C# 2d 플랫포머 플레이어 발판 같이 움직이는 방법 간단 구현 (0) | 2024.02.26 |
유니티 C# 애니메이터 사용법 간단 구현 Animator (0) | 2024.02.26 |
댓글