Пример #1
0
    void renderIcon(const String &data, uint16_t column, uint16_t row) {
        uint32_t xOffset = column * _canvasWidth;
        uint32_t yOffset = row * _canvasHeight;

        _canvas->save();
        _canvas->translate(xOffset / ((float)_canvasWidth / (float)_originalWidth), yOffset / ((float)_canvasHeight / (float)_originalHeight));

        Rc<draw::Path> path;
        if (data.compare(0, 7, "path://") == 0) {
            path = Rc<draw::Path>::create(data.substr(7));
        } else {
            path = Rc<draw::Path>::create(FilePath(data));
        }
        if (!path) {
            return;
        }

        path->setFillColor(Color4B(255, 255, 255, 255));
        path->drawOn(_canvas);

        _canvas->restore();
    }
Пример #2
0
bool GameScene::init()
{
	if ( !Layer::init() )
	{
		return false;
	}

	Size visibleSize = Director::getInstance()->getVisibleSize();
	Point origin = Director::getInstance()->getVisibleOrigin();

	//设置触摸事件监听
	auto touchListener = EventListenerTouchOneByOne::create();
	touchListener->onTouchBegan = CC_CALLBACK_2(GameScene::onTouchBegan, this);
	touchListener->onTouchEnded = CC_CALLBACK_2(GameScene::onTouchEnded, this);
	_eventDispatcher->addEventListenerWithSceneGraphPriority(touchListener, this);

	//加入游戏背景
	auto layerColorBG = LayerColor::create(Color4B(180, 170, 160, 255));
	this->addChild(layerColorBG);

	//创建分数
	auto cardNumberTitle = LabelTTF::create("SCORE","Consolas",80);
	cardNumberTitle->setPosition(Point(visibleSize.width/2 + 340, visibleSize.height/2 + 130));
	addChild(cardNumberTitle);

	score = 0;
	cardNumberTTF = LabelTTF::create("0", "Consolas", 70);
	cardNumberTTF->setPosition(Point(visibleSize.width/2 + 340, visibleSize.height/2 - 100));
	addChild(cardNumberTTF);

	//创建4X4卡片
	createCardSprite(visibleSize);

	//初始时生成两个2
	createCardNumber();
	createCardNumber();

	return true;
}
Пример #3
0
// on "init" you need to initialize your instance
bool MainLoadingScene::init()
{
    if ( !Scene::init() )
    {
        return false;
    }
    
    LayerColor *layer = LayerColor::create();
    layer->initWithColor(Color4B(255, 255, 255, 255), VisibleRect::right().x , VisibleRect::top().y);
    layer->setPosition(VisibleRect::center());
    layer->setAnchorPoint(Vec2(0.5f, 0.5f));
    layer->setIgnoreAnchorPointForPosition(false);
    this->addChild(layer, 0);
    
    Sprite *fondo = Sprite::create("fondo.png");
    fondo->setPosition(VisibleRect::center());
    this->addChild(fondo);

    
    Sprite *sprite = Sprite::create("logo.png");
    sprite->setPosition(VisibleRect::center());
    this->addChild(sprite);
    
    Label *progress = Label::createWithTTF ("Kargatzen ari da.\nMesedez, minutu pare bat itxaron.", "fonts/PT_Sans-Web-Regular.ttf", 10);
    progress->setPosition(Vec2(VisibleRect::center().x, VisibleRect::bottom().y + 12));
    progress->setAnchorPoint(Vec2(0.5,0.5));
    progress->setColor(Color3B(0,0,0));
    addChild(progress);
    
    loading = Sprite::create("loading.png");
    loading->setPosition(Vec2(VisibleRect::center().x, VisibleRect::bottom().y + progress->getContentSize().height + loading->getContentSize().height / 2));
    addChild(loading);
    
    ActionInterval* rotate = RotateBy::create(5.0f, 360.0f);
    RepeatForever *repeat = RepeatForever::create(rotate);
    loading->runAction(repeat);
    
	return true;
}
Пример #4
0
MainLayer::MainLayer()
{
    setTouchEnabled(true);
    setTouchMode(Touch::DispatchMode::ONE_BY_ONE);
    
    auto sprite = Sprite::create(s_pathGrossini);
    
    auto layer = LayerColor::create(Color4B(255,255,0,255));
    addChild(layer, -1);
        
    addChild(sprite, 0, kTagSprite);
    sprite->setPosition( Point(20,150) );
    
    sprite->runAction( JumpTo::create(4, Point(300,48), 100, 4) );
    
    layer->runAction( RepeatForever::create(
                                Sequence::create(
                                        FadeIn::create(1),
                                        FadeOut::create(1),
                                        NULL)
                      )); 
}
Пример #5
0
bool TetrisGameAreaLayer::init()
{
	LayerColor::initWithColor(Color4B(255, 100, 100, 255));
	auto keyListener = EventListenerKeyboard::create();
	keyListener->setEnabled(true);
	keyListener->onKeyReleased = std::bind(&TetrisGameAreaLayer::onKeyReleased, this, std::placeholders::_1,std::placeholders::_2);
	keyListener->onKeyPressed = std::bind(&TetrisGameAreaLayer::onKeyDown, this, std::placeholders::_1, std::placeholders::_2);
	_eventDispatcher->addEventListenerWithSceneGraphPriority(keyListener, this);
	auto dtor = Director::getInstance();
	Size  vSize = dtor->getVisibleSize();
	Vec2 org = dtor->getVisibleOrigin();
	//left bottom
	Vec2 vlb(org.x + KWBorder, org.y + KHBorder);
	int areaHeight = vSize.height * KAreaHRationInVisible;
	setContentSize(Size(areaHeight / 2 - 2 * KWBorder, areaHeight - 4 * KWBorder));
	setAnchorPoint(Vec2(0 ,0));
	setPosition(vlb);
	initBlockRectSprite();
	//schedule(schedule_selector(TetrisGameAreaLayer::onBlockUpdate), 0.0);
	scheduleUpdate();
	return true;
}
Пример #6
0
// on "init" you need to initialize your instance
void UILayer::init(cocos2d::Node* parent) {
    
    Layer = this;
    
    auto vis = Director::getInstance()->getOpenGLView()->getVisibleRect();
    auto height = vis.size.height - VisibleRect::top().y;
    
    mLayer = LayerColor::create(Color4B(0x1E,0xB5,0xC7,0xFF), VisibleRect::right().x, height);
    parent->addChild(mLayer, 1500);
    
    mLayer->setPositionY(VisibleRect::top().y);
    
    TTFConfig config("fonts/Montserra.ttf",15);
    mFileNameLabel = Label::createWithTTF(config,"");
    mFileNameLabel->setPosition(0,30);
    mLayer->addChild(mFileNameLabel);
    
    auto uiLayer = new UIColorEditor();
    uiLayer->init(mLayer);

    setFileName("untitled");
}
Пример #7
0
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
    if ( !LayerColor::initWithColor(Color4B(255,255,255,255)) )
    {
        return false;
    }
    
    Size visibleSize = Director::getInstance()->getVisibleSize();
    
    //创建精灵
    auto player = Sprite::create("Player.png", Rect(0, 0, 27, 40));
	player->setPosition(Point(player->getContentSize().width/2, visibleSize.height / 2));
	this->addChild(player, 0);
    
    //更新函数
    this->schedule(schedule_selector(HelloWorld::gameLogic), 1.0f);
    this->scheduleUpdate();
    
    CocosDenshion::SimpleAudioEngine::getInstance()->playBackgroundMusic("background-music-aac.caf");
    
    return true;
}
bool FrameLayer::init()
{
	if (!LayerColor::initWithColor(Color4B(0, 0, 0, 0)))
	{
		return false;
	}
	auto l1 = Sprite::create("frame/l.png");
	auto l2 = Sprite::create("frame/l.png");


	l1->setPosition(45, 360);
	this->addChild(l1);

	l2->setPosition(1280-45, 360);
	this->addChild(l2);





	return true;
}
Пример #9
0
void PopupLayer::setPublishLotteryContext(Size size)
{
	//添加转盘
	m_turnBg = Sprite::create("LotteryTurn/turn_bg.png");
	m_turnBg->setPosition(Vec2(winSize.width / 2, winSize.height / 2));
	addChild(m_turnBg);

	//添加指针
	auto arrNor = Sprite::create("LotteryTurn/turn_arrow.png");
	arrNor->setPosition(Vec2(winSize.width / 2, winSize.height * 0.557));
	arrNor->setScale(0.5);
	addChild(arrNor);

	//添加中奖之后的简单界面
	awardLayer = LayerColor::create(Color4B(0, 0, 0, 100));
	awardLayer->setPosition(Point::ZERO);
	awardLayer->setTag(100);
	addChild(awardLayer, 10);
	awardLayer->setVisible(false);
	addPlayersInfo(size);
	
}
Пример #10
0
bool HelloWorld::init()
{
	if (!LayerColor::initWithColor(Color4B(255, 255, 255, 255)))
	{
		return false;
	}
	tmap = TMXTiledMap::create("TileMaps/TestDesert.tmx");
	this->addChild(tmap, 0, 11);

	auto objects = tmap->getObjectGroup("Objects");

	ValueMap spawnPoint = objects->getObject("SpawnPoint");

	int x = spawnPoint["x"].asInt();
	int y = spawnPoint["y"].asInt();

	dragonPosition = Vec2(x, y);

	this->createDragon();

	return true;
}
Пример #11
0
bool PRKitDemoScene::init()
{
    if(!Layer::init())
    {
        return false;
    }
    
    auto color_bg = LayerColor::create(Color4B(125, 125, 125, 125));
    addChild(color_bg);
    
    auto demo_info_label = Label::create(demo_info(), "Helvetica", 25, Size(500, 200), TextHAlignment::LEFT);
    this->addChild(demo_info_label);
    demo_info_label->setAnchorPoint(Point(0.0f, 1.0f));
    demo_info_label->setColor(Color3B(255, 255, 255));
    demo_info_label->setPosition(VisibleRect::leftTop() + Point(60, -60));
    
    auto backMenuItem = MenuItemImage::create("backNormal.png", "backSelected.png", CC_CALLBACK_1(PRKitDemoScene::backCallback, this));
    auto restartMenuItem = MenuItemImage::create("refreshNormal.png", "refreshSelected.png", CC_CALLBACK_1(PRKitDemoScene::restartCallback, this));
    
    restartMenuItem->setPosition(VisibleRect::rightTop() + Point(-200, -80));
    backMenuItem->setPosition(restartMenuItem->getPosition() + Point(90, 0));
    auto menu = Menu::create(backMenuItem, restartMenuItem, NULL);
    menu->setPosition(Point::ZERO);
    this->addChild(menu, 300);
    
    Vector2dVector polygonPoints;
    polygonPoints.push_back(Vector2d(100, 100));
    polygonPoints.push_back(Vector2d(200, 100));
    polygonPoints.push_back(Vector2d(300, 200));
    polygonPoints.push_back(Vector2d(400, 300));
    polygonPoints.push_back(Vector2d(500, 500));

    Texture2D *texture = Director::getInstance()->getTextureCache()->addImage("pattern1.png");
    PRFilledPolygon *filledPolygon = PRFilledPolygon::filledPolygonWithPointsAndTexture(polygonPoints, texture);
    addChild(filledPolygon);
    
    return true;
}
Пример #12
0
TextLayer::TextLayer(void)
: BaseTest()
{
	LayerColor *background = LayerColor::create( Color4B(32,128,32,255) );
	this->addChild(background,-20);
    
    _gridNodeTarget = NodeGrid::create();
    auto effect = getAction();
    _gridNodeTarget->runAction(effect);
    addChild(_gridNodeTarget, 0, kTagBackground);
    
    auto bg = Sprite::create(s_back3);
    _gridNodeTarget->addChild(bg, 0);
//  bg->setAnchorPoint( Vec2::ZERO );
    bg->setPosition(VisibleRect::center());

    auto grossini = Sprite::create(s_pathSister2);
    _gridNodeTarget->addChild(grossini, 1);
    grossini->setPosition( Vec2(VisibleRect::left().x+VisibleRect::getVisibleRect().size.width/3,VisibleRect::center().y) );
    auto sc = ScaleBy::create(2, 5);
    auto sc_back = sc->reverse();
    grossini->runAction( RepeatForever::create(Sequence::create(sc, sc_back, NULL) ) );

    auto tamara = Sprite::create(s_pathSister1);
    _gridNodeTarget->addChild(tamara, 1);
    tamara->setPosition( Vec2(VisibleRect::left().x+2*VisibleRect::getVisibleRect().size.width/3,VisibleRect::center().y) );
    auto sc2 = ScaleBy::create(2, 5);
    auto sc2_back = sc2->reverse();
    tamara->runAction( RepeatForever::create(Sequence::create(sc2, sc2_back, NULL)) );
    
    auto label = Label::createWithTTF((effectsList[actionIdx]).c_str(), "fonts/Marker Felt.ttf", 32);
    
    label->setPosition( Vec2(VisibleRect::center().x,VisibleRect::top().y-80) );
    addChild(label);
    label->setTag( kTagLabel );
    
    schedule( schedule_selector(TextLayer::checkAnim) );
}
Пример #13
0
bool PauseLayer::init()
{
    if (!Layer::init()) {
        return false;
    }

    const Size &size=Director::getInstance()->getWinSize();
    
    //灰色背景
    LayerColor* backLayerColor = LayerColor::create(Color4B(25, 25, 25, 125));
    this->addChild(backLayerColor);

    // 暂停
    MenuItemFont *menuItemPause = MenuItemFont::create("Continue", CC_CALLBACK_1(PauseLayer::menuContinueCallBack, this));
    menuItemPause->setPosition(Point(size.width / 2 - 100, size.height / 2));
   // 重新开始
    MenuItemFont *menuItemRestart = MenuItemFont::create("Restart", CC_CALLBACK_1(PauseLayer::menuRestartCallBack, this));
    menuItemRestart->setPosition(Point(size.width / 2 + 100, size.height / 2));
    Menu *menu=Menu::create(menuItemPause, menuItemRestart, NULL);
    menu->setPosition(Point::ZERO);
    this->addChild(menu);

//不声明 不定义 ontouchbegan的使用方法
//    auto callback = [](Touch * ,Event *)
//    {
//        return true;
//    };
//    auto listener = EventListenerTouchOneByOne::create();
//    listener->onTouchBegan = callback;
//    listener->setSwallowTouches(true);
//    _eventDispatcher->addEventListenerWithSceneGraphPriority(listener,this);
    EventListenerTouchOneByOne* listener = EventListenerTouchOneByOne::create();
    listener->onTouchBegan = CC_CALLBACK_2(PauseLayer::onTouchBegan, this);
    listener->setSwallowTouches(true);
    _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);

    return true;
}
Пример #14
0
// on "init" you need to initialize your instance
bool HelloWorld::init()
{

    if ( !LayerColor::initWithColor(Color4B(255,255,255,255)) )
    {
        return false;
    }
    
    /////////////////////////////
	auto pMenuItem = MenuItemFont::create("Action", CC_CALLBACK_1(HelloWorld::doAction, this));
	pMenuItem->setColor(Color3B::BLACK);

	auto pMenu = Menu::create(pMenuItem, nullptr);
	pMenu->setPosition(Vec2(240, 50));
	this->addChild(pMenu);

	pBall = Sprite::create("Images/r1.png");
	pBall->setPosition(Vec2(50, 100));
	pBall->setScale(0.7f);
	this->addChild(pBall);

	pMan = Sprite::create("Images/grossini.png");
	pMan->setPosition(Vec2(50, 150));
	pMan->setScale(0.5f);
	this->addChild(pMan);

	pWomen1 = Sprite::create("Images/grossinis_sister1.png");
	pWomen1->setPosition(Vec2(50, 220));
	pWomen1->setScale(0.5f);
	this->addChild(pWomen1);

	pWomen2 = Sprite::create("Images/grossinis_sister2.png");
	pWomen2->setPosition(Vec2(50, 280));
	pWomen2->setScale(0.5f);
	this->addChild(pWomen2);

    return true;
}
Пример #15
0
// on "init" you need to initialize your instance
bool Bug914Layer::init()
{
    // always call "super" init
    // Apple recommends to re-assign "self" with the "super" return value
    if (BugsTestBaseLayer::init())
    {
        setTouchEnabled(true);
        // ask director the the window size
        Size size = Director::getInstance()->getWinSize();
        LayerColor *layer;
        for( int i=0;i < 5;i++)
        {
            layer = LayerColor::create(Color4B(i*20, i*20, i*20,255));
            layer->setContentSize(Size(i*100, i*100));
            layer->setPosition(Point(size.width/2, size.height/2));
            layer->setAnchorPoint(Point(0.5f, 0.5f));
            layer->ignoreAnchorPointForPosition(false);
            addChild(layer, -1-i);
        }

        // create and initialize a Label
        LabelTTF *label = LabelTTF::create("Hello World", "Marker Felt", 64);
        MenuItem *item1 = MenuItemFont::create("restart", CC_CALLBACK_1(Bug914Layer::restart, this));

        Menu *menu = Menu::create(item1, NULL);
        menu->alignItemsVertically();
        menu->setPosition(Point(size.width/2, 100));
        addChild(menu);

        // position the label on the center of the screen
        label->setPosition(Point( size.width /2 , size.height/2 ));

        // add the label as a child to this Layer
        addChild(label);
        return true;
    }
    return false;
}
Пример #16
0
void CardSprite::enemyInit(int numbers, int wight, int height, float CardSpriteX, float CardSpriteY)
{
	number = numbers;

	layerColorBG = LayerColor::create(  Color4B(200, 190, 180, 255), wight-15, height-15);
	layerColorBG->setPosition(Point(CardSpriteX, CardSpriteY) );


	if(number >0 )
	{
		labTTFCardNumber = LabelTTF::create(__String::createWithFormat("%i", number)->getCString(), "HirakakuProN_WG", 100);
		labTTFCardNumber ->setPosition(Point(layerColorBG->getContentSize().width/2, layerColorBG->getContentSize().height/2));
		layerColorBG->addChild(labTTFCardNumber);
	}
	else
	{
		labTTFCardNumber = LabelTTF::create("", "HirakakuProN_WG", 100);
		labTTFCardNumber ->setPosition(Point(layerColorBG->getContentSize().width/2, layerColorBG->getContentSize().height/2));
		layerColorBG->addChild(labTTFCardNumber);
	}

	addChild(layerColorBG);
}
Пример #17
0
bool GDebugLoadScene::init()
{
    auto size = Director::getInstance()->getWinSize();
    auto layer = LayerColor::create(Color4B(255,255,255,255),size.width,size.height);
    this->addChild(layer);
    
    this->label_text = Label::createWithSystemFont("", "", 24);
    this->label_text->setTextColor(Color4B::BLACK);
    this->label_text->setPosition(size.width/3,size.height*0.6);
    this->label_text->setAnchorPoint(Vec2(0,0.5));
    this->addChild(this->label_text);
    
    this->label_file = Label::createWithSystemFont("", "", 20);
    this->label_file->setTextColor(Color4B::BLACK);
    this->label_file->setPosition(size.width/2,size.height*0.4);
    this->addChild( this->label_file);

    this->_num = 0;
    this->scheduleOnce(schedule_selector(GDebugLoadScene::loadBase), 0.3);
    this->schedule(schedule_selector(GDebugLoadScene::updateLabel), 0.3);
    
    return true;
}
Пример #18
0
bool MainMenuLayer::init()
{
    if( !CCLayerColor::initWithColor(Color4B(255, 255, 255, 255)) )
    {
        return false;
    }
    
    Size visibleSize = Director::getInstance()->getVisibleSize();
    Vec2 origin = Director::getInstance()->getVisibleOrigin();

    auto playbuttonItem = MenuItemImage::create("button_play.png", "button_play.png", CC_CALLBACK_1(MainMenuLayer::onMenuPlayButton, this));
    auto tutorialbuttonItem = MenuItemImage::create("button_tutorial.png", "button_tutorial.png", CC_CALLBACK_1(MainMenuLayer::onMenuTutorialButton, this));
    auto menubuttonItem = MenuItemImage::create("button_menu.png", "button_menu.png", CC_CALLBACK_1(MainMenuLayer::onMenuMenuButton, this));
	

    auto menu = Menu::create(playbuttonItem, tutorialbuttonItem, menubuttonItem, NULL);
    menu->alignItemsVerticallyWithPadding(20);
    menu->setPosition(Vec2(origin.x + visibleSize.width/2,
                           origin.y + visibleSize.height/2 - playbuttonItem->getContentSize().height/2));
    this->addChild(menu, 1);
    
    return true;
}
Пример #19
0
bool TRenderApplication::applicationDidFinishLaunching(){
    Director* director = Director::getInstance();
    EGLView* glView = EGLView::getInstance();
    director->setOpenGLView(glView);
    Size FrameSize = glView->getFrameSize();
    glView->setDesignResolutionSize(900,600,ResolutionPolicy::NO_BORDER);
    director->setDisplayStats(false);
    director->setAnimationInterval(1.0/60);
    SetFilePath(std::string("..\\resource\\"));
    
    Scene* scene = Scene::create();
    TBaseObject * worklayer = new TBaseObject;
    if(worklayer && worklayer->initWithColor(Color4B(0,100,100,255))){
		SetWorkScene((int)worklayer);
	worklayer->setScale(0.35f);
	worklayer->autorelease();
	scene->addChild(worklayer);
    }
    scene->setPositionX(-200);
    scene->setPositionY(100);
    director->runWithScene(scene);
    return true;
}
Пример #20
0
void PBase::initAdsBanner()
{
    if (m_adsLayer || Common::isAdsRemoved())
        return;

    Size adsSize = Common::getAdsSize();
    Vec2 adsLayerPosHide = Vec2(0, m_visibleRect.getMaxY() + adsSize.height + 5);

    m_adsLayer = LayerColor::create(Color4B(110, 110, 110, 125));
    m_adsLayer->setContentSize(Size(m_winSize.width, adsSize.height));
    m_adsLayer->ignoreAnchorPointForPosition(false);
    m_adsLayer->setAnchorPoint(Vec2(0, 1.0f));
    m_adsLayer->setPosition(adsLayerPosHide);
    m_adsLayerVisible = false;

    this->addChild(m_adsLayer, ZORDER_ADS_LAYER);

    refreshAdBanner(0);
    this->runAction(RepeatForever::create(
                        Sequence::createWithTwoActions(
                            DelayTime::create(0.2f),
                            CallFunc::create(CC_CALLBACK_0(PBase::refreshAdBanner, this, 0.2f)))));
}
Пример #21
0
bool CTextRichBasicTest::init()
{
    CTextRichTestSceneBase::init();
    setTitle("CTextRichBasicTest");
    setDescription("a basic text rich widget with a single line");

    CTextRich* pTextRich = CTextRich::create();
    pTextRich->insertElement("TEXT", "", 20);
    pTextRich->insertElement("Rich", "", 45);
    pTextRich->insertElement("And", "", 25, Color3B::RED);
    pTextRich->insertElement("cocos2d-x", "", 70, Color3B::BLUE);
    pTextRich->setPosition(Vec2(960/2, 640/2));
    pTextRich->reloadData();

    CColorView* pColor = CColorView::create(Color4B(255, 0, 0, 50));
    pColor->setContentSize(pTextRich->getContentSize());
    pColor->setPosition(Vec2(960/2, 640/2));

    m_pWindow->addChild(pColor);
    m_pWindow->addChild(pTextRich);

    return true;
}
Пример #22
0
void GuideLayer::initGuide()
{
	//遮罩
	auto mask = LayerColor::create(Color4B(255,255,255,200));

	//new clippingNode
	clippingNode = ClippingNode::create();
	addChild(clippingNode);

	//clipping config
	clippingNode->addChild(mask);
	clippingNode->setInverted(true);
	clippingNode->setAlphaThreshold(1.0f);
	
	//step
	setStep(1);

	//touch
	auto listener = EventListenerTouchOneByOne::create();
	listener->setSwallowTouches(true);// true:不向下传递  false:向下传递
	listener->onTouchBegan = CC_CALLBACK_2(GuideLayer::onTouchBegan,this);
	Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener,this);
}
Пример #23
0
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
    if ( !Layer::init() )
    {
        return false;
    }
	// 创建一个菜单按钮,用于读取文件中的内容
	auto* background = LayerColor::create(Color4B(255, 255, 255, 255));
	addChild(background);
	auto* readLabel = Label::create("read", "Arial", 56);
	readLabel->setColor(Color3B(0, 0, 0));
	auto* pReadLabel = MenuItemLabel::create(readLabel, this, menu_selector(HelloWorld::readCallback));
	auto* buttonReadLabel = Menu::create(pReadLabel, NULL);
	buttonReadLabel->setPosition(320, 260);
	addChild(buttonReadLabel);
	auto* saveLabel = Label::create("save", "Arial", 56);
	saveLabel->setColor(Color3B(0, 0, 0));
	auto* pSaveLabel = MenuItemLabel::create(saveLabel, this, menu_selector(HelloWorld::saveCallback));
	auto* buttonSaveLabel = Menu::create(pSaveLabel, NULL);
	buttonSaveLabel->setPosition(320, 100);
	addChild(buttonSaveLabel);
    return true;
}
Пример #24
0
bool GameLayer::init()
{
    if( !LayerColor::initWithColor( Color4B(250, 248, 238, 255)) )
    {
        return false;
    }
    
    _visibleSize = Director::getInstance()->getVisibleSize();
    _origin = Director::getInstance()->getVisibleOrigin();
    
    auto touchListener = EventListenerTouchOneByOne::create();
    touchListener->setSwallowTouches(true);
    touchListener->onTouchBegan = CC_CALLBACK_2(GameLayer::onTouchBegan, this);
    touchListener->onTouchEnded = CC_CALLBACK_2(GameLayer::onTouchEnded, this);
    Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(touchListener, this);
    
    addMapBg();
    
    addScore();
    
    schedule(schedule_selector(GameLayer::updateScore), 0.2f, kRepeatForever, 0);
    return true;
}
Пример #25
0
bool GameOver::init()
{
	if (!Layer::init())
	{
		return false;
	}

	_director = Director::getInstance();
	Size visibleSize = _director->getVisibleSize();
	Vec2 origin = _director->getVisibleOrigin();


	_background = LayerColor::create(Color4B(0, 0, 0, 255));
	_background->setPosition(Vec2(origin.x + visibleSize.width / 2, origin.y + visibleSize.height / 2));
	this->addChild(_background);

	auto label = Label::createWithTTF("GAME OVER", "fonts/Marker Felt.ttf", 96);

	label->setPosition(Vec2(origin.x + visibleSize.width / 2, origin.y + visibleSize.height / 2));
	this->addChild(label, 1);

	return true;
}
Пример #26
0
bool NovelLayer::init()
{
    if (!LayerColor::initWithColor(Color4B(0, 0, 0, 0))) {
        return false;
    }
    
    Size visibleSize = Director::getInstance()->getVisibleSize();
    setContentSize(visibleSize);

    
    // アトラス読み込み
//    auto cache = SpriteFrameCache::getInstance();
//    cache->addSpriteFramesWithFile("chat_images.plist","chat_images.png");
    
    //  touch callbacks
    auto dispatcher = Director::getInstance()->getEventDispatcher();
    auto listener = EventListenerTouchOneByOne::create();
    listener->setSwallowTouches(true);
    listener->onTouchBegan = [this](Touch* touch, Event* event) {
        if (this->_touchAbsorber != NULL) {
            this->_touchAbsorber->processTap();
        }
        return true;
    };
    dispatcher->addEventListenerWithSceneGraphPriority(listener, this);

    // skipボタン作成
    auto skipItem = MenuItemImage::create("ui/skip_button.png", "ui/skip_button.png", CC_CALLBACK_1(NovelLayer::_pushedSkipButton, this));
    skipItem->setAnchorPoint(Vec2(1.0f, 1.0f));
    skipItem->setPosition(Vec2(visibleSize.width - 20, visibleSize.height - 20));
    auto menu = Menu::create(skipItem, NULL);
    menu->setPosition(Vec2::ZERO);
    menu->setName("skip_menu");
    addChild(menu, 1);

    return true;
}
Пример #27
0
Node *TopData::createTopView()
{
    for (int i = 0; i < LEVEL_ELEMENT_COUNT; i++)
    {
        this->restElements[i] = this->levelDict->elements[i];
    }
    
    Point origin = Director::getInstance()->getVisibleOrigin();
    Size sceneSize = Director::getInstance()->getVisibleSize();
    
    Node *topNode = NULL;
    
    if (UserData::getInstance()->relaxed == 1)
    {
        topNode = CSLoader::createNode("TopRelaxedNode.csb");
    }
    else if (this->type == LEVEL_TYPE_ELEMENT)
    {
        topNode = CSLoader::createNode("TopResNode.csb");
        this->setupElementScoreNode(topNode, this->levelDict, Color4B(231, 194, 227, 255), -15);
    }
    else if (this->type == LEVEL_TYPE_CROWN)
    {
        topNode = CSLoader::createNode("TopCrownNode.csb");
    }
    else
    {
        topNode = CSLoader::createNode("TopScoreNode.csb");
    }
    
    auto background = topNode->getChildByName("BackgroundTop");
    float targetY = origin.y + sceneSize.height - background->getContentSize().height / 2;
    topNode->setPosition(origin.x + background->getContentSize().width / 2, targetY);
    topNode->setTag(MAIN_SCENE_TOP_NODE);
    
    return topNode;
}
Пример #28
0
bool BattleUICardBoard::init(){
    if (!Node::init()){
        return false;
    }
    
    _backgroundBoard = Sprite::createWithSpriteFrameName("battle_ui_cardBoard.png");
    _backgroundBoard->setAnchorPoint(Vec2(0, 0));
    _backgroundBoard->setPosition(0, 0);
    this->addChild(_backgroundBoard, 0);
    
    _nextCardLabel = Label::createWithSystemFont("下一个:", "Arial", 28);
    _nextCardLabel->enableOutline(Color4B(0, 0, 0, 255), 2);
    _nextCardLabel->setPosition(-55, 100);
    this->addChild(_nextCardLabel, 1);
    
    _battleWaterBar = BattleUIWaterBar::createBattleUIWaterBar(_battleLayer);
    _battleWaterBar->setPosition(15, 3);
    _backgroundBoard->addChild(_battleWaterBar, 1);
    
    _characterNameList = _battleLayer->getCharacterNameList();
    for (int characterNameIndex = 0; characterNameIndex < _characterNameList.size(); ++characterNameIndex){
        _characterNames.push(_characterNameList[characterNameIndex]);
    }
    
    for (int cardIndex = 0; cardIndex < 4; ++cardIndex){
        CharacterCard *card = CharacterCard::createCharacterCard(_characterNames.getNext(), _battleLayer, this);
        card->setPosition(_cardPosition[cardIndex]);
        this->addChild(card, 1);
        card->becomeReadyCard();
        card->setID(cardIndex);
        _readyCards.push_back(card);
    }
    
    _addNewNextCard();
    
    return true;
}
Пример #29
0
bool example00002::init()
{
    CCLOG("init method have been executed.");
    
    if(!LayerColor::initWithColor(Color4B(255,125,255,255)))
    {
        return false;
    }
    
    //_<_game logic start
    
    //create player
    Size visibleSize = Director::getInstance()->getWinSize();
    auto player = Sprite::create("player.png", Rect(0,0,27,40));
    player -> setPosition(Vec2(player->getContentSize().width /2 ,visibleSize.height / 2));
    this->addChild(player);
    
    //create listener
    auto listener = EventListenerTouchOneByOne::create();
    listener->setSwallowTouches(true);
    listener->onTouchBegan = [=](Touch* touch,Event* event)
    {
        return true;
    };
    listener->onTouchEnded = CC_CALLBACK_2(example00002::onTouchEnded,this);
    _eventDispatcher->addEventListenerWithSceneGraphPriority(listener,this);
    
    //execute schedule
    this->schedule(schedule_selector(example00002::gameLogic), 1.0f);
    
    //_>_game logic ended
    
    this->scheduleUpdate();
    
    CocosDenshion::SimpleAudioEngine::getInstance()->playBackgroundMusic("background-music-aac.caf");
    return true;
};
Пример #30
0
LabelFNTColorAndOpacity::LabelFNTColorAndOpacity()
{
    _time = 0;

    auto col = LayerColor::create( Color4B(128,128,128,255) );
    addChild(col, -10);
    
    auto label1 = Label::createWithBMFont("fonts/bitmapFontTest2.fnt", "Test");
    
    label1->setAnchorPoint( Point(0,0) );
    addChild(label1, 0, kTagBitmapAtlas1);
    auto fade = FadeOut::create(1.0f);
    auto fade_in = fade->reverse();
    auto seq = Sequence::create(fade, fade_in, NULL);
    auto repeat = RepeatForever::create(seq);
    label1->runAction(repeat);
    
    auto label2 = Label::createWithBMFont("fonts/bitmapFontTest2.fnt", "Test");
    label2->setAnchorPoint( Point::ANCHOR_MIDDLE );
    label2->setColor( Color3B::RED );
    addChild(label2, 0, kTagBitmapAtlas2);
    auto tint = Sequence::create(TintTo::create(1, 255, 0, 0),
        TintTo::create(1, 0, 255, 0),
        TintTo::create(1, 0, 0, 255),
        NULL);
    label2->runAction( RepeatForever::create(tint) );
    
    auto label3 = Label::createWithBMFont("fonts/bitmapFontTest2.fnt", "Test");
    label3->setAnchorPoint( Point(1,1) );
    addChild(label3, 0, kTagBitmapAtlas3);
    
    label1->setPosition( VisibleRect::leftBottom() );
    label2->setPosition( VisibleRect::center() );
    label3->setPosition( VisibleRect::rightTop() );
    
    schedule( schedule_selector(LabelFNTColorAndOpacity::step) );//:@selector(step:)];
}