'잡다한것들전부'에 해당되는 글 207건
- 2013.09.21 챕터 2 - 스프라이트를 움직이는 방법
- 2013.09.21 챕터 1 - 스프라이트를 추가하는 방법
- 2013.09.21 Tutorial - cocos2d-x 로 간단한 게임 만들기
- 2013.09.21 cocos2d-x 기본 세팅 - 4 (2)
- 2013.09.20 cocos2d-x 기본 세팅 - 3
- 2013.09.19 cocos2d-x 기본 세팅 - 2
- 2013.09.19 cocos2d-x 기본 세팅 - 1
챕터1 에서 우리는 Player 캐릭터를 Scene 에 추가하는 작업을 했었다.
하지만 히어로는 홀로 있다. 우리는 적들을 추가할 생각이다.
적들을 이동하는 함수
void addTarget()와
이동이 끝난 적들을 사라지게 하는 함수
void spriteMoveFinished(CCNode * sender);를 추가할 생각이다.
void addTarget()과 void spriteMoveFinished(CCNode * sender); HelloWorldh.h 에 추가하고
class HelloWorld : public cocos2d::CCLayerColor
{
public:
// Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-iphone
virtual bool init();
// there's no 'id' in cpp, so we recommend returning the class instance pointer
static cocos2d::CCScene* scene();
// a selector callback
void menuCloseCallback(CCObject* pSender);
// implement the "static node()" method manually
CREATE_FUNC(HelloWorld);
//addTarget 함수 추가(적 생성)
void addTarget();
//스프라이트 제거
void spriteMoveFinished(CCNode * sender);
};
아래 소스를 HelloWorldScene.cpp에 추가하자(그리고 using namespace cocos2d; 를 맨 위에 추가하는 건 잊지말자.) ->USING_NS_CC;
addTarget 추가
SpriteMoveFinished 추가
팁
1. rand 함수는 c std 함수를 사용한다.
2. YES , NO 는 true , false 이다
3. callback 함수를 사용할수 있다. (cocos2d에서는 selector 에 대응됨)
cocos2dx\include\selector_protocol.h -> 이안에 정의 되어있음
-
schedule_selector(_SELECTOR) (SEL_SCHEDULE)(&_SELECTOR)
-
callfunc_selector(_SELECTOR) (SEL_CallFunc)(&_SELECTOR)
-
callfuncN_selector(_SELECTOR) (SEL_CallFuncN)(&_SELECTOR)
-
callfuncND_selector(_SELECTOR) (SEL_CallFuncND)(&_SELECTOR)
-
callfuncO_selector(_SELECTOR) (SEL_CallFuncO)(&_SELECTOR)
-
menu_selector(_SELECTOR) (SEL_MenuHandler)(&_SELECTOR)
-
event_selector(_SELECTOR) (SEL_EventHandler)(&_SELECTOR)
-
compare_selector(_SELECTOR) (SEL_Compare)(&_SELECTOR)
이것들은 callbck 함수 정의에 의해서 사용할수 있다. 예를들면
CCTimer::initWithTarget 은 두번째 인자가 SEL_SCHEDULE 타입이다.
bool initWithTarget(CCObject *pTarget, SEL_SCHEDULE pfnSelector);
우리는 schedule_selector(_SELECTOR)을사용할수있다.
우리는 적들을 생성하는 함수를 1초에 한번 호출하도록 설정할수 있다.
bool HelloWorld::init()의 맨 아래에 (return true; 바로 위) 아래 소스를 추가하자
//gameLogic 함수를 매초마다 실행
this->schedule(schedule_selector(HelloWorld::gameLogic),1.0f);
아래에 소스도 추가하자
HellWorldScene.h 에는 void gameLogic(float dt);을 추가하고
HellWorldScene.cpp에는 아래 소스를 추가하자
void HelloWorld::gameLogic(float dt)
{
this->addTarget();
}
'잡다한것들전부 > Tutorial' 카테고리의 다른 글
| 챕터 5 - 음악 재생 및 이펙트 효과음 재생 하는 법 (0) | 2013.09.22 |
|---|---|
| 챕터 4 - 충돌 체크하는 법 (0) | 2013.09.22 |
| 챕터 3 - 표창을 발사하는 방법 (0) | 2013.09.21 |
| 챕터 2 - 스프라이트를 움직이는 방법 (0) | 2013.09.21 |
| 챕터 1 - 스프라이트를 추가하는 방법 (0) | 2013.09.21 |
| Tutorial - cocos2d-x 로 간단한 게임 만들기 (0) | 2013.09.21 |
간단한 게임을 만들기 전에 프로젝트 파일을 먼저 만들고 프로젝트 파일을 엽니다. 프로젝트 파일명은 SimpleGame으로 하겠습니다.
프로젝트 파일 만드는법
http://studycocos2d-x.tistory.com/4 링크 참조
SimpleGame의 Classes 폴더를 열어보면 기본적으로
AppDelegate.cpp
AppDelegate.h
HelloWorldScene.cpp
HelloWorldScene.h
파일이 존재한다.
1. 이미지 파일을 추가하는 법
여기에 있는 3개의 이미지를 SimpleGame에서 사용할 예정입니다.
이 이미지를 저장한후 SimpleGame의 폴더의 리소스 폴더에 저장을 합니다,
예) C:\Android\cocos2d-x\cocos2d-x-2.1.5\projects\SimpleGame\Resources
2. 스프라이트를 추가하는 법
HelloWorldScene.cpp 의 init 메서드를 아래와 같이 고치자.
팁 1 - 오브젝티브
1. c++ 의 _super 키워드를 사용하지 말아라. CCLayer::init() 것을 사용해서 부모 클래스를 호출하는게 더 낫다.
2. get/set 메서드를 사용해라 . 만약 너가 CCSprie의 ContentSize를 사용하기 원한다면 , 너는 sprite->getContentSize() 처러 사용할수있다.
3. player.position = ... 이것은 player->setPosition(...) 이것과 같다.
4. 하지만 structs에 접근할때는 "width" 나 "height"를 사용한다.
5. 자주 사용하는 메서드 CGGeometry, such as CGRectMake, CGPointMake, CGSizeMake, CGPointZero, CGSizeZero, CGRectZero 이것들은 ios의 것들과 비슷하게 정의 해 놓았다. CG, NS, UI등을 CC로 변경하였다.
6. cocos2d-x는 메모리에 접근할때 "->" 이런식으로 메모리 주소로 접근한다.
7. this 키워드는 object c의 self 와 같다
8. init의 "bool"은 cpp에 "id"가 없기 때문에 대체를 했다.
9. 안드로이드에서, 타이틀바를 확보한 공간이 필요하다. 너는 플레이어의 위치를 아래와 같이 설정할수 있다.
(player.contentSize.width/2 + 40, winSize.height/2)
이렇게 설정하고 실행을 하면 흑백 화면에 캐릭터가 나타나서 잘 보이지 않는다.
배경화면을 하얀색으로 변경하자.
현재 HellWolrd 클래스는 CCLayer 클래스를 상속받고 있는데 배경화면을
변경하기 위해서는 CCLayerColor 클래스를 상속받도록 수정을 하여야 한다.
HelloWorldScene.h으로 이동하여 아래 처럼 수정하자.
class HelloWorld : public cocos2d::CCLayerColor
그리고
HelloWorldScene.cpp 파일로 이동하여
if ( !CCLayer::init() )
{
return false;
}
을 아래처럼 수정하자.
if ( !CCLayerColor::initWithColor(ccc4(255,255,255,255)) )
{
return false;
}
모든 파일들을 수정하고 실행을 하면 아래와 같이 실행창이 뜬다.
'잡다한것들전부 > Tutorial' 카테고리의 다른 글
| 챕터 5 - 음악 재생 및 이펙트 효과음 재생 하는 법 (0) | 2013.09.22 |
|---|---|
| 챕터 4 - 충돌 체크하는 법 (0) | 2013.09.22 |
| 챕터 3 - 표창을 발사하는 방법 (0) | 2013.09.21 |
| 챕터 2 - 스프라이트를 움직이는 방법 (0) | 2013.09.21 |
| 챕터 1 - 스프라이트를 추가하는 방법 (0) | 2013.09.21 |
| Tutorial - cocos2d-x 로 간단한 게임 만들기 (0) | 2013.09.21 |
에 있는 간단한 게임 만들기를 한글로 번역해서 올릴 생각입니다.
정말 기초 게임이니 초보자들만 보시길 추천해드립니다.
'잡다한것들전부 > Tutorial' 카테고리의 다른 글
| 챕터 5 - 음악 재생 및 이펙트 효과음 재생 하는 법 (0) | 2013.09.22 |
|---|---|
| 챕터 4 - 충돌 체크하는 법 (0) | 2013.09.22 |
| 챕터 3 - 표창을 발사하는 방법 (0) | 2013.09.21 |
| 챕터 2 - 스프라이트를 움직이는 방법 (0) | 2013.09.21 |
| 챕터 1 - 스프라이트를 추가하는 방법 (0) | 2013.09.21 |
| Tutorial - cocos2d-x 로 간단한 게임 만들기 (0) | 2013.09.21 |
visual studio 에서 생성된 프로젝트 디바이스에서 실행시키기 위해선
cygwin으로 프로젝트를 빌드를 해야됩니다.
해당프로젝트 파일로 가서 ./build_native.sh 를 입력합니다.
정상적으로 빌드가 완료 된것을 확인하고 이클립스를 실행합니다.
이클립스 file - new - project 를 실행시키거나
아래 그림처럼 Package Explorer 에서 오른쪽 버튼을 누르고 new-project를 실행시킵니다.
python으로 만들었던 통합 프로젝트를 불러올 것이므로 Android Project from Existing Code
를 클릭하고 next를 누릅니다.
MyGame - proj.android 를 누르고 확인을 누릅니다.
이클립스를 불러오면 아래 와 같이 오류가 뜹니다.
cocos2d-x lib파일을 추가해야 정상적으로 실행이 됩니다,
MyGame프로젝트에서 오른쪽 버튼
properties를 누르고 Java Build Path를선택합니다.
Link Source 버튼을 누르고
Linked folder location 에는 cocos2d-x\platform\android\java\src 폴더를 추가하고
floler name에는 lib를 입력하고 확인을 누릅니다.
프로젝트에서 오른쪽 버튼 누르고 Refresh 한번 선택해주고
이클립스 메뉴창에 Project - clean 을 클릭해줍니다.
마지막으로 프로젝트에 오른쪽 버튼 - Ran as - Android Application 버튼을 클릭하면 디바이스에서 정상적으로 실행이 됩니다.
오류-2가지
환경변수 path 에 자기자신의 시그윈 설치 폴더 경로를 추가로 입력해준다.
bash
;C:\cygwin64\bin;
Unable to add에러
assets 파일에 접근할수 없을때 뜨는 에러
관리자 권한으로 설정을 해줘야됨
1. cygwin을 열고 자기자신의 프로젝트 파일로 이동
예) cd /cygdrive/c/Android/cocos2d-x/cocos2d-x-2.1.5/projects/MyGame/
2. 모든 권한 설정
chmod 777 -R * 입력 후 엔터
3. 다시빌드
./build_native.sh 입력 후 엔터
이렇게 하면 정상적으로 실행이 될것입니다.
'잡다한것들전부 > 세팅' 카테고리의 다른 글
| cocos2d-x 기본 세팅 - 4 (2) | 2013.09.21 |
|---|---|
| cocos2d-x 기본 세팅 - 3 (0) | 2013.09.20 |
| cocos2d-x 기본 세팅 - 2 (0) | 2013.09.19 |
| cocos2d-x 기본 세팅 - 1 (0) | 2013.09.19 |
새로운 프로젝트 생성
cocos2d-x 2.1.4 버전 이후로는 install-templates-msvc.bat 파일이 제거되고
tools/project-creator 파일을 실행시켜야된다. 이 파일을 실행시키기 위해선
python을 설치 해야된다. cocos2d-x에서는 파이썬 2.7.2 버전을 다운받기를 권장하고 있다.
http://www.python.org/download/releases/2.7.2/
위 링크로 가서 자신의 os에 맞는 프로그램을 설치한다.
설치가 완료되면 path를 수정한다.
파이썬이 설치된 경로 추가
예) ;C:\Python27;
앞뒤로 세미콜론(;)은 반드시 붙여주자
환경변수 설정이 완료되면 윈도우 + r 키를 누르고 cmd 창을 실행시키고
python --version 을 입력해서 python 버전이 제대로 출력되면 설치가 완료 된것이다.
프로젝트 생성
C:\Android\cocos2d-x\cocos2d-x-2.1.5\tools\project-creator
create_project.py로 통합프로젝트를 만들수있다.
cmd 창을 열자. cocos2d-x 가 설치된 경로로 이동한다.
명령어
cd C:\Android\cocos2d-x\cocos2d-x-2.1.5\tools\project-creator 로 이동
python 으로 create_project.py파일을 실행하면 친절하게 만들때 어떤식으로 만들지 설명이
나온다.
sample1과 sample2 에 있는거 대로 실행을 해보자.
Sample 1: ./create_project.py -project MyGame -package com.MyCompany.AwesomeGame
Sample 2: ./create_project.py -project MyGame -package com.MyCompany.AwesomeGame
-language javascript
python create_project.py create_project.py -project MyGame -package com.MyCompany.AwesomeGame -language cpp 입력
Have fun! 이란 글자가 나오면 정상적으로 프로젝트가 생성된 것입니다.
C:\Android\cocos2d-x\cocos2d-x-2.1.5\projects파일에 프로젝트가 생성됩니다.
C:\Android\cocos2d-x\cocos2d-x-2.1.5\projects\MyGame\proj.win32로 들어가시면 솔루션 파일이 있습니다. 실행하시면 visual Studio 에서 실행 가능합니다.
ctrl + F5로 빌드한 모습
'잡다한것들전부 > 세팅' 카테고리의 다른 글
| cocos2d-x 기본 세팅 - 4 (2) | 2013.09.21 |
|---|---|
| cocos2d-x 기본 세팅 - 3 (0) | 2013.09.20 |
| cocos2d-x 기본 세팅 - 2 (0) | 2013.09.19 |
| cocos2d-x 기본 세팅 - 1 (0) | 2013.09.19 |
cocos2d-x 홈페이지에서 cocos2d-x 최신버전을 다운받습니다.
http://www.cocos2d-x.org/download이번에 홈페이지가 개편되면서 홈페이지가 이쁘게 바뀌었습니다.
현재 최신버전은 3.0 알파버전인데 2.1.5 버전을 받습니다.
Looking for an older version? 을 클릭해서 2.1.5 버전을 받습니다.
C:\Android\cocos2d-x
경로에 파일을 받고 압축을 풉니다.
압축을 풀고
C:\Android\cocos2d-x\cocos2d-x-2.1.5폴더에
cocos2d-win32.vc2012 를 실행합니다.
HelloCpp를 실행 해보도록 하겠습니다.
왼쪽 상단에 HelloCpp 프로젝트에 오른쪽 버튼을 눌러서 시작프로젝트로 설정을 선택합니다, 그리고 빌드를 합니다.
메뉴에 디버그-디버깅하지 않고 시작을 선택하거나
ctrl + f5 키를 눌러서 빌드를 진행합니다.
빌드가 완료되면 HelloCpp 창이 실행됩니다.
'잡다한것들전부 > 세팅' 카테고리의 다른 글
| cocos2d-x 기본 세팅 - 4 (2) | 2013.09.21 |
|---|---|
| cocos2d-x 기본 세팅 - 3 (0) | 2013.09.20 |
| cocos2d-x 기본 세팅 - 2 (0) | 2013.09.19 |
| cocos2d-x 기본 세팅 - 1 (0) | 2013.09.19 |
cocos2d-x 기본 세팅 Android
windows 8
visual studio 2012
cocos2d-x 2.1.5 버전 기준
1. java 설치
2. android sdk 설치
3. cgwin 설치
4. android ndk 설치
5. 이클립스 adt 설치
.여러가지 파일들을 설치해야 되므로 폴더를 설정해서 각 파일들을 다운받자.
현재 저는 C:\Android 여기에 모든 파일들을 다운받았다.
예)
안드로이드 sdk
C:\Android\ndk안드로이드 ndk
C:\Android\sdkcgwin
C:\Android\cgwin
cocos2d-x
C:\Android\cocos2d-x
cocos2d-x 로 게임을 개발하기 위한 기본세팅
cocos2d-x 는 visual studio 로 개발을 해서 안드로이드 ndk 로 빌드를 할수있다.
android로 변환하기 위해서는 android sdk, ndk 가 필요하고 android sdk 는 java를 필요로
한다.
java 설치 및 환경변수 설정
http://www.oracle.com/technetwork/java/javase/downloads/index.html
위 링크를 클릭해서 java jdk 최신버전을 받자.
링크를 받고 설치를 한후 환경변수를 설정하자
내컴퓨터 -> 속성 -> 고급 -> 환경변수 -> 시스템 변수
1. JAVA_HOME 새로만들기
변수이름 : JAVA_HOME
변수값 : 자바 jdk 를 설치한 위치
예) C:\Program Files\Java\jdk1.7.0_40
2. PATH 수정
기존에있는 PATH에서 설정을 해준다.
%JAVA_HOME%\bin; 추가
모든 경로는 세미콜론으로 구별한다
path 를 설정하고 윈도우 + r 키를 누르고 실행창에 cmd를 입력하고 엔터친다.
cmd 창이 뜨면 javac를 입력하고
이런창이 뜨면 제대로 환경변수 설정이 제대로 된것이다.
Android sdk 설치
http://developer.android.com/sdk/index.html
위 링크를 클릭해서 sdk 를 설치한다.
언제부터인지 몰라도 이제 안드로이드 sdk 를 받으면 이클립스를 기본으로 내장하고 있다.
C:\Android\sdk에 압축파일을 받고 압축을 푼다.
C:\Android\sdk\adt-bundle-windows-x86_64-20130911
이런식으로 폴더가 생기고 안에는 sdk와 이클립스 폴더가 있다.
android sdk 도 마찬가지로 환경변수를 설정해준다.
폴더 안에 있는 SDK Manager를 실행한다.
sdk 버전 4.3, 4.2.2 , 4.1.2 , 2.3.3 , 2.2 등을 선택하고 인스톨을 눌러 설치하자
설치하는데 꽤 오랜시간이 걸립니다.
설치하는동안 안드로이드 sdk 환경변수를 설정합니다.
path 에 뒤에 android sdk 설치 경로를 붙입니다.
예) C:\Android\sdk\adt-bundle-windows-x86_64-20130911\sdk\tools
cgwin 설치
http://cygwin.com/install.html위 링크를 클릭하고 설치합니다.
Debel 및 Editors 옆에 Default를 클릭하면 Install 로 바뀌고 두개를 Install로 바꾸고
다음을 클릭하고설치합니다.
안드로이드 ndk 설치
http://developer.android.com/tools/sdk/ndk/index.html
위 링크에서 ndk 최신 버전을 다운받습니다.
현재 최신버전은 r9입니다.
예) C:\Android\ndk
이 폴더에 최신파일을 받았습니다. 최신파일을 받고 압축을 풉니다.
압축을 풀고 환경변수를 설정합니다.
변수이름 : NDK_ROOT
변수 값 : C:\Android\ndk\android-ndk-r9
추가합니다.
이클립스 ADT 설치
방금 sdk를 다운받은 경로안에 이클립스가 있습니다 이클립스를 실행합니다.
C:\Android\sdk\adt-bundle-windows-x86_64-20130911\eclipseeclipse.exe 파일은 자주 사용하니 바탕화면에 바로가기를 만들어 놓습니다.
이클립스를 실행하고 Help-Install new Software를 클릭합니다.
Work With 옆에 add 버튼을 클릭합니다.
위 창에 이름과
AndroidAdt
http://dl-ssl.google.com/android/eclipse/
를 입력합니다. ok를 누르면
아래 처럼 Developer Tools와 Ndk Plugins를 선택하고 다음을 클릭하고 설치합니다.
설치를 다하고 나면
yes 버튼을 눌러 다시 시작합니다.
'잡다한것들전부 > 세팅' 카테고리의 다른 글
| cocos2d-x 기본 세팅 - 4 (2) | 2013.09.21 |
|---|---|
| cocos2d-x 기본 세팅 - 3 (0) | 2013.09.20 |
| cocos2d-x 기본 세팅 - 2 (0) | 2013.09.19 |
| cocos2d-x 기본 세팅 - 1 (0) | 2013.09.19 |





