목록개발 (47)
소소한 개발 공부
유니티 빌드 시 플레이 되는 기기의 해상도에 따라 프로그램 해상도가 달라질 수 있다. 이걸 방지하기 위해 빌드 해상도 고정이 필요하다. 아래를 참고했다. https://answers.unity.com/questions/911755/portrait-build-on-pc.html Portrait build on pc? - Unity Answers answers.unity.com 방법은 두가지가 있다. 1) 에디터상으로 해결하기 Project Settings에서 Player->Resolution and Presentation 탭의 Default Is Native Resolution 을 체크 해제하고 타겟 해상도 (예 564*960)를 지정해준다. 2) 스크립트로 해결하기 빌드 파일 플레이 시 맨 처음에 나오게..
모바일 게임에 구글 로그인 기능을 넣고 싶었는데 레퍼런스를 찾고 그대로 해봐도 자꾸 Fail이 났다. 가장 최근 버전 레퍼런스를 통해 해결..! 참고 영상 https://www.youtube.com/watch?v=aCG5nixgyVw 1. 구글 개발자 계정 만들기 및 앱 만들기 아래 사이트에서 소정의 금액을 지불해 구글 개발자 계정을 만든다. https://developer.android.com/distribute/console?hl=ko 개발자 계정으로 로그인하면 "앱 만들기" 버튼이 있다. 클릭한다. (만든 앱이 없을 때는 화면이 조금 달랐던 것 같은데 "앱 만들기" 버튼을 동일하게 클릭하면 된다.) 작성을 완료했다면 오른쪽 하단의 파란색 "앱 만들기" 버튼을 클릭한다. 위와 같은 화면이 나온다. 프..
에뮬레이터를 실행하려고 했더니 자꾸 밑과 같은 에러가 났다. 그래서 왜 에러가 났는지 확인하기 위해 에러로그를 열었다. C:\Users\0104i\AppData\Local\Google\AndroidStudio2020.3\log 에서 idea.log를 열었다. (0104i는 사용자이름) 구글링해보니 개발환경 세팅이 덜 이루어져서 그렇다고 한다. 환경 변수를 추가한다. https://okky.kr/article/671378 OKKY | 안드로이드 스튜디오 에뮬레이터를 실행하는 방법이 궁금해요 ㅜㅜ 안드로이드 스튜디오를 실행해서 플러터로 어플리케이션을 만들어서 처음에 main.dart가 열린상태인데요 여기서 AVD 매니저를 실행해서 핸드폰 에뮬레이터를 실행할 수 있다고 하는데 가서 재생 okky.kr 화가 나..
오브젝트가 화면 상 위로 올라갈 때(y 값 증가) 오브젝트가 상대적으로 멀어진다는 느낌을 주고자 한다. 위의 그림처럼 오브젝트가 아래쪽에 있을 수록 나중에 그려지게 한다. 그렇게 하기 위해 Sorting layer를 사용한다. private void Update() { this.GetComponent().sortingOrder = (int)(this.transform.position.y * -10); } sorting layer 값이 캐릭터의 y 값에 반비례하게 설정되도록 한다. (sorting layer는 값이 낮을 수록 빨리 그려지게 하기 때문에) 반비례를 위한 값(음수, 위의 코드에선 -10)을 캐릭터의 이동 단위에 맞추면 좀 더 정교하게 캐릭터의 sorting 순서를 조절할 수 있다.
유니티 상의 버튼을 스크립트로 클릭해서 버튼의 기능을 실행시키고자 한다. 스크립트 상에 OnClick~ 으로 함수를 만들고 버튼의 On Click에 함수를 연결시켜놨다면 OnClick~ 함수를 실행시키면 그만이지만 OnClick~ 함수를 만들어 연결한게 아닐 수도 있어서 스크립트로 버튼을 클릭하는 것에 대해 생각하게 됐다. 방법은 간단하다. GetComponent().onClick.Invoke(); 참고 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=yoloid&logNo=221559926366 [Unity]Button.OnClick 스크립트에서 호출하기 유니티에서 버튼 클릭이벤트는 게임화면 안에서 버튼을 클릭해야지 이벤트가 ..
게임에서 건물 같은 오브젝트의 위치를 터치로 이동할 때 오브젝트에 딸린 UI도 같이 움직여야 한다. Input.mousePosition을 사용한다. public void OnDrag(PointerEventData eventData) { if (!isPointerDown) return; // 이동 모션 // 월드 상의 오브젝트 이동 this.transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition); // 혹은 eventData 이용 this.transform.position = Camera.main.ScreenToWorldPoint(eventData.position); this.transform.position -= new Vecto..