전체 글 354

[Tip] float 나누기연산에 대해..

툴 제작하고 있는데 이런 문제가... float형으로 1을 0.5로 나눈다고 치자. 근데 이게 가끔.. 0.5가 아니라 0.50000000001 혹은 0.49999999999 이런 식일 때가 있다. 이러면 1을 0.5로 나눈 것 같아도 정확히 2가 되지 않는다. 하지만 정확하게 2가 떨어지는 것을 원할 때가 있다. 이런 경우, C#인 경우 Math.Round 함수 같은 것으로 반올림을 이용하는 게 좋은 방법인 것 같다.

2016.09.08

[Game] 테일즈위버

정말정말 오랜만에 해 봤는데... 2003년 때부터 지금까지의 기억의 마법책? 그런게 빠르게 책장이 넘겨지는데 너무너무 아련하다. 지금도 집에 룬의 아이들 윈터러와 데모닉 전권이 있다. 10년 전 읽었던 소설과 게임.. 뭔가 감성이 충만해지는 순간이었다. BGM은 아직도 정말 좋고, 사람들도 많고.. 흠 나처럼 다시 돌아오는 복귀유저들이 대부분인 것 같다. 명작.

게임 2016.09.05

[CI] Codeigniter 라우팅 규칙 간단설명

URL을 깔끔하게 보이기 위해서 라우팅 규칙을 잘 사용해야 한다. 메뉴얼 잘 보면 정말 그대로 하면 된다. $route['sitename'] = 'controller/index'; $route['sitename/(:any)'] = 'controller/index/$1'; $1에 (:any)가 매칭됨 class Controller extends CI_Controller {public function index($para1) {$para1 : $1}} $route['sitename/(:any)/(:num)'] = 'controller/index/$1/$2'; 숫자는 순서임 $1에 (:any)가 매칭됨$2에 (:num)이 매칭됨 class Controller extends CI_Controller {publi..

Web/CodeIgniter 2016.09.01

[CSS][Animation] transform: translate3d - GPU를 이용한 부드러운 움직임 구현

애니메이션을 구현할 때, @keyframes bounceIn { from { top: 0px; } to { top: -20px; }} 위와 같이 구현하면 동작이 굉장히 끊긴다. 하지만 translate3d를 사용하면 굉장히 부드럽게 구현이 가능하다. @keyframes bounceIn { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(0, -20px, 0); }} 이렇게 쓰면 된다.. 알아보니까 이렇게 부드럽게 되는 이유가.. 다음 옵션들을 사용하게 될 경우 GPU 가속을 사용하게 된다고 한다. 참고 URL : http://jindo.dev.naver.com/blog/2013/12/124-webkit-transform : tr..

Web/CSS 2016.08.29

[Unity] IsPointerOverGameObject: UI 클릭 시 게임오브젝트도 클릭될 때 사용

IsPointerOverUIObject Unity 공식 문서:http://docs.unity3d.com/kr/current/ScriptReference/EventSystems.EventSystem.IsPointerOverGameObject.htmlCanvas UI를 이용하는데, 버튼 눌렀더니 마우스 클릭 이벤트랑 겹쳐서 UI말고 다른 게임 오브젝트가 클릭되는 경우....가 있었다. 이걸 방지하고 싶다면 EventSystem을 이용하면 된다. EventSystem.current.IsPointerOverGameObject()이것이다. 이걸쓰면 UI 클릭하면 true 아니면 false다. 근데 내가 처음엔 패널에 버튼들을 배치했었다. 패널을 쓰게되면 뭘눌러도 그 패널을 누르는거니까 무조건 true이다... 이..

게임/Unity3D 2016.08.28

[C#][MSDN] C# Event 발행자(publisher)와 구독자(subscriber) 방식, 옵저버 패턴에 대해

처음엔 옵저버 패턴과 같은 줄 알았는데, 아니었다.(비슷함) 다음은 옵저버 패턴의 UML이다. 위의 구조를 보면, 옵저버 패턴에서는 notifyObservers() 함수 내에서 루프를 돌며(물론 모든 옵저버 패턴이 무조건 루프 방식은 아닐 수도 있지만) 모든 옵저버들의 내용을 갱신한다. 파생 옵저버들(이런저런 구독자들이라 할 수 있음)은 Observer 클래스를 부모로 가지고 있어야 하며, 꼭 Subject 클래스 내부에서 어떤 식으로든 참조할 수 있어야 한다. 하지만 C# Event 발행자/구독자 방식은 조금 다르다. 발행자는 구독자에게 자신의 이벤트 처리 방식을 넣어 준다. 즉, 구독자는 그저 자신이 어떤 행동을 했을 때 원하는 결과가 나오도록 해 주는 발행자를 선택하면 되는 것이다. 그래서 발행자는..

C# 2016.08.21
반응형