728x90

/**************** Layer *****************/

 

/Node* pNode = Node::create();
 pNode->removeAllChildren();
 pNode->addChild(Sprite::create("HelloWorld.png"));*/

 

 RenderTexture* pRenderTexture =
 RenderTexture::create(1000, 500, kCCTexture2DPixelFormat_RGBA8888);
 pRenderTexture->begin(); //랜더택스쳐로 그리기 시작


 //pNode->visit(); //위에 노드로 만들어진 기준이 됨


 this->visit(); //현재 this (이 레이어) 기준이 됨
 pRenderTexture->end(); //랜더택스쳐에 그려진걸 저장
 Texture2D* pTexture = pRenderTexture->getSprite()->getTexture();
 Sprite* pSprite = Sprite::createWithTexture(pTexture);
 addChild(pSprite);
 pSprite->setPosition(400, 400);
 pSprite->setRotationX(180);

 

 

 

1번은 본래 바탕화면에 있던 스프라이트

 

2번은 클릭시 위에 작성한 코드가 실행되어 마치 스크린샷을 찍듯이 특정 좌표를 랜더택스쳐로 새로 그려서 새로운 스프라이트를 찍어낸다.

728x90
Posted by 정망스
,
728x90

 

 

 

우선 현재만든 cocos 프로젝트에 libNetwork를 추가 시켜주어야 합니다.

 

 

경로 : 자기가만든 cocos프로젝트->cocos2d->cocos->network 입니다.

 

 

그리고 프로젝트의 빌드종속성->프로젝트 종속성으로 들어갑니다.

 

 

libNetwork에 체크를 해주고 확인을 합니다.

 

 

프로젝트의 속성으로 들어가서 링커->입력 부분에서

저 3가지 lib를 추가 해준다.

 

 

그리고 C/C++ 부분에서 일반 부분에서

추가 포함 디렉토리에서 경로를 추가 해주어야 한다.

 

..\Classes;

$(EngineRoot);

$(EngineRoot)cocos;

$(EngineRoot)cocos\editor-support;

$(EngineRoot)cocos\audio\include;

$(EngineRoot)cocos\network;

$(EngineRoot)external;

$(EngineRoot)external\chipmunk\include\chipmunk;

$(EngineRoot)external\curl\include\win32;

$(EngineRoot)external\websockets\win32\include;

$(EngineRoot)extensions;

..

 

일단 내 프로젝트 디렉토리에는 이정도로 추가되어있다 아직 나도 정확히 어떤부분을 추가해야되는건지는 잘몰라서일단 다 적어올려놓는다.

 

오른쪽 클릭 복사가 막혀있기 때문에 임의로 메모장에 적어서 파일을 올려 놓을테니 필요하신분들은 거기 있는것들 그냥 복사해서 추가 하면 될듯합니다.

 

lib.txt

 

다하셨으면 확인 하시면 이제 전반적인 설정은 끝

 

<HelloWorldScene.h>

 

간단하게 기본적으로 cocos 프로젝트를 생성하면 생기는 HelloWorldScene 에서 한번 해보는 코드입니다.

 

위에 보이는 3가지 헤더파일 include 하시고

웹 서버로 요청을 한 후 다시 응답을 받아 처리할 함수를 하나 만듭니다.

 

<HelloWorldScene.cpp>

 

HttpRequest의 객체를 만든다음 해당 url로 요청을 보내는 코드 부분입니다.

 

setUrl 안의 주소는 웹서버의 역할을 하고 있는 이름은 main이고 서블릿으로 만든 자바파일입니다.

 

(넘겨온 name의 파라미터 값을 따로 저장해서 json으로 만들어서 뿌려주는 간단한 코드입니다.)

 

 

 

postData 변수를 보면 해당 url에 파라미터로 name을 넘겨주고 있고 그 name 파라미터의 값은 test 입니다.

 

그리고 cocos에서 요청을 보낼때 POST 형식으로 보내고 있기 때문에 서블릿에서도 doPost, doGet 이있는데

