Inventory
-
cocos2d-x 스케쥴update, CCSpriteBatchNodePause @/Cocos2d-x2 2013. 6. 30. 14:49
this->scheduleUpdate(); return true; } 매프레임당 update함수 호출 void HelloWorld::update(float dt){ CCLog("update"); } 가상함수 update 구체화.. 아래는 터지후 에니메이션..이동.. void HelloWorld::ccTouchesEnded(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent){ CCTouch *ptouch=(CCTouch*)pTouches->anyObject(); CCPoint location=ptouch->getLocationInView(); location=CCDirector::sharedDirector()->convertToGL(location); CCSprit..
-
cocos2d-x animation 정리Pause @/Cocos2d-x2 2013. 6. 30. 14:23
CCAnimation 1. Animation Process CCSprite -> CCAnimation -> CCAnimate -> runAction; dance_man.zip 2. File : addSpriteFrameWithFileName CCAnimation *animation = CCAnimation::create(); animation->setDelayPerUnit(0.3f); animation->addSpriteFrameWithFileName("grossini_dance_01.png"); animation-> addSpriteFrameWithFileName("grossini_dance_02.png"); animation-> addSpriteFrameWithFileName("grossini_dan..
-
cocos2d-x 터치 및 스케쥴 정리Pause @/Cocos2d-x2 2013. 6. 29. 21:40
virtual void ccTouchesBegan(CCSet *touches, CCEvnet *event); virtual void ccTouchesMoved(CCSet *touches, CCEvent *event); virtual void ccTouchesEnded(CCSet *touches, CCEvent *event); 요렇게 3개의 virtual 메소드를 선언해줍니다. 이 메소드들은 CCLayer 객체에서 상속받은 메소드들로 터치에 관련된 처리를 가능하게 해줍니다. 이름만 봐도 딱 알겠죠? 터치가 시작되었을때, 이동했을때, 끝났을때 각각 호출이 됩니다. 복수형으로 되어 있죠? 멀티 터치를 지원하기 위한 것입니다. ^^ 이전 버전에선 이 3가지가 왠일인지 리턴값과 파라메타가 조금씩 달랐던 것으로 기..
-
cocos2d-x 정리 2일차Pause @/Cocos2d-x2 2013. 6. 24. 20:48
●CCSequence - 액션의 순서를 정하고 순차적으로 실행한다. void HelloWorld::doAction(CCObject* pSender) { //액션 정의 CCActionInterval* action1=CCMoveTo::create(2,ccp(100,200)); CCActionInterval* action2=CCRotateBy::create(2,90); CCActionInterval* action3=CCScaleTo::create(2, 2.0); CCFiniteTimeAction* seq=CCSequence::create(action1, action2, action3, NULL); pMan->runAction(seq); } ●CCSpawn - 등록된 모든 액션을 동시에 시행한다. void He..
-
cocos2d-x 정리..Pause @/Cocos2d-x2 2013. 6. 23. 22:12
CCLabelTTF* pLabel=CCLabelTTF::create("aaaaaaaaab bbb bbbbc", "Thonburi", 50,CCSize(300.0,200.0 ),kCCTextAlignmentCenter,kCCVerticalTextAlignmentCenter); 음냐.. 추가한 폰트 사용하기 - 폰트명을 적는 란에 추가한 폰트명을 적는다. - CCLabelTTF::create("~~". "fonts/폰트명.ttf", 숫자) //스프라이트 생성 및 초기화 CCSprite* man=CCSprite::create("images/이미지 이름.png"); //스프라이트 위치 지정 man->setPosition( ccp(240,160)); //레이어에 스프라이트 객체 추가 this->addChild(m..
-
STL list 주요 특징 정리@ 16. 1 ~ 17. 1/STL 2013. 5. 27. 21:08
list의 가장 큰 특징 중 하나는 vector나 deque처럼 원소를 밀어내지않고 노드를 서로 연결하기만 하면 됨. 또한, 노드 기반 컨테이너의 삽입과 제거 동작은 반복자를 무효화시키지 않음. 아래는 예를 든 소스.. deque dq; dq.push_back(10); dq.push_back(20); dq.push_back(30); deque::iterator iter=dq.begin(); deque::iterator iter2; cout
-
STL vector / deque 주요 특징 정리@ 16. 1 ~ 17. 1/STL 2013. 5. 27. 19:46
vector는 임의 접근 반복자를 지원하는 배열 기반 컨테이너입니다. vector의 가장 큰 특징 중 하나는 원소가 하나의 메모리 블록에 연속(배열 기반 컨테이너)하게 저장된다는 것입니다. 원소가 추가되거나 삽입될 때 메모리 재할당이 발생할 수 있음. 그래서 메모리 하당 크기를 알 수 있게 capacity() 멤버 함수가 있고, 한번에 메모리를 할당하고 사용할 수 있는 reserve()멤버 함수가 있다. 원소에 접근하는 것은 at()나 v[i]로 가능하며 둘다 같은 기능이지만, at()은 유효범위를 점검하여 안전하게 원소에 접근하나 접근속도가 낮지만 []은 그 반대이다. 유효점검 x 속도 up 또한 시퀀스 기반 컨테이너 이므로 원소가 서로 상대적인 위치를 유지하므로 가장 앞 요소와 가장 뒤 요소를 참조하..
-
스마트 포인터와 ->, *연산자 오버로딩@ 16. 1 ~ 17. 1/C++ 2013. 5. 21. 22:55
일반 포인터를 사용 후 delete를 호출하지 않으면 메모리가 누수가 발생하여 프로그램에 심각한 문제를 발생 그래서 쉽게 하기 위한 스마트 포인터가 등장! class Point{ int x; int y; public: Point(int _x=0, int _y=0) : x(_x), y(_y){} void Print() const{ cout 연산자의 경우 포인터를 리턴받고 *은 참조를 리턴받아 호출 저기서 PointPtr p1=new Point(1,2)의 경우 동적할당이긴 한데. 순서가 PointPtr의 생성자에 new Point(1,2) 동적할당한 값을 넣는것이다. 암시적 생성자를 Point = 10; 이렇게 생성하는건데.. 아무튼 PointPtr앞에 explicit를 붙이게 되면..좀더 명확히 써야한다...