유니티 Slider 한계시간 설정 코드 및 컴파일러 에러 해결

728x90

슬라이더 UI 한계시간 설정 방법

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

public class slider1 : MonoBehaviour
{
    private Slider sd;
    private float TimeRemain = 100f;
    void Start()
    {
        sd = GetComponent<Slider>();
    }
    void Update()
    {
        TimeRemain -= Time.deltaTime;
        sd.value = TimeRemain;
        if (TimeRemain <= 0f)
        {
            EndRound();
        }
    }
    void EndRound()
    {
        Application.LoadLevel(Application.loadedLevel);
    }
}

슬라이더 UI를 사용해서 한계 시간을 설정하고 시간이 지날수록 잔여 시간을 차감하는 기능을 구현했다.

 

슬라이더 UI 한계시간 설정 시 컴파일러 에러 원인 및 해결방법

error CS1061: 'Slider' does not contain a definition for 'value' and no accessible extension method 'value' accepting a first argument of type 'Slider' could be found (are you missing a using directive or an assembly reference?

코드를 작성하는 과정에서 이런 컴파일러 에러가 자꾸 떠서 이유를 찾아보니 Slider 프로퍼티 내 유니티에서 기본적으로 제공하는 Slider.cs가 존재했던 것이었다. 즉, 스크립트 이름을 Slider로 작성했더니 겹쳐서 에러가 떴던 것, 이름만 바꿔주었더니 에러가 사라졌다.

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs1061

 

Compiler Error CS1061

 

docs.microsoft.com

 

728x90