Esempio n. 1
0
void GameplayScene::loadMapFromFile(std::string filePath) {
    std::string type;
    int pos_x,pos_y;
    std::ifstream file;
    file.open(filePath.c_str());
    if( !file.good() ) return;
    while(1){
        file>>type;
        file>>pos_x;
        file>>pos_y;
        if (file.eof()) break;

        if(type=="Brick"){
            Brick *brick = new Brick(this,resourceManager.getTextureFromMap("Brick"));
            brick->setPosition(pos_x,pos_y);
            addEntity(brick);
            ball->addCollisionMaker(brick);
            this->entitiesLeft++;
        }
        if(type=="SolidBrick"){
            SolidBrick *solidBrick = new SolidBrick(this,resourceManager.getTextureFromMap("SolidBrick"));
            solidBrick->setPosition(pos_x,pos_y);
            addEntity(solidBrick);
            ball->addCollisionMaker(solidBrick);
            this->entitiesLeft++;
        }
        if(type=="Barrier"){
            Barrier *barrier = new Barrier(this,resourceManager.getTextureFromMap("Barrier"));
            barrier->setPosition(pos_x,pos_y);
            addEntity(barrier);
            ball->addCollisionMaker(barrier);
        }
    }
    file.close();
}
Esempio n. 2
0
void GameScene::addTower(Vec2 pos)
{
    Barrier* barrier = Barrier::create("tower.png", 5, 2);
    barrier->setPosition(pos.x,pos.y+60);
    float time = (pos.y+60)/winsize.height*20;
    auto moveAct = MoveTo::create(time, Vec2(pos.x,ENEMY_MIN_POS));
    auto funcAct = CallFuncN::create(CC_CALLBACK_1(GameScene::removeBarrier, this));
    barrier->runAction(Sequence::create(moveAct,funcAct, NULL));
    barrierVec.push_back(barrier);
    addChild(barrier,Game_Layer_Tank);
}