doPost 부분에서 처리해야 합니다.

 

 

기본적으로 응답이 재대로 오지않았으면 바로 return을 시키고 있습니다.

 

뭐 그외의 예외상황도 여러가지 처리하고 있구요.. 자세히 코드를 설명하진 않겠습니다..

 

vector를 만들어서 응답으로 받아온 데이터를 넣고 있습니다.

 

그리고 strData에 추가시킨후 cocos 화면 자체에선 확인할수 없고

디버깅 모드로 돌려서 출력창에서 한번 확인해 보면...

 

뭐 출력창엔 재대로 response가 되었으면 complete 라는 문구와 함께

response의 responseCode 번호가 찍히게 되게 되있고

 

제일 중요시 볼건 srtData 변수에 웹서버에서 보내온 데이터가 재대로 받아졌는지 입니다.

JSON으로 만든형식을 웹서버에서 받아오고 있고 디버깅 화면에서 저렇게 잘 받아오는게 보이네요~

 

끝!

 

 

728x90
Posted by 정망스
,
728x90

스프라이트에 특정 액션을 주었다가 잠시 그 액션을 멈춘후 후에 그 액션을 이어서 다시 하고 싶다 라는 경우가 있을경우

 

pauseSchedulerAndActions();

resumeSchedulerAndActions();

 

을 써주면 된다.

 

pause는 일시정지, resume 는 재시작이다.

 

 

728x90

'cocos2d-x' 카테고리의 다른 글

RenderTexture(랜더택스쳐)  (0) 2014.04.17
cocos2d 에서 curl 쓰기 (webserver) 연동  (0) 2014.04.11
스케줄(Schedule) 정리 中..  (0) 2014.03.30
Scene 전환 종류 정리中  (0) 2014.03.03
액션 종류들 정리中  (0) 2014.03.03
Posted by 정망스
,
728x90

cocos에서 일정시간을 주기로 반복적으로 실행하는 함수중에 visit()라는 함수가 일단 있다는것을 알고있다.

하지만 visit() 같은 경우는 1초에 60번을 부르는 함수로써 매우 빨리 부르고

 

종종 우리가 원하는 시간마다 특정 함수나, 어떠한 역할을 하게하고 싶을 경우도 분명 있을것이다.

그럴때 한가지 방법으로 스케쥴이라는것을 cocos에서 제공한다.

 

다른 블로거분들께서 잘 정리해놓은것도 많고 하지만, 난 이상하게; 따라하면 자꾸 빨간줄의 에러가 나면서 날 짜증나게 만들었다..

 

그래서 지금 쓰는 코드들은 우선 나에게 있어서는 잘된다... 뭐 버전차이라 그런가??... 암튼 ㄱㄱ

 

pSchedule = Director::getInstance()->getScheduler(); //말그대로 스케쥴러 얻어온다는거다
pSchedule->scheduleUpdateForTarget(this, 0, true); //이건 굳이 없어도됨, 단 해당 스케줄에 대해  우선순위나 이런거 주고싶을때 하면 되는듯
pSchedule->scheduleSelector(schedule_selector(클래스이름::호출할함수이름), this, 0.5f, true); // 이부분이 실질적으로 해당 함수를 지정한 시간만큼 호출하는 부분

 

그리고 pSchedule->resumeTarget(this) //스케쥴이 정지되어있엇다면 다시 실행하는거다

    pSchedule->pauesTarget(this) // 스케쥴을 정지하는거다.

 

728x90
Posted by 정망스
,
728x90

Director::getInstance()->replaceScene(s);

위와같이 감독에게 씬을 바꾸라고 시키면 된다.

replacescene 외에도 pushScene()과, popScene()이 있다.

푸쉬는 말그대로 하나 올리는거 팝은 올려놓은것 중에 치워버리는거

 

그런데 이러한 장면 전환은 엄청 단순해 보인다는거

 

그래서 준비된게 Transition 장면이 전활될때 효과를 줄수 있다.

