유니티 텍스트파일 불러오기

유니티 C# 2017. 9. 13. 02:16

참고한 곳 : http://infodbbase.tistory.com/113



string path = Application.dataPath + @"\text.txt";

string textValue = System.IO.File.ReadAllLines(path);


if(textValue.Length > 0)

{

for(int i = 0; i < textValue.Length; i++)

{

Debug.Log(textValue[i]);

}

}


텍스트 파일을 한줄씩 읽어와서 디버그로그에 찍는코드

문자열값으로 변수 또는 함수 불러오는법

유니티 C# 2017. 8. 29. 13:49

문자열로 변수 불러오기

public int A = 10;



Debug.Log(this.GetType().GetField("A").GetValue(this));


출처: https://stackoverflow.com/questions/11122241/accessing-a-variable-using-a-string-containing-the-variables-name




문자열로 함수 부르기

public string A = "Test";



public void Test()

{

Debug.Log("Test");

}



this.GetType().GetMethod(A).Invoke(this, null);


출처: https://stackoverflow.com/questions/540066/calling-a-function-from-a-string-in-c-sharp



유니티에서 터치 처리

유니티 C# 2017. 8. 13. 15:39

먼저 http://prosto.tistory.com/96 블로그에서 참고하였습니다.



private Touch tempTouchs;

private Vector3 touchedPos;


if(Input.touchCount > 0)//터치가 1개 이상이면.

{

for(int i = 0; i < Input.touchCount; i++) 

{

//UI 클릭시 터치 이벤트 발생 방지

if(EventSystem.current.IsPointerOverGameObject(i) == false)

{

tempTouchs = Input.GetTouch(i);


if(tempTouchs.phase == TouchPhase.Began) //해당 터치가 시작되었다면.

{

//터치 좌표값 가져오기

touchedPos = Camera.main.ScreenToWorldPoint(tempTouchs.position);


break; //한 프레임에는 하나만

}

}

}

}




입니다.


터치 상태 종류

Began(터치 시작)

Canceled(터치 취소)

Ended(터치 종료)

Moved(터치 후 움직임)

Stationary(터치 후 대기)





UI 클릭시 터치 이벤트 발생 방지 관련 주의할 점

Raycast Target이 체크가 되어있어야된다.

만약 체크가 풀려있으면 위의 코드는 상관없어진다.

유니티 Scale With Screen Szie로 ui크기 조정해서 코드상으로 ui생성 시 크기 변경이 안되는 현상

유니티 C# 2017. 8. 12. 05:00

유니티에서 지원하는 Scale With Screen Szie를 사용하면 여러 해상도에서 일정한 크기의 ui를 이용하실 수 있습니다.


하지만 코드상에서 프리팹을 가져와서 생성같은것을 하면 해상도에 따라 크기가 제각각으로 변할 수 있습니다.


저또한 그것으로 인해 인터넷을 뒤져본 결과


http://answers.unity3d.com/questions/1037474/prefab-does-not-scale-in-scale-with-screen-size-mo.html


저와 같은 증상의 사람을 발견하였으며 해결방법로 위의 링크에 있었습니다.!


방법은 go.transform.SetParent(parent.transform, false); 이라는 코드를 넣어주시면 됩니다.

들어가서 보았더니 월드 포지션을 유지할것인지 불값으로 정해주는 코드더군요

유니티 Hierarchy 순서 변경 방법

유니티 C# 2017. 8. 3. 21:19

가장 마지막으로 순서 변경

Transform.SetAsLastSibling


가장 처음으로 순서 변경

Transform.SetAsFirstSibling


순서 설정(index 값)

Transform.SetSiblingIndex


현재 순서 반환(index 값)

Transform.GetSiblingIndex

유니티 구글플레이 연동 후 로그인이 안되는 문제

유니티 C# 2017. 7. 27. 20:59

유니티에 구글플레이 연동을 한뒤 로그인코드를 작성하여 폰에넣고 실행해봤는데 안된다면 여러가지 상황이 있습니다.


제가 검색해봐서 본것중 


1. 테스트 계정을 등록해야 하는것입니다.(테스트 일 경우)

2. 저장된게임을 활성화 하시면 EnableSavedGames() 이 코드를 추가하셔야 합니다. 만약 활성화를 안하셨으면 저 코드를 적으면 안됩니다.

3. API관리자에서 사용자 인증 정보를 추가하여야 합니다.(제가 해결한 방법입니다.)


먼저 제가 해결한 방법의 링크는 http://answers.unity3d.com/questions/1357666/google-play-games-services-authentication-fails.html 입니다.


1. Google Play Console -> 앱선택 -> 출시 관리 -> 앱 서명 -> 앱 서명 인증서 : SHA-1 복사

2. https://console.developers.google.com/ 을 열고 프로젝트 -> 자격증명 -> Oauth 2.0 클라이언트 ID -> OAuth 클라이언트 편집 -> 서명 인증서 지문 -> 이전 SHA1을 복사 된  SHA1로 바꾸기 -> 저장을 선택하십시오.


이것으로 저는 해결했습니다.

Unity2D : Unable to convert classes into dexformat 오류

유니티 C# 2017. 7. 27. 19:24

Unity2D : Unable to convert classes into dexformat 오류


해결방법: Plugin의 Android 폴더에 android-support-v4.jar등의 다양한 파일들이 중복(때로는 IAP관련 파일들이 중복으로 문제를 야기시키는 경우도 있습니다.)되어서 발생되는 경우가 있습니다.

같은 파일의 다양한 버전이 공존할 경우 classes를 dex파일로 변환시 충돌이 발생됩니다.

따라서 불필요한 jar파일들을 삭제해주면 정상적으로 빌드되어 배포가 됩니다.

유니티 싱글톤

유니티 C# 2017. 6. 7. 07:00
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class Singleton<T> : MonoBehaviour where T : MonoBehaviour
{
    protected static T instance = null;
    public static T GetInstance
    {
        get
        {
            if(instance == null)
            {
                instance = FindObjectOfType(typeof(T)) as T;
                
                if(instance == null)
                {
                    Debug.Log("Nothing" + instance.ToString());
                    return null;
                }
            }
        
            return instance;
        }
    }
}
cs


만약에 씬이 변환 되어도 파괴되지 않은 싱글톤을 만들고 싶을 때에는 상속받은 클래스의 awake 함수에 아래와 같이 선언한다.


1
DontDestroyOnLoad(this.gameObject);
cs


참고한곳: http://vallista.tistory.com/entry/Unity3D-Singleton-%EC%8B%B1%EA%B8%80%ED%86%A4