#include "HelloWorldScene.h"
#include "SimpleAudioEngine.h"
using namespace cocos2d;
using namespace CocosDenshion;
CCScene* HelloWorld::scene()
{
// 'scene' is an autorelease object
CCScene *scene = CCScene::create();
// 'layer' is an autorelease object
HelloWorld *layer = HelloWorld::create();
// add layer as a child to scene
scene->addChild(layer);
// return the scene
return scene;
}
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !CCLayer::init() )
{
return false;
}
/////////////////////////////
// 2. add a menu item with "X" image, which is clicked to quit the program
// you may modify it.
// add a "close" icon to exit the progress. it's an autorelease object
CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
"CloseNormal.png",
"CloseSelected.png",
this,
menu_selector(HelloWorld::menuCloseCallback) );
pCloseItem->setPosition( ccp(CCDirector::sharedDirector()->getWinSize().width - 20, 20) );
// create menu, it's an autorelease object
CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
pMenu->setPosition( CCPointZero );
this->addChild(pMenu, 1);
CCSize winS = CCDirector::sharedDirector()->getWinSize();
sprite1 = CCSprite::create("HelloWorld.png");
this->addChild(sprite1);
sprite1->setPosition(ccp(0, 0));
sprite1->setAnchorPoint(ccp(0,0));
sprite2 = CCSprite::create("HelloWorld.png");
this->addChild(sprite2);
sprite2->setPosition(ccp(winS.width/2, 0));
sprite2->setAnchorPoint(ccp(0,0));
backSpeed = ccp(-2,0);
this->schedule(schedule_selector(HelloWorld::gameLogic));
return true;
}
void HelloWorld::gameLogic(float dt)
{
sprite1->setPositionX(sprite1->getPositionX()+backSpeed.x);
sprite2->setPositionX(sprite2->getPositionX()+backSpeed.x);
if(sprite1->getPositionX() < -sprite1->getContentSize().width)
{
CCSprite *tmp;
tmp = sprite1;
sprite1 = sprite2;
sprite2 = tmp;
sprite2->setPosition(ccp(sprite1->getPositionX()+sprite1->getContentSize().width, 0));
}
}
void HelloWorld::menuCloseCallback(CCObject* pSender)
{
CCDirector::sharedDirector()->end();
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
exit(0);
#endif
}
CCAction사용하면 쉽게 할수있음
ParallaxNode 사용해도 쉽게 할수있음
'잡다한것들전부 > 팁' 카테고리의 다른 글
| 오비비 테스트 apk (0) | 2013.12.18 |
|---|---|
| 중급 개발자가 되는 방법 5가지 (0) | 2013.12.16 |
| 배경 무한 스크롤링 (0) | 2013.12.11 |
| 포물선 운동 관련 소스 (0) | 2013.12.10 |
| 헥사 게임 알고리즘 (0) | 2013.12.03 |
| 비쥬얼드 로직 (0) | 2013.12.02 |


