본문 바로가기

분류 전체보기60

[C#]delegate와 event 정리 delegate는 메소드에 대한 참조로 하나의 타입 event는 delegate에 event 키워드를 선언해서 사용 둘의 차이점은 "event는 외부에서 직접 호출이 불가능하다"는 것이다. 이벤트 기반 프로그래밍을 할 때 보다 안정적으로 사용할 수 있다. 따라서 Delegate는 콜백용도로 사용하고, event는 객체 상태변화나 사건의 발생을 용도로 주로 사용한다. //이벤트 선언 public event Action OnSomethingValueChanged; //외부에서 이벤트 등록 OnSomethingValueChanged += method; //외부에서 직접 호출 불가 EventClass.OnSomethingValueChanged?.Invoke(); //Error!!​ 2021. 12. 5.
리듬게임 영상 참고용 https://youtu.be/9zneBIvZMyg 안녕하세요. 블로그 자주 오지 않아서 답글도 2달이나 지나서 확인하고 이제서야 답글 달아드리네요. 리듬게임 깃헙 관련해서 은근히 질문들이 올라와서 그냥 영상이라도 참고하시라고 영상만 올려봅니다. 소리도 작게 녹음되서 죄송합니다.. 리듬게임 프로젝트는 제가 어언 3,4년전에 게임개발 처음 입문할 때 만들었던 프로젝트입니다. 미흡한 점이 엄청 많습니다. 그리고 취직을 해서 프로젝트가 저기서 멈춰있습니다.(회사가 망해서 지금은 다시 백수) 깃헙에 올려놓은 프로젝트는 SDL 라이브러리와 리소스가 없는 순수 소스코드만 있는 깃입니다.(음원, 이미지 파일 저작권 문제) 깃헙에 있는 프로젝트만 다운받아서 실행하면 안되는 것이 당연지사입니다. 그래도 소스코드만 보는 .. 2020. 12. 14.
[STL]vector capacity 줄이는 팁 일반적으로 많이 알려진 방법 vector v; //.... vector().swap(v); 기본 생성자로 만든 vector와 swap하는 방법으로 capacity를 줄인다. C++ 11에서 추가된 방법 vector v; v.shrink_to_fit(); vector에 내장된 shrink_to_fit 함수를 이용한다. 하지만 shrink_to_fit 도 내부적으로 새로운 벡터를 만들어 기존 원소를 카피하는 동작을 한다고 하니 배열의 크기가 상당히 크다면 사용해보는 것을 고려해봐야겠다. 2020. 6. 24.
[Unity] Collider의 Trigger 관련 버그 오브젝트 구조 루트 오브젝트( 여기에 처리관련 클래스 부착 ) └ 스프라이트 └ 트리거를 위한 collider 이런 구조에서 클래스 안에 OnTriggerEnter2D, OnTriggerExit2D 등 트리거 관련 이벤트함수를 열심히 작성해도 동작도 안되고 중단점도 안들어오고 도대체 뭐가 문제지? 하고 있었다. Rigidbody도 정확히 있었다. 문제는 collider가 달려있는 오브젝트에 위에 적은 충돌관련 함수들이 동작하는데 루트 오브젝트에는 collider가 없으니 당연히 동작을 할리가 없다. 해결방안 1. collider가 달려있는 오브젝트에 별도의 클래스를 추가해 루트 클래스 함수를 호출 2. 루트 오브젝트로 collider 옮기기 1은 더 번거롭고 보기도 안좋아서 2번으로 해결. 2020. 5. 18.