검색결과 리스트
글
문자열값으로 변수 또는 함수 불러오는법
문자열로 변수 불러오기
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
설정
트랙백
댓글
글
유니티에서 터치 처리
먼저 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생성 시 크기 변경이 안되는 현상
유니티에서 지원하는 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 순서 변경 방법
가장 마지막으로 순서 변경
Transform.SetAsLastSibling
가장 처음으로 순서 변경
Transform.SetAsFirstSibling
순서 설정(index 값)
Transform.SetSiblingIndex
현재 순서 반환(index 값)
Transform.GetSiblingIndex
설정
트랙백
댓글
글
유니티 구글플레이 연동 후 로그인이 안되는 문제
유니티에 구글플레이 연동을 한뒤 로그인코드를 작성하여 폰에넣고 실행해봤는데 안된다면 여러가지 상황이 있습니다.
제가 검색해봐서 본것중
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로 바꾸기 -> 저장을 선택하십시오.
이것으로 저는 해결했습니다.