http://www.cocos2d-x.org/reference/native-cpp/V3.0beta2/da/d00/group__transition.html

 

//사용법 : 

CMainScene* pMain = new CMainScene; 

TransitionFade* fade = TransitionFade::create(1.0f, pMain, Color3B::WHITE);
Director::getInstance()->replaceScene(fade);

//요런식?

 

ransitionRotoZoom
현재 Scene이 가운데를 기준으로 빙글빙글 돌면서 작아지고, 새 Scene이 빙글빙글 돌면서 커진다

 

TransitionJumpZoom
현재 Scene이 반쯤 작아져서 좌측으로 통통 튀기면서 나가고, 새 Scene이 우측에서 통통 튀겨서 들어와서 커진다

 

TransitionMoveInL, TransitionMoveInR, TransitionMoveInT, TransitionMoveInB
이동해 들어오는 효과 (기존화면을 덮어쓴다).  easeActionWithAction으로 속도 조절가능.
 
TransitionSlideInL, TransitionSlideInR, TransitionSlideInT, TransitionSlideInB
이동해 들어오는 효과 (기존화면을 밀어낸다).  easeActionWithAction으로 속도 조절가능.

 

TransitionShrinkGrow
현재 Scene이 가로 1/3 정도 지점으로 작아지고, 새 Scene이 가로 2/3 정도 지점에서 커지면서 들어온다. easeActionWithAction 으로 속도 조절가능.

 

TransitionFlipX, TransitionFlipY TransitionFlipAngular
(현재 Scene 뒷면에 새 Scene이 붙어있고) 축으로 화면을 돌려서 전환하는 효과. Angular는 Y=X 축..

 

TransitionZoomFlipX ,TransitionZoomFlipY, TransitionZoomFlipAngular
표현을 못하겠다.  Flip과의 차이는 Fip은 100% 정직하고 Zoom은 약간 효과가 있는 느낌

 

TransitionFade, TransitionCrossFade
검은 화면으로 어두워졌다 다시 밝아지면서 새 화면이 나오는 효과, Cross Fade는 중간 검은 화면이 없다.

 

TransitionTurnOffTiles
일정한 사이즈의 타일이 다닥다닥 바뀌면서 전환. 모자이크 같은 느낌
 
TransitionSplitCols, TransitionSplitRows
화면을 X등분해서 홀수 화면은 위로 짝수화면은 아래로 나갔다가 다시 들어오는 효과

 

TransitionFadeTR, TransitionFadeBL
해당 방향으로 또로로로롱 하면서 전환하는 느낌.

 

TransitionFadeUp, TransitionFadeDown
방향으로 창살을 접으면서 전환하는 느낌.

 

TransitionPageTurn
(우측 하단을 집어서 좌측으로) 책 넘기는 효과.

 

TransitionProgressRadialCW, TransitionProgressRadialCCW
시계/반시계 방향으로 돌면서 새 Scene을 현재 Scene위에 칠한다. (CCW = Counter Clockwise)

 

TransitionProgressHorizontal, TransitionProgressVertical
방향으로 새 Scene을 현재 Scene위에 칠한다. 기본값은 TransitionMoveIn과 매우 비슷하다.

 

TransitionProgressInOut
새 Scene을 화면 가운데에서 끝까지 커지면서 칠한다.

 

TransitionProgressOutIn
현재 Scene이 화면 끝에서 가운데로 작아지면서 사라진다.

728x90

'cocos2d-x' 카테고리의 다른 글

스프라이트(Sprite) 액션 일시정지 & 다시시작  (1) 2014.03.30
스케줄(Schedule) 정리 中..  (0) 2014.03.30
액션 종류들 정리中  (0) 2014.03.03
cocos2d-x 왼쪽 하단 숫자 ...뭘까?..  (0) 2014.02.21
cocos2d-x  (0) 2014.02.19
Posted by 정망스
,


맨 위로
홈으로 ▲위로 ▼아래로 ♥댓글쓰기 새로고침