本文整理汇总了C++中removeFromParent函数的典型用法代码示例。如果您正苦于以下问题:C++ removeFromParent函数的具体用法?C++ removeFromParent怎么用?C++ removeFromParent使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了removeFromParent函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: removeFromParent
void CCRookieGuide::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent) {
if(m_anyTouchMode && m_shouldCheckRegion) {
removeFromParent();
} else if(m_clickedRegion) {
m_clickedRegion->func->execute();
removeFromParent();
}
}
示例2: getPosition
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();
}
}
示例3: switch
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();
}
示例4: removeFromParent
TextureMapperLayer::~TextureMapperLayer()
{
for (auto* child : m_children)
child->m_parent = nullptr;
removeFromParent();
}
示例5: removeFromParent
void SimplePanleLayer::onTouchEnded(Touch* touch, Event* event)
{
if(isBuilt)
{
removeFromParent();
}
}
示例6: updateView
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("元"));
}
示例7: updateLeftCntsLabel
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);
}
}
}
示例8: removeAllAnimations
GraphicsLayer::~GraphicsLayer()
{
removeAllAnimations();
removeAllChildren();
removeFromParent();
}
示例9: removeFromParent
void UpdatePanleLayer2WithFlag::onTouchEnded(Touch* touch, Event* event)
{
if(isBuilt)
{
removeFromParent();
}
}
示例10: settingStart
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);
}
示例11: PhysicsMaterial
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;
}
示例12: setPositionX
void Block::update(float dt) {
setPositionX(getPositionX() - 3);
if (getPositionX() < 0) {
unscheduleUpdate();
removeFromParent();
}
}
示例13: setEnabled
void BombMissile::dead()
{
setEnabled(false);
removeChild(m_Sprite);
m_IsUsable = true;
removeFromParent();
}
示例14: getPosition
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);
}
}
示例15: removeFromParent
void PauseLayer::goBack(Ref* pSender)
{
CCDirector::sharedDirector()->resume();
CocosDenshion::SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
CocosDenshion::SimpleAudioEngine::sharedEngine()->resumeAllEffects();
removeFromParent();
}