HCI/Unity
[Unity] Slider 값 .CSV 형태로 저장하기
sillon
2024. 10. 17. 11:45
728x90
반응형
각 페이지의 슬라이더 값을 받아오고 Submit 버튼을 누르면 엑셀 파일에 날짜, 값 등이 저장되는 과정입니다.
슬라이더 화면
종료 화면
이런 식으로 슬라이더에 입력된 값을 저장해보겠습니당
1. 게임 오브젝트 SliderValueManager 생성
2. SliderValueMander.cs
using System;
using System.IO;
using UnityEngine;
using UnityEngine.UI;
public class SliderValueManager : MonoBehaviour
{
public Slider page0Slider; // Page 0 슬라이더
public Slider page1Slider; // Page 1 슬라이더
public Slider page2Slider; // Page 2 슬라이더
public Button buttonSubmit; // 제출 버튼
private string csvFilePath;
private int entryIndex = 1; // 저장할 때 사용할 인덱스
private void Start()
{
// CSV 파일 경로 설정 (프로젝트 경로)
csvFilePath = Application.dataPath + "/SliderValues.csv";
// 버튼 클릭 이벤트 설정
buttonSubmit.onClick.AddListener(AppendSliderValuesToCSV);
// 파일이 없으면 헤더 추가
if (!File.Exists(csvFilePath))
{
using (var writer = new StreamWriter(csvFilePath))
{
writer.WriteLine("Index,Date,Time,Page0,Page1,Page2");
}
}
}
// 슬라이더 값과 날짜, 시간 CSV에 추가
private void AppendSliderValuesToCSV()
{
// 현재 날짜와 시간
string currentDate = DateTime.Now.ToString("yyyy-MM-dd");
string currentTime = DateTime.Now.ToString("HH:mm:ss");
// CSV에 새로운 행 추가
using (var writer = new StreamWriter(csvFilePath, true))
{
writer.WriteLine($"{entryIndex},{currentDate},{currentTime},{page0Slider.value},{page1Slider.value},{page2Slider.value}");
}
entryIndex++; // 인덱스 증가
Debug.Log("CSV 파일에 새로운 슬라이더 값이 저장되었습니다.");
}
}
3. Insepector에 적용
각 페이지에 해당하는 슬라이더와, Button Submit을 통해 엑셀에 값을 저장해줄 버튼을 넣어줍시다.
그럼 끝입니다.
각 슬라이더에 값을 넣고 마지막 페이지에 와서 Submit 버튼을 눌러주면
이렇게 각각 슬라이더 값을 적용한 뒤, Submit 버튼을 누르면
Assets 파일 안에 아래와 같이 저장이 됩니다.
끝!
이렇게해서 데이터를 잘 저장해보아요 ^_^
728x90
반응형