ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [유니티] 13강 파일 입출력1
    [유니티] 기본 2022. 5. 30. 21:35
    728x90

    고급언어로 갈수록 다양한 함수들이 가득하지만, 실제 사용하는데 있어서 다 필요하지도 않고, 언제 그렇듯 필요한건 바이너리로 읽고 쓸수 있으면 그만이다. 대략 이정도면 파일 입출력은 끝난거나 다름 없다.

    하나씩 확인해보자.

    일단 문자열을 저장하고 읽어보자. 문자열이 오고 갈수 있는 함수를 만들었다.

    특정 개발 플랫폼에서 사용되는 패키지, 클래스, 함수들이 워낙 다양해서 내가 쓰기 편한 이름으로 바꾸는것에 불과하다.

    Encoding을 쓰기 위해서는, 상단에 using System.Text; 추가 해야 한다.

    12강에서 사용한 버튼의 오른쪽 버튼을 누르면 저장 및 로드를 확인 해보도록 하자.

    프로젝트가 있는곳에 파일이 잘 저장되고, 잘 읽는것을 확인할수 있다.

    확인차 만든것이고, 게임이나 앱에서는 훨씬 더 복잡한 데이터로 구성된 포멧을 사용한다.

    그럼 구조체를 저장하는 방식을 알아보자.

    함수 이름만 보면 알수 있듯이 구조체를 바이트로 바꿀수 있도록 했다.

    그럼 사용해보자.

    구조체 t를 만들어서 저장하고, 데이터를 읽은 a 구조체를 출력해보면 원래 값을 그대로 북원됨을 확인할 수 있다.

     

    클래스를 저장하기 위해서, 직렬화라는게 고급 언어에는 꼭 나온다.

    대체 이걸 쓸 수 있는곳이 있기는 한건가 모르겠다. 적어도 게임상에서는 쓸모가 없을텐데...

    혹시라도 학습 차원에서 간단히 남겨만 둔다.

     

    BinaryFormatter이걸 사용하기 위해서는 using System.Runtime.Serialization.Formatters.Binary; 추가하고 구현한 코드는 아래와 같다.

    이제 게임에서 사용해보자.

    클래스 선언 위에 [Serializable]을 추가한다. 그리고 이걸 사용하기 위해서 using System; 상단에 추가한다.

    직력화 따위 쓸일도 없지만, 일단 구현은 해봤고 작동은 잘 됨을 알수 있다.

    -끗-

Designed by Tistory.