Example #1
0
bool MyPlane::init()
{
	bool bRet = false;
	do 
	{
		CC_BREAK_IF(!CCLayer::init());

		//	Create a plane (CCSprite)
		//	Current frame.
		m_frame = 0;
		m_bIsGameOver = false;

		m_pPlane = CCPlane::createWithHPAndId(DEFAULT_HP, 0);

		m_pPlane->initWithSpriteFrameName("ship03.png");

		CCDirector *pDirector = CCDirector::sharedDirector();
		m_pPlane->setPosition(ccp(pDirector->getVisibleSize().width / 2, 100));
		this->addChild(m_pPlane);

		this->schedule(schedule_selector(MyPlane::changePicture), 0.5f);
		this->schedule(schedule_selector(MyPlane::shoot), 0.2f);
		bRet = true;
	} while (0);

	return bRet;
}
Example #2
0
bool HelpScene::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !CCLayer::init() )
    {
        return false;
    }

    setKeypadEnabled(true);

    LayoutManager *layoutManager = LayoutManager::getInstance();
    CCRect visibleRect = layoutManager->getVisibleRect();

    CCDirector *director = CCDirector::sharedDirector();
    m_Background = CCSprite::create("help.png");
    m_Background->retain();
    m_Background->setPosition(director->getVisibleOrigin() + director->getVisibleSize() / 2);
    addChild(m_Background);

    CCMenuItemImage *pBack = CCMenuItemImage::create("back.png", NULL, this, menu_selector(HelpScene::backCallback));
    pBack->setAnchorPoint(CCPointZero);
    pBack->setPosition(ccp(visibleRect.origin.x + 18, visibleRect.origin.y + 12));

    CCMenu *pMenu = CCMenu::create(pBack, NULL);
    pMenu->setAnchorPoint(CCPointZero);
    pMenu->setPosition(CCPointZero);
    addChild(pMenu);

    return true;
}
Example #3
0
bool ModalLayer::init()
{
    if ( !CCLayer::init() )
    {
        return false;
    }
    CCDirector* pDirector = CCDirector::sharedDirector();
    pDirector->getTouchDispatcher()->addTargetedDelegate(this, kCCMenuHandlerPriority, true);
    CCSize visibleSize = pDirector->getVisibleSize();
    CCSprite* frame = CCSprite::create("HelloWorld.png");
    frame->setPosition(ccp(visibleSize.width/2, visibleSize.height/2));
    this->addChild(frame);
    CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
                                                          "Send.png",
                                                          "SendHighlighted.png",
                                                          this,
                                                          menu_selector(ModalLayer::menuCloseCallback) );
    pCloseItem->setPosition(ccp(
                                visibleSize.width/2+frame->getContentSize().width/2-pCloseItem->getContentSize().width/2-10,
                                visibleSize.height/2+frame->getContentSize().height/2-pCloseItem->getContentSize().height/2-10));
    CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
    pMenu->setPosition( CCPointZero );
    this->addChild(pMenu);
    return true;
}
bool AppDelegate::applicationDidFinishLaunching() {
    // initialize director
    CCDirector* pDirector = CCDirector::sharedDirector();
    CCEGLView* pEGLView = CCEGLView::sharedOpenGLView();

    pDirector->setOpenGLView(pEGLView);
	CCSize vs = pDirector->getVisibleSize();
    // Set the design resolution
	pEGLView->setDesignResolutionSize(vs.width, vs.height, kResolutionNoBorder);

	CCSize frameSize = pEGLView->getFrameSize();
    
    vector<string> searchPath;

    // In this demo, we select resource according to the frame's height.
    // If the resource size is different from design resolution size, you need to set contentScaleFactor.
    // We use the ratio of resource's height to the height of design resolution,
    // this can make sure that the resource's height could fit for the height of design resolution.

    // if the frame's height is larger than the height of medium resource size, select large resource.
	if (frameSize.height > mediumResource.size.height)
	{
        searchPath.push_back(largeResource.directory);

        pDirector->setContentScaleFactor(MIN(largeResource.size.height/designResolutionSize.height, largeResource.size.width/designResolutionSize.width));
	}
    // if the frame's height is larger than the height of small resource size, select medium resource.
    else if (frameSize.height > smallResource.size.height)
    {
        searchPath.push_back(mediumResource.directory);
        
        pDirector->setContentScaleFactor(MIN(mediumResource.size.height/designResolutionSize.height, mediumResource.size.width/designResolutionSize.width));
    }
    // if the frame's height is smaller than the height of medium resource size, select small resource.
	else
    {
        searchPath.push_back(smallResource.directory);

        pDirector->setContentScaleFactor(MIN(smallResource.size.height/designResolutionSize.height, smallResource.size.width/designResolutionSize.width));
    }
    
    // set searching path
    CCFileUtils::sharedFileUtils()->setSearchPaths(searchPath);
	
    // turn on display FPS
    pDirector->setDisplayStats(true);

    // set FPS. the default value is 1.0/60 if you don't call this
    pDirector->setAnimationInterval(1.0 / 60);

    // create a scene. it's an autorelease object
    CCScene *pScene = HelloWorld::scene();

    // run
    pDirector->runWithScene(pScene);

    return true;
}
Example #5
0
void ResolutionUtil::init() {
	__android_log_write(ANDROID_LOG_INFO, "ResolutionUtil", "ResolutionUtil init...");
	CCDirector* director = CCDirector::sharedDirector();
	CCSize size = director->getVisibleSize();
	R_FACTOR = size.height / SCREEN_HEIGHT;
	IMG_FACTOR = 1.0 * ResolutionUtil::R_FACTOR;
	__android_log_print(ANDROID_LOG_INFO, "ResolutionUtil",
			"getVisibleSize: %f * %f; R_FACTOR: %f; IMG_FACTOR: %f",
			size.height, size.width, R_FACTOR, IMG_FACTOR);
}
Example #6
0
bool MainMenuBarLayer::init()
{
    if ( !CCLayer::init() )
    {
        return false;
    }
    
    CCDirector* pDirector = CCDirector::sharedDirector();
    pDirector->getTouchDispatcher()->addTargetedDelegate(this, kCCMenuHandlerPriority, true);
    
    // Display Size
    CCSize visibleSize = pDirector->getVisibleSize();
    
    // Background Image for menu bar
    CCScale9Sprite* scale9Sprite = CCScale9Sprite::create("frame_v.png");
    scale9Sprite->setContentSize(ccp(visibleSize.width,visibleSize.height/10));
    scale9Sprite->setPosition(ccp(visibleSize.width/2,visibleSize.height - scale9Sprite->getContentSize().height/2));
    this->addChild(scale9Sprite,4);
    
    // Go back to privious scene
    CCMenuItemImage* menuBackItem = CCMenuItemImage::create("frame_g.png","frame_p.png",this,menu_selector(MainMenuBarLayer::goBackScene));
    menuBackItem->setPosition(ccp(menuBackItem->getContentSize().width/2, visibleSize.height - menuBackItem->getContentSize().height/2));
    CCMenu* menuBack = CCMenu::create(menuBackItem, NULL);
    menuBack->setPosition(CCPointZero);
    //this->addChild(menuBack);
    
    // Send a message
    CCMenuItemImage* sendItemImg = CCMenuItemImage::create("frame_g.png","frame_p.png",this,menu_selector(MainMenuBarLayer::goBackScene));
    sendItemImg->setPosition(ccp(visibleSize.width - sendItemImg->getContentSize().width/2, visibleSize.height - sendItemImg->getContentSize().height/2));
    CCMenu* menuSend = CCMenu::create(sendItemImg, NULL);
    menuSend->setPosition(CCPointZero);
    //this->addChild(menuSend);
    
    // EditBox
    CCEditBox* editBox;
    CCSize editBoxSize = CCSizeMake(100, 100);
    editBox = CCEditBox::create(editBoxSize, CCScale9Sprite::create("frame_g.png"));
    editBox->setPosition(ccp(visibleSize.width - sendItemImg->getContentSize().width/2, visibleSize.height - sendItemImg->getContentSize().height/2));
    editBox->setFontColor(ccBLUE);
    editBox->setPlaceHolder("");
    editBox->setMaxLength(100);
    editBox->setFontSize(24);
    editBox->setDelegate(this);
    editBox->setTag(_EDITBOX_);
    editBox->setInputMode(kEditBoxInputModeAny);
    //editBox->setReturnType(kKeyboardReturnTypeSend);
    this->addChild(editBox,5);
    
    // End
    return true;
}
Example #7
0
void MyBullet::move(float dt)
{
	CCDirector *pDirector = CCDirector::sharedDirector();
	for (int i = 0; i < m_pArrayOfBullet->count(); )
	{
		CCBullet *pCurBullet = (CCBullet*)m_pArrayOfBullet->objectAtIndex(i);
		pCurBullet->setPositionY(pCurBullet->getPositionY() + DEFAULT_SPEED);

		if (pCurBullet->getPositionY() - pCurBullet->getContentSize().height / 2 > pDirector->getVisibleSize().height)
			isOver(pCurBullet);
		else
			i++;
	}
}
Example #8
0
void MyPlane::ccTouchMoved(CCTouch* touch, CCEvent* event){

	if (m_bIsGameOver)
		return;

	CCPoint point = touch->getLocation();

	CCDirector *pDirector = CCDirector::sharedDirector();
	CCSize sizeOfVisible = pDirector->getVisibleSize();

	CCPoint newPoint = CCPoint( max(0.0f,min(point.x, sizeOfVisible.width)), max(0.0f,min(point.y,sizeOfVisible.height)) );

	m_pPlane->stopAllActions();
	m_pPlane->setPosition(newPoint);
}
Example #9
0
bool UpdateScene::init() {
    CCScene::init();
	CCDirector *pDirector = CCDirector::sharedDirector();
    //背景黑框和屏幕一样大小
    CCSprite *lm = CCSprite::create("black.png");
    addChild(lm);
    CCSize vs = pDirector->getVisibleSize();
    lm->setPosition(ccp(vs.width/2, vs.height/2));
    CCSize sz = lm->getContentSize();

    lm->setScaleX(vs.width/sz.width);
    lm->setScaleY(vs.height/sz.height);
    
    CCLabelTTF *lab = CCLabelTTF::create("Loading...", "", 25);
    lab->setColor(ccc3(255, 255, 255));
    lab->enableShadow(CCSizeMake(1, 2), 1, 1, true);
    lab->setAnchorPoint(ccp(0, 0.5));
    lab->setPosition(ccp(16, 768-743));
    addChild(lab);
    
    CCSpriteFrameCache *sf = CCSpriteFrameCache::sharedSpriteFrameCache();
    sf->addSpriteFramesWithFile("loadAni.plist");
    CCAnimation *ani = CCAnimation::create();
    char name[100];
    for(int i = 0; i <= 20; i++) {
        sprintf(name, "load%d.png", i);
        ani->addSpriteFrame(sf->spriteFrameByName(name));
    }
    ani->setDelayPerUnit(2/20.0);
    ani->setRestoreOriginalFrame(true);

    CCSprite *cat = CCSprite::createWithSpriteFrameName("load0.png");
    addChild(cat);
    cat->setPosition(ccp(vs.width-228, 101));
    cat->runAction(CCRepeatForever::create(CCAnimate::create(ani)));



    updateYet = false;
    scheduleUpdate();
    nodeNum = 0;

	return true;
}
Example #10
0
//每10个百分点 增加1个点
void UpdateScene::loadPoint(int p) {
    return;
	CCDirector *pDirector = CCDirector::sharedDirector();
    CCSize vs = pDirector->getVisibleSize();
    int k = p/10;
    int initX = 40; 
    int initY = vs.height-50;
    int offX = 40;
    while(k > nodeNum) {
		CCLog("add Soldier");
        CCSprite *s = CCSprite::create("soldier3.png");
        s->setPosition(ccp(initX+offX*nodeNum, initY));
        s->setScale(0.5);
		addChild(s);
		s->runAction(CCRepeatForever::create(CCSequence::create(CCMoveBy::create(0.3, ccp(5, 0)), CCMoveBy::create(0.3, ccp(-5, 0)), NULL)));
		s->runAction(CCRepeatForever::create(CCSequence::create(CCRotateBy::create(0.4, -10), CCRotateBy::create(0.4, 10), NULL)));
        nodeNum++;
    }
}
Example #11
0
bool FSAlertLayer::init()
{
    // half clear black bgcolor
    if (! CCLayerColor::initWithColor(ccc4(0, 0, 0, 100))) {
        return false;
    }
    
    CCDirector* pDirector = CCDirector::sharedDirector();
    pDirector->getTouchDispatcher()->addTargetedDelegate(this, kCCMenuHandlerPriority, true);
    
    CCSize vsize = pDirector->getVisibleSize();
    
    // bg
    CCSprite* frame = CCSprite::create("dialog_yellow.png");
    frame->setTag(FSAlertLayerTagFrame);
    frame->setPosition(ccp(vsize.width / 2, vsize.height / 2));
    this->addChild(frame);
    
    return true;
}
bool MPTitleLayer::init()
{
	CCDirector * director = CCDirector::sharedDirector();

    CCPoint origin = director->getVisibleOrigin();

	float h = director->getVisibleSize().height;
	float w = director->getVisibleSize().width;

//    CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
//    CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
    
    // Scene title
    CCLabelTTF * pLabel = CCLabelTTF::create("Title Scene", "Arial", TITLE_FONT_SIZE);
    pLabel->setPosition(
		ccp(origin.x + w/2, origin.y + h - pLabel->getContentSize().height)
	);
    this->addChild(pLabel, 1);
    
	// Layout the selectable labels.
    
	int yInc = 70;
	int xPos = w/2;
	int yPos = h - 2* yInc;
    
	// Box2D menu item label
    CCLabelTTF * box2DLabel = CCLabelTTF::create("Box 2D Scene", "Arial", TITLE_FONT_SIZE);
    box2DLabel->setPosition(CCPointZero);
    CCMenuItemLabel * box2DItem = 
		CCMenuItemLabel::create(box2DLabel, this, menu_selector(MPTitleLayer::selectBox2D));
	box2DItem->setPosition(xPos, yPos);

	// GUI Test menu item label
	yPos -= yInc;
    CCLabelTTF * guiTestLabel = CCLabelTTF::create("GUI Test Scene", "Arial", TITLE_FONT_SIZE);
    guiTestLabel->setPosition(CCPointZero);
    CCMenuItemLabel * guiTestItem = 
		CCMenuItemLabel::create(guiTestLabel, this, menu_selector(MPTitleLayer::selectGuiTest));
	guiTestItem->setPosition(xPos, yPos);
    
    // Audio Button
	yPos -= yInc;
    CCLabelTTF * audioLabel = CCLabelTTF::create("Audio Scene", "Arial", TITLE_FONT_SIZE);
    audioLabel->setPosition(CCPointZero);
    CCMenuItemLabel * audioItem = 
		CCMenuItemLabel::create(audioLabel, this, menu_selector(MPTitleLayer::selectAudio));
	audioItem->setPosition(xPos, yPos);
    
    // Map Button
	yPos -= yInc;
    CCLabelTTF * mapLabel = CCLabelTTF::create("Map Scene", "Arial", TITLE_FONT_SIZE);
    mapLabel->setPosition(CCPointZero);    
    CCMenuItemLabel * mapItem = 
		CCMenuItemLabel::create(mapLabel, this, menu_selector(MPTitleLayer::selectMap));
	mapItem->setPosition(xPos, yPos);
    
    // Turner Map Button
	yPos -= yInc;
    CCLabelTTF* turnerMapLabel = CCLabelTTF::create("Turner Map Scene", "Arial", TITLE_FONT_SIZE);
    turnerMapLabel->setPosition(CCPointZero);    
    CCMenuItemLabel * turnerMapItem = 
		CCMenuItemLabel::create(turnerMapLabel, this, menu_selector(MPTitleLayer::selectTurnerMap));
	turnerMapItem->setPosition(xPos, yPos);    
    
	// Close button
    CCMenuItemImage * closeItem = 
		CCMenuItemImage::create("CloseNormal.png", "CloseSelected.png", this, menu_selector(MPTitleLayer::menuCloseCallback));
	closeItem->setPosition(
		ccp( origin.x + w - closeItem->getContentSize().width/2 ,
             origin.y + closeItem->getContentSize().height/2
		) 
	);
    
	// Menu container
    CCMenu * menu = CCMenu::create(box2DItem, guiTestItem, audioItem, mapItem, turnerMapItem, closeItem, NULL);
    menu->setPosition(CCPointZero);
    this->addChild(menu, 1);
    
    return true;
}
bool ChoosePackageScene::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !CCLayer::init() )
    {
        return false;
    }

    setKeypadEnabled(true);

    CCDirector *director = CCDirector::sharedDirector();
    LayoutManager *layoutManager = LayoutManager::getInstance();
    CCRect visibleRect = layoutManager->getVisibleRect();

    m_Background = CCSprite::create("bg_common.jpg");
    m_Background->retain();
    m_Background->setPosition(director->getVisibleOrigin() + director->getVisibleSize() / 2);
    addChild(m_Background);

    CCSprite *sprite = CCSprite::create("stage_select.png");
    sprite->setPosition(ccp(visibleRect.origin.x + visibleRect.size.width / 2, 630));
    addChild(sprite);

    // Create the page view
    int pageViewHeight = 556;
    int pageWidth = 336;
    LGPageView *pageView = LGPageView::create();
    pageView->setTouchEnabled(true);
    pageView->setSize(CCSizeMake(visibleRect.size.width, pageViewHeight));
    pageView->setPosition(CCSizeMake(visibleRect.origin.x,  + visibleRect.origin.y + (visibleRect.size.height - pageViewHeight) / 2));
    pageView->setPageWidth(pageWidth);
    pageView->setIndicatorEnable(true);

    StageManager *stageManager = StageManager::getInstance();
    for (int i = 0; i < sizeof(PACKAGE_IMAGE) / sizeof(PACKAGE_IMAGE[0]); ++i)
    {
        Layout *layout = Layout::create();
        layout->setSize(CCSizeMake(pageWidth, pageView->getSize().height));

        UIImageView *imageView = UIImageView::create();
        imageView->loadTexture(PACKAGE_IMAGE[i]);
        imageView->setPosition(ccp(layout->getRect().size.width / 2, layout->getRect().size.height / 2));
        imageView->setTag(i);
        imageView->addReleaseEvent(this, coco_releaseselector(ChoosePackageScene::selectPackageCallback));
        imageView->setTouchEnabled(true);
        layout->addChild(imageView);

        ccFontDefinition strokeTextDef;
        strokeTextDef.m_fontSize = 100;
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
        strokeTextDef.m_fontName = "Lithograph";
#else
        strokeTextDef.m_fontName = "fonts/Lithograph.ttf";
#endif
        strokeTextDef.m_stroke.m_strokeEnabled = true;
        strokeTextDef.m_stroke.m_strokeColor = LayoutManager::getInstance()->DefaultStroke;
        strokeTextDef.m_stroke.m_strokeSize = 30;
        strokeTextDef.m_fontFillColor = ccWHITE;
        CCLabelTTF *labelStage = CCStrokeLabel::createWithFontDefinition(CCString::createWithFormat(" %d ", (i + 1))->getCString(), strokeTextDef);
        labelStage->setPosition(ccp(layout->getRect().size.width / 2, layout->getRect().size.height / 2));
        layout->addCCNode(labelStage);

        strokeTextDef.m_fontSize = 40;
        strokeTextDef.m_stroke.m_strokeSize = 16;
        CCLabelTTF *labelCompletion = CCStrokeLabel::createWithFontDefinition(CCString::createWithFormat(" %d/%d ", stageManager->getCompletedStageCount(i), stageManager->getStageCount(i))->getCString(), strokeTextDef);
        labelCompletion->setPosition(ccp(layout->getRect().size.width / 2, layout->getRect().size.height / 2 - labelStage->getContentSize().height / 2 - labelCompletion->getContentSize().height / 2));
        layout->addCCNode(labelCompletion);

        m_LabelCompletions->addObject(labelCompletion);

        pageView->addPage(layout);
    }

    UILayer *pUiLayer = UILayer::create();
    pUiLayer->addWidget(pageView);
    addChild(pUiLayer);
    pUiLayer->scheduleUpdate();

    CCMenuItemImage *pBack = CCMenuItemImage::create("back.png", NULL, this, menu_selector(ChoosePackageScene::backCallback));
    pBack->setAnchorPoint(CCPointZero);
    pBack->setPosition(ccp(visibleRect.origin.x + 18, visibleRect.origin.y + 12));

    CCMenu *pMenu = CCMenu::create(pBack, NULL);
    pMenu->setAnchorPoint(CCPointZero);
    pMenu->setPosition(CCPointZero);
    addChild(pMenu);

    return true;
}