void CCRookieGuide::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent) { if(m_anyTouchMode && m_shouldCheckRegion) { removeFromParent(); } else if(m_clickedRegion) { m_clickedRegion->func->execute(); removeFromParent(); } }
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(); } }
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(); } }
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(); }
TextureMapperLayer::~TextureMapperLayer() { for (auto* child : m_children) child->m_parent = nullptr; removeFromParent(); }
void SimplePanleLayer::onTouchEnded(Touch* touch, Event* event) { if(isBuilt) { removeFromParent(); } }
void LayerGroupMenu::click_group_create(Ref* sender) { if(click_group_create_) { click_group_create_(); } removeFromParent(); }
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("元")); }
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); } } }
void ActionSheet::click_image_cancel(Ref* sender) { if(dis_miss_callback_) { dis_miss_callback_(); } removeFromParent(); }
GraphicsLayer::~GraphicsLayer() { removeAllAnimations(); removeAllChildren(); removeFromParent(); }
void UpdatePanleLayer2WithFlag::onTouchEnded(Touch* touch, Event* event) { if(isBuilt) { removeFromParent(); } }
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); }
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; }
void Block::update(float dt) { setPositionX(getPositionX() - 3); if (getPositionX() < 0) { unscheduleUpdate(); removeFromParent(); } }
void BombMissile::dead() { setEnabled(false); removeChild(m_Sprite); m_IsUsable = true; removeFromParent(); }
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(); }
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); } }
void PauseLayer::goBack(Ref* pSender) { CCDirector::sharedDirector()->resume(); CocosDenshion::SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); CocosDenshion::SimpleAudioEngine::sharedEngine()->resumeAllEffects(); removeFromParent(); }
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(); } }
void LayerGroupMenu::click_group_search(Ref* sender) { if(click_group_search_) { click_group_search_(); } removeFromParent(); }
void NovelLayer::removeSkipButton() { auto skipMenu = getChildByName("skip_menu"); if (skipMenu) { skipMenu->removeFromParent(); } }
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; }
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; }
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(); }
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(); }
void Bullet::Remove() { if (isDead) { removeFromParent(); } }
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; }
void Block::removeBlock(){ // auto c = getColor(); // log("Remove block,color is (%d,%d,%d)",c.r,c.g,c.b); removeFromParent(); blocks->eraseObject(this); }
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; } }