일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 리액트
- 리액트 네이티브
- sourcetree
- Kotlin
- flutter
- 안드로이드
- react-native
- react
- 인증문제해결
- AWS
- 디버깅
- 설정
- Git
- 안드로이드 스튜디오
- WPF
- 뒤로가기 안됨
- git인증
- 안됨
- Invalid credentials
- 개발환경설정
- 빌드 오류
- gradle
- aPK
- VisualStudio
- bitbucket
- 예제
- 데이터바인딩
- Android
- EC2
- not working
- Today
- Total
목록Unity3D (16)
물에 살고싶은 개발자
뜻밖에 버그가 터졌다. 크다면 크고 별거아니라면 별거아닌 버그이지만, 아주 간단한부분에서 터진 버그인데, 스프라이트컴포넌트와 박스콜라이더,버튼 컴포넌트가 붙어있는 오브젝트가 있다. 코드에서 스프라이트 컴포넌트에 동적으로 접근해서 이미지를 바꿔줄 목적이였는데 문제가 생겼다 로그를 찍어봐도 이상이 없고 코드에도 이상이 없고 스프라이트 이미지의 이름에 오타가 있거나 한것도 아닌데 정작 결과물은 변경이 안되는 것이다. 뭐가 문제인가 질문글을 살포하고 이래저래 테스트도 해보고 하는과정에서 알게됏다 버튼 컴포넌트와 내 시스템스크립트의 실행순서 문제라는것을... 간단히 말하자면 원인은 이렇다. 시스템스크립트에서 변경 -> 버튼 컴포넌트가 변경 -> 렌더링 이 과정을 거치니 당연히 나중에 실행된녀석이 결과가 되는것이다..
게임을 개발하다 보면 어떻게든 데이터를 저장해야 할 일이 생긴다. (그러지않는다면 옛날 오락실게임처럼 전원을 껏다키는것만으로도 데이터가 날아가기 때문에..) 문제는 데이터저장을 어떻게 하느냐는 것이다. 나처럼 사수도 없이 혼자서 게임을 개발하다가 데이터저장을 어떻게하지..? 라는 생각이 떠오르게 된다면 은근 많이 난감해진다. 어떻게해야할지 막막해지기 때문이다. 구글링을 통해봐도 마땅한 상담글이나 질문글이 없고, 뭘 써라 뭘 써라 라는 얘기들은 많지만 내가 할수있는것은 유니티와 게임로직짜는정도밖에 못하는데 SQL이 어쩌고 NoSQL이 어쩌고 서버가, 패킷이 어쩌고 이런글들이 막 우르르 튀어나와서 오히려 더 혼란스러워 지기만 한다. 사실 그런부분까지 다 다룰줄 알고 그런 고차원(?) 글들을 전부 이해할 수 ..
이번엔 비교적 간단한것에 대한 것을 포스팅한다.(히트같은)모바일RPG게임을 만들다보면 UI의 복잡도가 꽤나 높은편이다.UI가 각각 파트별로 나뉘어져있고 그 파트안에서 뒤로가기버튼은UI의 파트별 이동일 경우도 있고, 파트내부에서의 이동일 경우도 있다. 말이 약간 어려울수도 있지만, 결론은 그냥 "이전 페이지로 갈것이냐" vs "메인로비로 나갈것이냐"이 두가지중 하나라고 볼 수 있다. 대부분의 경우 전자를 택하게 된다. 매번 뒤로가기버튼으로 메인로비까지 나가버리면 유저로 하여금 불필요한 터치가 늘어나기 때문이다.문제는 이전 페이지로 가는데 데이터를 어떻게 관리할것이냐? 라는 부분인데 전 프로젝트에서는 상태별로 나눠놓고 상태 인덱스를 스택에 넣어 관리했지만, 이번엔 그냥 상태 자체를 안쓰기로 했다. (쓸데없이..
게임 UI를 개발할 때, 클릭 이벤트를 어떤방식으로 처리하느냐 라는점에 대해서 항상 고민을 많이 하는편이다.물론..그 고민의 길이나 횟수에 상관없이 언제나 NGUI의 도움을 받아 매니저 스크립트를 통해 UI의 각 요소별 클릭이벤트 처리를 하게 된다.그러다보면 자연스럽게 Switch문의 길이는 UI스케줄에 비례해서 길어지게 되는데,이번에는 그 꽤나 큼직한 스케일의 Switch문을 사용할때에 생기는 문제점을 해결할 방법론에 대한 포스팅이다. 유니티로 UI를 제작하다 보면 아이템을 리스트화 시켜야 하는 경우가 생기기 마련이다.주로 스크립트를 통해 동적으로 상황에따라 생성과 삭제를 하게 되며, 거기에는 주로 메모리풀이 이용된다.하지만 이 글에서는 그부분은 제외하고 하이어라키에 있는 "아이템 오브젝트들을 클릭이벤..
문득 익숙한 NGUI Tween을 사용하다가 삽질을 시작하게 되었다. 왜 그런건지 이유를 아직 못찾았는데, 왜인지는 몰라도 Tween이 적용되지않고 마치 Transform을 직접 변경한 것 처럼 이동하더라..젠장 일단 해결책은 찾아서 수정하긴 했지만, 원인분석은 명확하지 않다 ..-_-;; 일단 문제의 코드다. public void SideMenuOpen( GameObject obj ) { MenuTween.ResetToBeginning(); MenuTween.duration = PosDuration; MenuTween.from = new Vector3( 0 , 0 , 0 ); MenuTween.to = new Vector3( PosToX , 0 , 0 ); ArrowTween.ResetToBeginni..
게임을 개발하다보면 실수나 계획변경에 의해 프리팹으로 연결되있는파란색 이름의 오브젝트들이 빨간색이름의 오브젝트로 변경되는 경우가 있다(프리팹으로 만들어둔 오브젝트인데, 프로젝트뷰에서 프리팹을 삭제했을 경우 이렇게 된다) 이 경우 내가 아는 선에서 특별히 문제될건 없지만뻘건 이름의 오브젝트가 은근히 거슬리게 된다 이럴때 뻘건색을 다시 검은색으로 되돌리는 방법이다 1.하이어라키 뷰에서 뻘건색 이름의 오브젝트를 선택2.유니티 상단의 게임오브젝트 -> Break Prefab Instance 클릭 끝!
이번 글은 카메라 확대축소와 확대축소를 했을때 원치않는부분, 예를들면 맵의 바깥부분이 찍히지 않도록제한하는 방법이다. 내가 구현한 방법론을 써보자면..확대축소는 생각보다 간단한편이다.두개의 터치포인트의 위치사이에 거리벡터를 처음 터치했을때와드래그할때의 값을 비교해 멀어지면 축소하고 가까워지면 확대하면 된다.아래 코드를 보자. if( touchCount == 2 ) { Touch touch1 = Input.GetTouch(0); Touch touch2 = Input.GetTouch(1); if( touch1.phase == TouchPhase.Began || touch2.phase == TouchPhase.Began ) { PreTouchDistance = Vector2.Distance( Input.tou..
게임을 만들다보면 은근히..아니 꽤 자주 쓰이는 것이 카메라 무빙이고 카메라를 가두는 것이다. 여기서 말하는 카메라 무빙은 유니티에서 지원하는 스탠다드에셋에 있는것처럼 캐릭터를 따라다니거나 하는 무빙이 아닌 유저가 터치 드래그로 카메라를 움직이는 것을 말한다. 일단 코드부터 보자 의외로 단순하다. int touchCount = Input.touchCount; if(touchCount == 1) { Touch touch = Input.GetTouch (0); if( touch.phase == TouchPhase.Began ) { prePos = touch.position - touch.deltaPosition; } else if(touch.phase == TouchPhase.Moved) { nowPos =..