コード例 #1
0
void GameObjMap::AddStar()
{
	m_arrStars1 = Array::create();
	m_arrStars2 = Array::create();
	for (int i = 0; i < 5; i++)
	{
		GameObjStar* obj = new GameObjStar();
		obj->setPosition(ccp(172 + 192 * i, 350));
		m_arrStars1->addObject(obj);
		m_pBg1->addChild(obj, 3);

		GameObjStar* obj1 = new GameObjStar();
		obj1->setPosition(ccp(172 + 192 * i, 350));
		m_arrStars2->addObject(obj1);
		m_pBg2->addChild(obj1, 3);
	}
	m_arrStars1->retain();
	m_arrStars2->retain();
}
コード例 #2
0
// 计时器更新函数
void GameMain::update(float time){
    
    if(hero->state == 0){
        // 判断主角在奔跑的过程中,是否掉到没有路的位置了
        isherodrop();
    }
    
    if(1){
        // 判断是否顶到星星了
        Size size = Director::getInstance()->getVisibleSize();
        float fHeroWidth = hero->getContentSize().width;
        
        Point p1 = (map->getChildByTag(0))->getPosition();
        Point p2 = (map->getChildByTag(1))->getPosition();
        
        for(int i = 0;i < 5;i ++){
            if(p1.x <= fHeroWidth && (p1.x + size.width) >= fHeroWidth){
                // 主角在地图1范围内
                GameObjStar *obj = (GameObjStar *)(map->stars1).at(i);
                if(obj->get_visable() && isCollion(Point(200, hero->getPosition().y + 62.5), Point(p1.x + 86 + 96 * i, 460), 40, 35, 18.25, 17.75)){
                    obj->set_visable(false);
                    gamemark->addnumber(200);
                }
            }else{
                // 主角在地图2范围内
                GameObjStar *obj = (GameObjStar *)(map->stars2).at(i);
                if(obj->get_visable() && isCollion(Point(200, hero->getPosition().y + 62.5), Point(p2.x + 86 + 96 * i, 460), 40, 35, 18.25, 17.75)){
                    obj->set_visable(false);
                    gamemark->addnumber(200);
                }
            }
        }
    }
    
}
コード例 #3
0
ファイル: GameMainScene.cpp プロジェクト: rchen95/cocos2d-js
void GameMain::update(float time){
    if(hero->state == 0)
        isherodrop();
    Point p1 = (map->getChildByTag(0))->getPosition();
    Point p2 = (map->getChildByTag(1))->getPosition();
    for(int i = 0;i < 5;i ++){
        if(p1.x <= 100 && (p1.x + 480) >= 100){
            GameObjStar *obj = (GameObjStar *)(map->stars1).at(i);
            if(obj->get_visable() && isCollion(Point(100,hero->getPosition().y + 62.5),Point(p1.x + 86 + 96 * i,280),40,35,18.25,17.75)){
                obj->set_visable(false);
                gamemark->addnumber(200);
            }
        }else{
            GameObjStar *obj = (GameObjStar *)(map->stars2).at(i);
            if(obj->get_visable() && isCollion(Point(100,hero->getPosition().y + 62.5),Point(p2.x + 86 + 96 * i,280),40,35,18.25,17.75)){
                obj->set_visable(false);
                gamemark->addnumber(200);
            }
        }
    }
}
コード例 #4
0
void GameMainLayer::update(float time)
{
    if (hero->state == 0)
        this->isHeroDrop();
    CCPoint pos1 = (map->getChildByTag(0))->getPosition();
    CCPoint pos2 = (map->getChildByTag(1))->getPosition();
    //检测主角是否吃到星星
    for (int i = 0; i < 5; i++) {
        if (pos1.x <= 100 && (pos1.x + 480) >= 100) {
            GameObjStar *star = (GameObjStar *)(map->stars1)->objectAtIndex(i);
            if (star->get_visible() && isCollision(ccp(100,hero->getPosition().y + 62.5), ccp(pos1.x + 86 + 96*i, 280), 40, 35, 18.25, 17.75)) {
                star->set_visible(false);
                gameMark->addNumber(100);
            }
        } else {
            GameObjStar *star = (GameObjStar *)(map->stars2)->objectAtIndex(i);
            if (star->get_visible() && isCollision(ccp(100,hero->getPosition().y + 62.5), ccp(pos2.x + 86 + 96*i, 280), 40, 35, 18.25, 17.75)) {
                star->set_visible(false);
                gameMark->addNumber(100);
            }
        }
    }
}
コード例 #5
0
ファイル: GameObjMap.cpp プロジェクト: Ratel13/book-code
void GameObjMap::onEnter(){
    CCNode::onEnter();
    Size size = Director::getInstance()->getVisibleSize();
    this->setContentSize(Size(960,320));
    
    Sprite* bg1 = Sprite::create("back_1.png");
    //bg1->setScale(0.5);
    bg1->setAnchorPoint(Point(0,1));
    bg1->setPosition(Point(0, size.height / 2) );
    this->addChild(bg1,0,0);
    Sprite* bgdi1 = Sprite::create("back_5.png");
    bgdi1->setAnchorPoint(Point(0,0));
    bgdi1->setPosition(Point(0,-124) );
    bg1->addChild(bgdi1,1);
    Sprite* bg2 = Sprite::create("back_1.png");
    //bg2->setScale(0.5);
    bg2->setAnchorPoint(Point(0,1));
    bg2->setPosition(Point(size.width, size.height / 2) );
    this->addChild(bg2,0,1);
    Sprite* bgdi2 = Sprite::create("back_5.png");
    bgdi2->setAnchorPoint(Point(0,0));
    bgdi2->setPosition(Point(0,-124) );
    bg2->addChild(bgdi2,1);
    bg1->runAction(CCSequence::create(MoveBy::create(10,Point(-960,0)),
                                      CallFuncN::create(CC_CALLBACK_1(GameObjMap::bg1change,this)),
                                      NULL));
    bg2->runAction(CCSequence::create(MoveBy::create(20,Point(-1920,0)),
                                      CallFuncN::create(CC_CALLBACK_1(GameObjMap::bg2change,this)),
                                      NULL));
    stars1 = __Array::create();
    stars2 = __Array::create();
    for(int i = 0;i < 5;i ++){
        GameObjStar* obj = new GameObjStar();
        obj->setPosition(Point(172 + 192 * i,350));
        stars1->addObject(obj);
        bg1->addChild(obj,3);
        obj = new GameObjStar();
        obj->setPosition(Point(172 + 192 * i,350));
        stars2->addObject(obj);
        bg2->addChild(obj,3);
    }
    stars1->retain();
    stars2->retain();
    
    for(int i = 0;i < 7;i ++){
        Sprite* roaddi;
        Sprite* plant;
        if(bg1shu[i] != -1){
           Sprite* road;
           switch(bg1shu[i]){
            case 0:
                plant = Sprite::create("back_2.png");
                plant->setAnchorPoint(Point(0.5,0));
                plant->setPosition( Point(128 * i + 64,117) );
                bg1->addChild(plant,1);
                road = Sprite::create("road_2.png");
                road->setAnchorPoint(Point(0,0));
                road->setPosition( Point(128 * i,0) );
                roaddi = Sprite::create("road_3.png");
                roaddi->setAnchorPoint(Point(0,1));
                roaddi->setPosition( Point(128 * i,0) );
                bg1->addChild(roaddi,1);
                break;
            case 1:
                road = Sprite::create("road_1.png");
                road->setAnchorPoint(Point(0,0));
                road->setPosition( Point(26 + 128 * i,0) );
                roaddi = Sprite::create("road_4.png");
                
                roaddi->setAnchorPoint(Point(0,1));
                roaddi->setPosition( Point(26 + 128 * i,0) );
                bg1->addChild(roaddi,1);
                break;
            case 2:
                plant = Sprite::create("enemy.png");
                plant->setAnchorPoint(Point(0.5,0));
                plant->setPosition( Point(128 * i + 64,112) );
                bg1->addChild(plant,1);
                road = Sprite::create("road_1.png");
                road->setFlippedX(true);
                road->setAnchorPoint(Point(0,0));
                road->setPosition( Point(128 * i,0) );
                roaddi = CCSprite::create("road_4.png");
                roaddi->setFlippedX(true);
                roaddi->setAnchorPoint(Point(0,1));
                roaddi->setPosition( Point(128 * i,0) );
                bg1->addChild(roaddi,1);
                break;
            case 3:
                road = Sprite::create("road_5.png");
                road->setAnchorPoint(Point(0,0));
                road->setPosition( Point(128 * i,0) );
                break;
            
           }
           bg1->addChild(road,1);
        }
        if(bg2shu[i] != -1){
           Sprite* road1;
           switch(bg2shu[i]){
            case 0:
                road1 = Sprite::create("road_2.png");
                road1->setAnchorPoint(Point(0,0));
                road1->setPosition( Point(128 * i,0) );
                roaddi = Sprite::create("road_3.png");
                
                roaddi->setAnchorPoint(Point(0,1));
                roaddi->setPosition( Point(128 * i,0) );
                bg2->addChild(roaddi,1);
                break;
            case 1:
                plant = Sprite::create("back_3.png");
                plant->setAnchorPoint(Point(0.5,0));
                plant->setPosition( Point(128 * i + 128,117) );
                bg2->addChild(plant,1);
                road1 = Sprite::create("road_1.png");
                road1->setAnchorPoint(Point(0,0));
                road1->setPosition( Point(26 + 128 * i,0) );
                roaddi = Sprite::create("road_4.png");
                
                roaddi->setAnchorPoint(Point(0,1));
                roaddi->setPosition( Point(26 + 128 * i,0) );
                bg2->addChild(roaddi,1);
                break;
            case 2:
                road1 = Sprite::create("road_1.png");
                road1->setFlippedX(true);
                road1->setAnchorPoint(Point(0,0));
                road1->setPosition( Point(128 * i,0) );
                roaddi = Sprite::create("road_4.png");
                roaddi->setFlippedX(true);
                roaddi->setAnchorPoint(Point(0,1));
                roaddi->setPosition( Point(128 * i,0) );
                bg2->addChild(roaddi,1);
                break;
            case 3:
                road1 = Sprite::create("road_5.png");
                road1->setAnchorPoint(Point(0,0));
                road1->setPosition( Point(128 * i,0) );
                break;
                
            }
            bg2->addChild(road1,1);
        }
    }
    state = 0;
}
コード例 #6
0
ファイル: GameObjMap.cpp プロジェクト: JoeHu/book-code
void GameObjMap::onEnter(){
    CCNode::onEnter();
    CCSize size = CCDirector::sharedDirector()->getWinSize();
    this->setContentSize(CCSizeMake(960,320));
    //背景初始化
    CCSprite* bg1 = CCSprite::create("back_1.png");
    bg1->setScale(0.5);
    bg1->setAnchorPoint(ccp(0,1));
    bg1->setPosition(ccp(0, size.height) );
    this->addChild(bg1,0,0);
    CCSprite* bgdi1 = CCSprite::create("back_5.png");
    bgdi1->setAnchorPoint(ccp(0,0));
    bgdi1->setPosition(ccp(0,-124) );
    bg1->addChild(bgdi1,1);
    CCSprite* bg2 = CCSprite::create("back_1.png");
    bg2->setScale(0.5);
    bg2->setAnchorPoint(ccp(0,1));
    bg2->setPosition(ccp(size.width, size.height) );
    this->addChild(bg2,0,1);
    CCSprite* bgdi2 = CCSprite::create("back_5.png");
    bgdi2->setAnchorPoint(ccp(0,0));
    bgdi2->setPosition(ccp(0,-124) );
    bg2->addChild(bgdi2,1);
    bg1->runAction(CCSequence::create(CCMoveBy::create(10,ccp(-480,0)),CCCallFuncN::create(this, callfuncN_selector(GameObjMap::bg1change)),NULL));
    bg2->runAction(CCSequence::create(CCMoveBy::create(20,ccp(-960,0)),CCCallFuncN::create(this, callfuncN_selector(GameObjMap::bg2change)),NULL));
    stars1 = CCArray::create(5);
    stars2 = CCArray::create(5);
    for(int i = 0;i < 5;i ++){
        GameObjStar* obj = new GameObjStar();
        obj->setPosition(ccp(172 + 192 * i,350));
        stars1->addObject(obj);
        bg1->addChild(obj,3);
        obj = new GameObjStar();
        obj->setPosition(ccp(172 + 192 * i,350));
        stars2->addObject(obj);
        bg2->addChild(obj,3);
    }
    stars1->retain();
    stars2->retain();
    //星星,植物等大图素的添加
    for(int i = 0;i < 7;i ++){
        CCSprite* roaddi;
        CCSprite* plant;
        if(bg1shu[i] != -1){
           CCSprite* road;
           switch(bg1shu[i]){
            case 0:
                plant = CCSprite::create("back_2.png");
                plant->setAnchorPoint(ccp(0.5,0));
                plant->setPosition( ccp(128 * i + 64,117) );
                bg1->addChild(plant,1);
                road = CCSprite::create("road_2.png");
                road->setAnchorPoint(ccp(0,0));
                road->setPosition( ccp(128 * i,0) );
                roaddi = CCSprite::create("road_3.png");
                roaddi->setAnchorPoint(ccp(0,1));
                roaddi->setPosition( ccp(128 * i,0) );
                bg1->addChild(roaddi,1);
                break;
            case 1:
                road = CCSprite::create("road_1.png");
                road->setAnchorPoint(ccp(0,0));
                road->setPosition( ccp(26 + 128 * i,0) );
                roaddi = CCSprite::create("road_4.png");
                
                roaddi->setAnchorPoint(ccp(0,1));
                roaddi->setPosition( ccp(26 + 128 * i,0) );
                bg1->addChild(roaddi,1);
                break;
            case 2:
                plant = CCSprite::create("enemy.png");
                plant->setAnchorPoint(ccp(0.5,0));
                plant->setPosition( ccp(128 * i + 64,112) );
                bg1->addChild(plant,1);
                road = CCSprite::create("road_1.png");
                road->setFlipX(true);
                road->setAnchorPoint(ccp(0,0));
                road->setPosition( ccp(128 * i,0) );
                roaddi = CCSprite::create("road_4.png");
                roaddi->setFlipX(true);
                roaddi->setAnchorPoint(ccp(0,1));
                roaddi->setPosition( ccp(128 * i,0) );
                bg1->addChild(roaddi,1);
                break;
            case 3:
                road = CCSprite::create("road_5.png");
                road->setAnchorPoint(ccp(0,0));
                road->setPosition( ccp(128 * i,0) );
                break;
            
           }
           bg1->addChild(road,1);
        }
        if(bg2shu[i] != -1){
           CCSprite* road1;
           switch(bg2shu[i]){
            case 0:
                road1 = CCSprite::create("road_2.png");
                road1->setAnchorPoint(ccp(0,0));
                road1->setPosition( ccp(128 * i,0) );
                roaddi = CCSprite::create("road_3.png");
                
                roaddi->setAnchorPoint(ccp(0,1));
                roaddi->setPosition( ccp(128 * i,0) );
                bg2->addChild(roaddi,1);
                break;
            case 1:
                plant = CCSprite::create("back_3.png");
                plant->setAnchorPoint(ccp(0.5,0));
                plant->setPosition( ccp(128 * i + 128,117) );
                bg2->addChild(plant,1);
                road1 = CCSprite::create("road_1.png");
                road1->setAnchorPoint(ccp(0,0));
                road1->setPosition( ccp(26 + 128 * i,0) );
                roaddi = CCSprite::create("road_4.png");
                
                roaddi->setAnchorPoint(ccp(0,1));
                roaddi->setPosition( ccp(26 + 128 * i,0) );
                bg2->addChild(roaddi,1);
                break;
            case 2:
                road1 = CCSprite::create("road_1.png");
                road1->setFlipX(true);
                road1->setAnchorPoint(ccp(0,0));
                road1->setPosition( ccp(128 * i,0) );
                roaddi = CCSprite::create("road_4.png");
                roaddi->setFlipX(true);
                roaddi->setAnchorPoint(ccp(0,1));
                roaddi->setPosition( ccp(128 * i,0) );
                bg2->addChild(roaddi,1);
                break;
            case 3:
                road1 = CCSprite::create("road_5.png");
                road1->setAnchorPoint(ccp(0,0));
                road1->setPosition( ccp(128 * i,0) );
                break;
                
            }
            bg2->addChild(road1,1);
        }
    }
    state = 0;
}