Lua로 코딩을 하다보면 Lua에서 하는 것보다는 엔진에서 뭔가 해줬으면 하는 경우가 있다. 이유로는 퍼포먼스 등이 있겠다. Cocos2d-x에서는 toLua(++)을 사용해서 C++ 코드로 작성해둔 것을 Lua에서 가져와 사용할 수 있도록 할 수 있는데, 이게 한국어 가이드는 별로 없더라. 중국어 자료가 많이 나오는데.... 중국어 자료를 읽는 고통을 다른 한국 개발자 분들이 겪지 않았으면 하는 마음에서 포스팅한다. toLua로 바인딩하는 작업을 크게 분류하면 다음과 같다.1. 내 Custom Class를 만든다.2. pkg 파일을 만든다.3. 빌드한다. 좀 더 자세히 살펴보자. 1. 내 Custom Class를 만든다.본인이 사용하고 싶은 클래스가 있을 것이다. 이 글에서는 다음 파일의 MySprit..
Cocos2d-x의 CCMenuItemImage를 생성할 때는 보통 normal image와 selected image를 넣어서 만들게 된다. 그러면 이 이미지 버튼이 down된 상태에 selected image를 보여주는 것이다. 문제는 이런 방식을 사용할 경우 selected image를 만들지 않을 경우 버튼이 클릭된 느낌을 내기 어렵다는 것이다. 그래서 이미지 한 장으로 이미지 버튼을 만들 때 흔히 사용하는 방법으로 버튼을 확대시키거나 축소시키는 액션을 취해준다. Cocos2d-x의 터치 시스템이 괴랄해서 따로 버튼을 만드는 것은 상당히 귀찮은 일인 것은 다들 동의할 것이다. 그래서 고민을 해봤는데, 그냥 CCMenuItemImage 클래스를 살짝 수정하면 해결이 될 것 같아서 한 번 해봤다. 해..
Cocos2d-x에는 lua와 js 스크립트를 바인딩해서 게임을 개발할 수 있다. js는 내가 경험이 없어서 말을 못하는데 lua binding 같은 경우에는 현업에서도 많이 쓰이는 방법 중 하나이다. 왜냐하면 C++로 개발할 때에 비해 생산성이 굉장히 향상되기 때문이다. 물론 숙련되지 못한 코딩을 하다가는 C++로 개발할 때보다 훨씬 힘들어질 수도 있지만. 디버거와 인텔리센스 기능의 부재 때문이랄까. (C++와 Lua 중 어떤 것으로 개발하는 것이 더 낫다고는 하지 않겠다. 장단이 있으니까 알아서 선택해야 한다.) 꽤 옛날 일이긴 하지만 11월 11일, 즉 빼빼로데이를 맞이하여 혼자서 게임잼을 했었다. 일명 '빼빼로 부수기' 게임인데, 말 그대로 아주 심플한 게임이다. 화면 중앙에 나타나는 빼빼로를 연..
내가 처음 만든 GCM 써드파티 서버는 PHP로 만든 서버였다. (사실 서버라고 하기엔 민망한 것이 웹서버에다가 PHP 파일 하나 올려서 이용하던 서서버였다.) 당시 gcm 검색을 하면 대부분이 써드파티 서버를 PHP로 만들어 놓은 예제들이였기 때문이다. 그 후 Python으로 다시 만들려는 시도를 하긴 했었으나 잘 안되서 오늘에서야 진짜 Python으로 포팅을 하게 되었다. gcm third party server python 뭐 이런식으로 검색을 하면 생각 밖으로 자료들이 잘 안 나온다. 내가 서버 쪽으로는 지식이 미비해서 그런 것일 수도 있지만.... 어쨌든 GCM 써드파티 서버에서 해줘야 할 것은 꽤 심플하기 때문에 원리를 잘 파악하기만 하면 어떤 언어로 만들든 상관 없다. 중요한 것은 HTTP ..
게임 내 데이터를 효율적으로 관리하려면 추가 파일 데이터를 갖고 있는 것이 바람직하다. 그런데 데이터 파일을 Plain Text로 갖고 있다면 사람이 파일을 봤을 때 무엇을 의미하는지 알기 쉽지 않을 것이다. 따라서 사람에게 가까운 형식으로 만들어진 파일인 XML이나 JSON을 주로 사용하게 되는데, 여기서 또 XML과 JSON 중 어떤 것을 선택해야 하는 것인가에 대한 고민을 하게 된다. 결론부터 말하자면 JSON을 사용하는 것을 권장한다. 개인적으로 꺽쇠 괄호가 남발되는 XML을 선호하지 않기도 하지만, 무엇보다도 데이터 용량의 차이와 파서 라이브러리가 잘 되어있는 것이 JSON이기 때문이다. JSON의 경우 Indentation을 예쁘게 했을 경우 용량이 다소 커보인다. 하지만 Indentation..
- Total
- Today
- Yesterday