Ejemplo n.º 1
0
void CCRookieGuide::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent) {
    if(m_anyTouchMode && m_shouldCheckRegion) {
        removeFromParent();
    } else if(m_clickedRegion) {
        m_clickedRegion->func->execute();
        removeFromParent();
    }
}
Ejemplo n.º 2
0
void LayerUserInfo::InitNormal()
{
    mBtnSendMsg->setTitleText(tools::local_string("send_friend_message", "发送消息"));
    mBtnDeleteFriend->setTitleText(tools::local_string("delete_friend","删除好友"));
    //本人
    if(mInfo.userid() == GDM->get_user_id())
    {
        mBtnSendMsg->setVisible(false);
        mBtnDeleteFriend->setVisible(false);
        mCheckboxHiteMoments->setVisible(false);
        mBtnConfirm->setVisible(false);
    }
    else
    {
        mBtnSendMsg->setVisible(false);
        mBtnSendMsg->addClickEventListener([&](Ref *ref)
                                           {
                                               if(!mIsFriend)
                                               {
                                                   sendAddFriend();
                                               }
                                               else
                                               {
                                                   
                                                   log("发送消息");
                                                   auto layer = dynamic_cast<LayerChat*>(SceneManager::get_layer_by_name(typeid(LayerChat).name()));
                                                   if(layer)
                                                   {
                                                       layer->removeFromParent();
                                                   }
                                                   
                                                   LayerChat* glc = LayerChat::createByFriend(mInfo);
                                                   glc->set_show_dir(LAYER_SHOW_DIRECTION::RIGHT_TO_LEFT);
                                                   AddGlobalLayer(glc);
                                                    
                                                   auto layer1 = dynamic_cast<LayerUserInfo*>(SceneManager::get_layer_by_name(typeid(LayerUserInfo).name()));
                                                   if(layer1)
                                                   {
                                                       layer1->removeFromParent();
                                                   }
                                                   
                                               }
                                           });
        
        mBtnDeleteFriend->setVisible(false);
        mBtnDeleteFriend->addClickEventListener([&](Ref *ref)
                                                {
                                                    sendDelFriend();
                                                });
        sendFriendList();
    }
}
Ejemplo n.º 3
0
void Bullet::update(float deltaTime)
{
	auto position = getPosition() + mVelocity * 10;
	setPosition(position);

	if (getPosition().x < -20 || getPosition().x > 660)
	{
		removeFromParent();
	}
	else if(getPosition().y < -20 || getPosition().y > 980)
	{
		removeFromParent();
	}

}
Ejemplo n.º 4
0
void LuckLayer::payCallBack(bool res)
{
	if (res)
	{
		Resource& resource = RunningData::getInstance()->getResource();
		switch (m_awardIndex)
		{
		case 0://gold 5w
			resource.addGold(50000);
			break;
		case 1://»¤¶Ü 5
			resource.addShield(15);
			break;
		case 2://±Øɱ 5
			resource.addUniqueKill(15);
			break;
		case 3://gold 10w
			resource.addGold(100000);
			break;
		case 4://»¤¶Ü 10
			resource.addShield(30);
			break;
		case 5://±Øɱ 10
			resource.addUniqueKill(30);
			break;
		default:
			break;
		}
		resource.save();
	}

	removeFromParent();
}
Ejemplo n.º 5
0
TextureMapperLayer::~TextureMapperLayer()
{
    for (auto* child : m_children)
        child->m_parent = nullptr;

    removeFromParent();
}
Ejemplo n.º 6
0
void SimplePanleLayer::onTouchEnded(Touch* touch, Event* event)
{
	if(isBuilt)
	{
		removeFromParent();
	}
}
Ejemplo n.º 7
0
void LayerGroupMenu::click_group_create(Ref* sender)
{
    if(click_group_create_) {
        click_group_create_();
    }
    removeFromParent();
}
Ejemplo n.º 8
0
void GoodUnit::updateView()
{
	if(_good == nullptr)
		return;
	auto intro = static_cast<Text*>(Helper::seekWidgetByName(_view, "Label_intro"));
	auto name = static_cast<Text*>(Helper::seekWidgetByName(_view, "Label_name"));
	auto price = static_cast<Text*>(Helper::seekWidgetByName(_view, "Label_price"));
	
	auto goodPan = static_cast<Layout*>(Helper::seekWidgetByName(_view, "Panel_item"));
	auto button = static_cast<Button*>(Helper::seekWidgetByName(_view, "Button_item"));
	auto image = static_cast<ImageView*>(Helper::seekWidgetByName(_view, "Image_item"));
	auto imageBg = static_cast<ImageView*>(Helper::seekWidgetByName(_view, "Image_bg"));
	auto num = static_cast<TextAtlas*>(Helper::seekWidgetByName(_view, "AtlasLabel"));

	_view->setContentSize(imageBg->getContentSize());
	num->setString(cocos2d::Value(_num).asString());
	auto view = _good->getView();
	view->retain();
	view->removeFromParent();
	view->setAnchorPoint(Vec2(0.16,0));
	image->addChild(view);
	view->release();

	name->setString(_good->getNickName());
	intro->setString(_good->getModelByName("introduce").asString());
	price->setString(/*a2u("价格: ")+*/cocos2d::Value(_price).asString()+a2u("元"));
	
}
Ejemplo n.º 9
0
void BalloonItemClick::onPressMenuClick(CCObject* pSender)
{
    BalloonSoundManager::sharedBalloonSoundManager()->playEffectPushBalloon();
	if (m_pBalloonItemDelegate && m_ulClickCounts > 0)
	{
		// 按下后,首先回调外围
		m_pBalloonItemDelegate->onBalloonItemEffectTrigger(this);
        
        m_ulClickCounts--;
        // 更新界面
        updateLeftCntsLabel();
        
		// 点击次数递减
		if (m_ulClickCounts == 0)
		{
			// 通知外围,道具移除
			m_pBalloonItemDelegate->onBalloonItemBeforeDisappear(this);
			// 移除道具
			removeFromParent();
            // 道具移除后
			m_pBalloonItemDelegate->onBalloonItemAfterDisappear(this);
		}
        
	}
}
Ejemplo n.º 10
0
void ActionSheet::click_image_cancel(Ref* sender)
{
    if(dis_miss_callback_) {
        dis_miss_callback_();
    }
    removeFromParent();
}
Ejemplo n.º 11
0
GraphicsLayer::~GraphicsLayer()
{
    removeAllAnimations();    

    removeAllChildren();
    removeFromParent();
}
void UpdatePanleLayer2WithFlag::onTouchEnded(Touch* touch, Event* event)
{
	if(isBuilt)
	{
		removeFromParent();
	}
}
Ejemplo n.º 13
0
void GameMain::settingStart()
{
    _gameState=GameState::START;
    auto winSize=Director::getInstance()->getWinSize();
    
    auto layer=Layer::create();
    this->addChild(layer,convertLayerZPositionIntoInt(LayerZPosition::COVER));
    
    auto sprite=Sprite::create("TouchStart.png");
    sprite->setPosition(winSize/2);
    sprite->setOpacity(0);
    sprite->runAction(RepeatForever::create(Sequence::create(FadeIn::create(1)
                                                             ,FadeOut::create(1)
                                                             ,NULL)));
    
    layer->addChild(sprite);
    
    auto listener=EventListenerTouchOneByOne::create();
    listener->onTouchBegan=[](Touch* touch,Event* event){
        return true;
    };
    listener->onTouchEnded=[this,layer,sprite](Touch* touch,Event* event){
        layer->removeFromParent();
        _gameState=GameState::TOUCH_WAITING;
        this->scheduleUpdate();
    };
    
    
    Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener,layer);
}
Ejemplo n.º 14
0
Sprite* Stage::addPhysicsBody(cocos2d::TMXLayer *layer, cocos2d::Vec2 &coordinate)
{
    // タイル1枚の大きさを取り出す
    auto tileSize = _tiledMap->getTileSize();
    
    // タイルのスプライトを取り出す
    auto sprite = layer->getTileAt(coordinate);
    if (sprite) {
        // タイルのIDを取り出す
        auto gid = layer->getTileGIDAt(coordinate);
        // タイルのプロパティをmapで取り出す
        auto property = _tiledMap->getPropertiesForGID(gid);
        if (property.isNull() || property.getType() != Value::Type::MAP) {
            return nullptr;
        }
        auto properties = property.asValueMap();
        // プロパティの中からcategoryの値をintとして取り出す
        auto category = properties.at("category").asInt();
        
        auto material = PhysicsMaterial();
        material.friction = 0;
        material.restitution = 0.1;
        
        // 剛体を設置する
        auto physicsBody = PhysicsBody::createBox(sprite->getContentSize(), material);
        // 剛体を固定する
        physicsBody->setDynamic(false);
        // 剛体にカテゴリをセットする
        physicsBody->setCategoryBitmask(category);
        // 剛体と接触判定を取るカテゴリを指定する
        physicsBody->setContactTestBitmask(static_cast<int>(TileType::PLAYER));
        // 剛体と衝突を取るカテゴリを指定する
        physicsBody->setCollisionBitmask(static_cast<int>(TileType::PLAYER));
        
        // アニメーションを付ける
        // プロパティにanimationの値があったら
        if (!properties["animation"].isNull()) {
            auto animationSprite = properties["animation"].asString();
            auto animationCount = properties["animationCount"].asInt();
        
            sprite->removeFromParent();
            this->addChild(sprite);
            
            Vector<SpriteFrame *> frames;
            auto scale = 0.5;
            for (int i = 0; i < animationCount; ++i) {
                auto frame = SpriteFrame::create(animationSprite, Rect(tileSize.width * i * scale, 0, tileSize.width * scale, tileSize.height * scale));
                frames.pushBack(frame);
            }
            auto animation = Animation::createWithSpriteFrames(frames);
            animation->setDelayPerUnit(0.15);
            sprite->runAction(RepeatForever::create(Animate::create(animation)));
        }
        sprite->setAnchorPoint(Vec2::ANCHOR_MIDDLE);
        sprite->setPhysicsBody(physicsBody);
        
        return sprite;
    }
    return nullptr;
}
Ejemplo n.º 15
0
void Block::update(float dt) {
    setPositionX(getPositionX() - 3);
    if (getPositionX() < 0) {
        unscheduleUpdate();
        removeFromParent();
    }
}
Ejemplo n.º 16
0
void BombMissile::dead()
{
	setEnabled(false);
	removeChild(m_Sprite);
	m_IsUsable = true;
	removeFromParent();
}
Ejemplo n.º 17
0
void QQnxWindow::setParent(const QPlatformWindow *window)
{
    qWindowDebug() << Q_FUNC_INFO << "window =" << this->window() << "platformWindow =" << window;
    // Cast away the const, we need to modify the hierarchy.
    QQnxWindow* const newParent = static_cast<QQnxWindow*>(const_cast<QPlatformWindow*>(window));

    if (newParent == m_parentWindow)
        return;

    removeFromParent();
    m_parentWindow = newParent;

    // Add to new hierarchy position.
    if (m_parentWindow) {
        if (m_parentWindow->m_screen != m_screen)
            setScreen(m_parentWindow->m_screen);

        m_parentWindow->m_childWindows.push_back(this);

        // we don't need any buffers, since
        // Qt will draw to the parent TLW
        // backing store.
        setBufferSize(QSize(1, 1));
    } else {
        m_screen->addWindow(this);

        // recreate buffers, in case the
        // window has been reparented and
        // becomes a TLW
        adjustBufferSize();
    }

    m_screen->updateHierarchy();
}
Ejemplo n.º 18
0
void Bullet::update(float delta) {
    if (_target != nullptr) {
        if (!_target->isDead())
            _targetPosition = _target->getPosition();
        else
            _target = nullptr;
    }

    auto diff = _targetPosition - getPosition();
    float reachRadius = 10 + _sprite->getContentSize().width / 2.f;

    if (diff.length() <= reachRadius) {
        if (_target != nullptr) {
            _target->deal(_damage);
        }

        removeFromParent();
    } else {
        auto velocity = diff;
        velocity.normalize();
        velocity = velocity * BULLET_MAX_VEL;

        // Adapt rotation
        auto angle = CC_RADIANS_TO_DEGREES(velocity.getAngle());
        _sprite->setRotation(-angle);

        // Move the bullet
        setPosition(getPosition() + velocity * delta);
    }
}
Ejemplo n.º 19
0
void PauseLayer::goBack(Ref* pSender)
{
    CCDirector::sharedDirector()->resume();
    CocosDenshion::SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
    CocosDenshion::SimpleAudioEngine::sharedEngine()->resumeAllEffects();
    removeFromParent();
}
Ejemplo n.º 20
0
void BladeMissile::update(float dTime)
{
    auto playerPos = GET_STAGE_MANAGER()->getPlayer()->getPosition();

    if (m_AttackDir == DIR_LEFT)
    {
        setPosition(cocos2d::Point(playerPos.x - m_TargetSize.width, playerPos.y));
    }
    else
    {
        setPosition(cocos2d::Point(playerPos.x + m_TargetSize.width, playerPos.y));
    }

    int nowTime = GET_GAME_MANAGER()->getMicroSecondTime();

    if (nowTime - m_StartTime > SUSTAINMENT_TIME)
    {
        //미사일 완전 삭제
        m_IsDead = true;
        exit();
        removeChild(m_Sprite);
        m_IsUsable = true;
        removeFromParent();
    }

}
Ejemplo n.º 21
0
void LayerGroupMenu::click_group_search(Ref* sender)
{
    if(click_group_search_) {
        click_group_search_();
    }
    removeFromParent();
}
Ejemplo n.º 22
0
void NovelLayer::removeSkipButton()
{
    auto skipMenu = getChildByName("skip_menu");
    if (skipMenu) {
        skipMenu->removeFromParent();
    }
}
Ejemplo n.º 23
0
void GameScene::onTexturesLoaded()
{
    auto util = MapUtil::getInstance();
    BaseLayer::onTexturesLoaded();
    MapUtil::getInstance()->initMapSize();
    if(isShowTip()==false)
    {
        startGame();
    }
    else
    {
        /* 显示提示UI */
        auto wrapper = Node::create();
        auto tipBg = SPRITE("default.png");
        std::string tipName = util->getMapName()+".png";
        auto tip = SPRITE(tipName);
        wrapper->addChild(tipBg);
        wrapper->addChild(tip);
        wrapper->setPosition(VisibleRect::center());
        addChild(wrapper);
        wrapper->setScale(GameManager::getInstance()->getScaleFactor());
        wrapper->runAction(Sequence::create(DelayTime::create(3.0f),CallFunc::create([&,this,wrapper]()->void{
            startGame();
            wrapper->removeFromParent();
        }), NULL));
    }
   
    
    return;
}
Ejemplo n.º 24
0
bool TeachLayer::checkChildType(cocos2d::Node *pNode, cocos2d::Rect stencilRect)
{
    if (!pNode) return false;
    if (0 >= pNode->getChildrenCount()) return false;
    
    for (auto child : pNode->getChildren())
    {
        if (dynamic_cast<SpriteButton*>(child))
        {
            auto spriteButton = dynamic_cast<SpriteButton*>(child);
            Rect btnRect = getNodeRect(spriteButton);
            if (stencilRect.intersectsRect(btnRect))
            {
                removeFromParent();
//                spriteButton->execCallBackEvent();
                return true;
            }
        }
    }
    
    for (auto child : pNode->getChildren())
    {
        if (checkChildType(child, stencilRect))
            return true;
    }
    return false;
}
Ejemplo n.º 25
0
void MonsterRush::dead()
{
	auto corpse = GET_COMPONENT_MANAGER()->createComponent<Corpse>();
	int roomNum = GET_STAGE_MANAGER()->getRoomNum();
	GET_STAGE_MANAGER()->addObject(corpse, roomNum, getPosition(), RoomZOrder::GAME_OBJECT);
	removeFromParent();
}
Ejemplo n.º 26
0
void TileBoard::slideRow(int row, Direction direction) {
    row--;
    auto tileToDelete = getTile(row, 3);
    int newTileColumn = -1;
    int tileOffset = 1;
    int moveByX = tileWidthPadding + tileWidth;
    if(direction == Direction::LEFT) {
        newTileColumn = 4;
        moveByX = -moveByX;
        tileOffset = -1;
        tileToDelete = getTile(row, 0);
    }
    GameTile* newTile = GameTile::create(TileType::WHITE, Point(getTileColumnPosition(newTileColumn), getTileRowPosition(row)), row + 1, newTileColumn + tileOffset + 1);
    addChild(newTile);
    
    for(int column = 0; column < BOARD_COLUMNS; column++) {
        auto currentTile = getTile(row, column);
        currentTile->runAction(Sequence::create(MoveBy::create(0.5f, Point(moveByX, 0)), CallFunc::create([=](){
            currentTile->setColumn(column + tileOffset + 1);
            currentTile->setTag(tileTagFor(row, column + tileOffset));
        }), NULL) );
        currentTile->move();
    }


    newTile->runAction(Sequence::create(MoveBy::create(0.5f, Point(moveByX, 0)), CallFunc::create([=]() {
        newTile->setTag(tileTagFor(row, newTileColumn + tileOffset));
        tileToDelete->removeFromParent();
    }), NULL));
    newTile->move();
}
Ejemplo n.º 27
0
void Bullet::Remove()
{
	if (isDead)
	{
		removeFromParent();
	}
}
Ejemplo n.º 28
0
bool LayerComInfoPlayer::init()
{
    if(!Layer::init()) {
        return false;
    }
    
    root_ = CSLoader::createNode("LayerComInfoPlayerPortrait.csb");
    this->addChild(root_);
    
    auto listview = dynamic_cast<ListView*>(CSLoader::seekNodeByName(root_, "listview"));
    
    tableview_ = TableView::create(this, listview->getContentSize());
    tableview_->setAnchorPoint(listview->getAnchorPoint());
    tableview_->setContentOffset(Vec2(0, 0));
    tableview_->setVerticalFillOrder(TableView::VerticalFillOrder::TOP_DOWN);
    tableview_->setPosition(listview->getPosition());
    tableview_->setDelegate(this);
    root_->addChild(tableview_);
    
    listview->removeFromParent();
    
    LayerComInfoTable* layer_table = LayerComInfoTable::create();
    this->addChild(layer_table, 10, "LayerComInfoTable");
    
    auto tf_keyword = dynamic_cast<TextField*>(CSLoader::seekNodeByName(root_, "tf_player_search"));
    tf_keyword_ = GameTools::createEditBoxFromTextField(this, tf_keyword);
    tf_keyword_->setDelegate(this);
    tf_keyword_->setInputMode(EditBox::InputMode::SINGLE_LINE);
    tf_keyword_->setReturnType(EditBox::KeyboardReturnType::SEARCH);
    
    return true;
}
Ejemplo n.º 29
0
void Block::removeBlock(){
//    auto c = getColor();
//    log("Remove block,color is (%d,%d,%d)",c.r,c.g,c.b);
    
    removeFromParent();
    blocks->eraseObject(this);
}
Ejemplo n.º 30
0
void PromptBox::buttonClicked(CCObject *pSender, TouchEventType eType)
{

	if (eType != TOUCH_EVENT_ENDED)
	{
		return;
	}
	
	::playSound("music/click.ogg");

	UIButton *button = dynamic_cast<UIButton*>(pSender) ;
	int tag = button->getTag() ;

	switch (tag)
	{
	case ButtonTag_Cancel:
		{
			removeFromParent();
		}
		
		break;
	case ButtonTag_Confirm:
		{
			CCDirector::sharedDirector()->end();
		}
		break;

	default:
		break;
	}
	
}