분류 전체보기60 [Unity] OnDestroy에 처리할 내용은 다른 함수에 몬스터 오브젝트를 게임 내에서 제거하면(Destroy함수) 일련의 처리가 필요해서 OnDestroy 안에 코드를 작성했는데 이미 없어진 객체에 액세스 또는 참조하는 에러를 경험했다. 또 에디터의 PlayMode가 종료될 때 역시 Scene이 닫히면서 OnDestroy가 호출되는데, 씬 내에서 오브젝트가 제거되는 순서 역시 정해져있지 않기 때문에 에디터 내에서도 에러를 볼 수 있었다. 후자의 경우 오브젝트들이 제거되는 순서를 따로 명시해주는 걸로 해결할 수 있다. 전자의 경우 OnDestroy 안에 처리 내용을 작성하지 않고, 별도의 함수를 만들어 Destroy함수를 호출하기 전에 일련의 처리를 하고 Destroy를 호출했다. //캐릭터를 죽인다. void Kill() { //처리할 내용.... Destr.. 2020. 5. 18. [C#][Unity]List에서 원소 제거시 주의할 점 특정 조건에 맞는 LIst 안의 원소를 제거할 때, 별 생각없이 이렇게 할 때가 있다. for(int i = 0; i = 0; i--) { if(조건이 참이면) myList.Remove(myList[i]); } 거꾸로 순회하면서 제거하면 안전하게 작업을 수행할 수 있다. 2020. 4. 7. [C#]정규식을 이용한 폼체크(아이디, 비밀번호, 전화번호 등..) 외주 작업했던 것을 정리를 해야되서 이 공간을 빌어 정리한다. 회원가입을 할 때, 제약조건을 넣게 된다. 예를 들면, 아이디는 8~14 길이제한, 숫자와 영문자로만 이루져야한다. 라고 한다면, 길이제한이야 string의 길이를 체크하면 그만이다. 하지만 특수문자 체크를 한다면 특수문자 하나하나에 if문을 넣어 체크할 수도 없는 노릇이다. 그 때, 우리가 사용해야할 게 바로 정규식(Regular Expression)이다. C#에서는 System.Test.RegularExpressions 를 포함시켜 Regex라는 클래스를 사용하면 된다. Regex Expression에는 메타문자라는 게 존재하는데, 이 메타문자를 이용해서 가능한 문자 혹은 불가능한 문자들을 설정하는 등의 작업을 할 수 있다. 그 외에도 치.. 2020. 4. 6. Trigger가 발동되지 않는 경우 1. Rigidbody가 어느 한쪽에라도 있어야 한다. 언젠지 모르겠는데 삭제해버려서 안되는데 이유도 모르고 있었다. 2. 게임 시작시 두개의 collider가 겹쳐있는 경우 2020. 3. 27. 이전 1 2 3 4 5 6 7 ··· 15 다음