• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C++ remove_me函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中remove_me函数的典型用法代码示例。如果您正苦于以下问题:C++ remove_me函数的具体用法?C++ remove_me怎么用?C++ remove_me使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了remove_me函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: get_pos

HitResponse
MoleRock::collision_badguy(BadGuy& badguy, const CollisionHit& )
{
  // ignore collisions with parent
  if (&badguy == parent) {
    return FORCE_MOVE;
  }
  sound_manager->play("sounds/stomp.wav", get_pos());
  remove_me();
  badguy.kill_fall();
  return ABORT_MOVE;
}
开发者ID:AndroidAppList,项目名称:Android-Supertux,代码行数:12,代码来源:mole_rock.cpp


示例2: RocketExplosion

void
MrRocket::active_update(float elapsed_time)
{
    if (collision_timer.check()) {
        Sector::current()->add_object(new RocketExplosion(get_pos(), dir));
        remove_me();
    }
    else if (!collision_timer.started()) {
        movement=physic.get_movement(elapsed_time);
        sprite->set_action(dir == LEFT ? "left" : "right");
    }
}
开发者ID:BackupTheBerlios,项目名称:supertux-svn,代码行数:12,代码来源:mrrocket.cpp


示例3: remove_me

HitResponse
Star::collision(GameObject& other, const CollisionHit& )
{
  Player* player = dynamic_cast<Player*> (&other);
  if(player) {
    player->make_invincible();
    remove_me();
    return ABORT_MOVE;
  }

  return FORCE_MOVE;
}
开发者ID:iOSAppList,项目名称:supertux,代码行数:12,代码来源:star.cpp


示例4: fmodf

void
Flame::active_update(float elapsed_time)
{
  angle = fmodf(angle + elapsed_time * speed, (float) (2*M_PI));
  Vector newpos(start_position.x + cos(angle) * radius,
                start_position.y + sin(angle) * radius);
  movement = newpos - get_pos();

  sound_source->set_position(get_pos());

  if (sprite->get_action() == "fade" && sprite->animation_done()) remove_me();
}
开发者ID:CRS-ECHO51,项目名称:supertux,代码行数:12,代码来源:flame.cpp


示例5: remove_me

void
BadGuy::update(float elapsed_time)
{
  if(!Sector::current()->inside(bbox)) {
    is_active_flag = false;
    remove_me();
    return;
  }
  if ((state != STATE_INACTIVE) && is_offscreen()) {
    if (state == STATE_ACTIVE) deactivate();
    set_state(STATE_INACTIVE);
  }

  switch(state) {
    case STATE_ACTIVE:
      is_active_flag = true;
      active_update(elapsed_time);
      break;
    case STATE_INIT:
    case STATE_INACTIVE:
      is_active_flag = false;
      inactive_update(elapsed_time);
      try_activate();
      break;
    case STATE_SQUISHED:
      is_active_flag = false;
      if(state_timer.check()) {
        remove_me();
        break;
      }
      movement = physic.get_movement(elapsed_time);
      break;
    case STATE_FALLING:
      is_active_flag = false;
      movement = physic.get_movement(elapsed_time);
      break;
  }

  on_ground_flag = false;
}
开发者ID:AndroidAppList,项目名称:Android-Supertux,代码行数:40,代码来源:badguy.cpp


示例6: GameObject

LevelTime::LevelTime(const ReaderMapping& reader) :
  GameObject(reader),
  ExposedObject<LevelTime, scripting::LevelTime>(this),
  time_surface(Surface::create("images/engine/hud/time-0.png")),
  running(!Editor::is_active()),
  time_left()
{
  reader.get("time", time_left, 0);
  if(time_left <= 0 && !Editor::is_active()) {
    log_warning << "No or invalid leveltime specified." << std::endl;
    remove_me();
  }
}
开发者ID:christ2go,项目名称:supertux,代码行数:13,代码来源:level_time.cpp


示例7: get_nearest_player

void
WillOWisp::active_update(float elapsed_time)
{
  Player* player = get_nearest_player();
  if (!player) return;
  Vector p1 = this->get_pos() + (this->get_bbox().p2 - this->get_bbox().p1) / 2;
  Vector p2 = player->get_pos() + (player->get_bbox().p2 - player->get_bbox().p1) / 2;
  Vector dist = (p2 - p1);

  if (mystate == STATE_IDLE) {
    if (dist.norm() <= TRACK_RANGE) {
      mystate = STATE_TRACKING;
    }
  }
  
  if (mystate == STATE_TRACKING) {
    if (dist.norm() <= VANISH_RANGE) {
      Vector dir = dist.unit();
      movement = dir*elapsed_time*FLYSPEED;
    } else {
      mystate = STATE_VANISHING;
      sprite->set_action("vanishing", 1);
    }
    soundSource->set_position(get_pos());
  }

  if (mystate == STATE_WARPING) {
    if(sprite->animation_done()) {
      remove_me();
    }
  }

  if (mystate == STATE_VANISHING) {
    if(sprite->animation_done()) {
      remove_me();
    }
  }
  
}
开发者ID:BackupTheBerlios,项目名称:supertux-svn,代码行数:39,代码来源:willowisp.cpp


示例8:

void
EditorInputCenter::delete_markers() {
  auto sector = Editor::current()->currentsector;
  for (auto& moving_object : sector->moving_objects) {
    auto marker = dynamic_cast<PointMarker*>(moving_object);
    if (marker) {
      marker->remove_me();
    }
  }
  marked_object = NULL;
  edited_path = NULL;
  last_node_marker = NULL;
}
开发者ID:Savsish,项目名称:supertux,代码行数:13,代码来源:input_center.cpp


示例9: time_surface

LevelTime::LevelTime(const ReaderMapping& reader) :
  time_surface(),
  running(true),
  time_left()
{
  if (!reader.get("name", name)) name = "";
  if (!reader.get("time", time_left)) time_left = 0;
  if(time_left <= 0) {
    log_warning << "No or invalid leveltime specified." << std::endl;
    remove_me();
  }
  time_surface = Surface::create("images/engine/hud/time-0.png");
}
开发者ID:Clever-Boy,项目名称:supertux,代码行数:13,代码来源:level_time.cpp


示例10: bump

void
Upgrade::collision(void* p_c_object, int c_object, CollisionType type)
{
  Player* pplayer = NULL;

  if(type == COLLISION_BUMP) {
    if(c_object == CO_PLAYER)
      pplayer = (Player*) p_c_object;
    bump(pplayer);
    return;
  }

  switch (c_object)
    {
    case CO_PLAYER:
      /* Remove the upgrade: */

      /* p_c_object is CO_PLAYER, so assign it to pplayer */
      pplayer = (Player*) p_c_object;

      /* Affect the player: */

      if (kind == UPGRADE_GROWUP)
        {
          play_sound(sounds[SND_EXCELLENT], SOUND_CENTER_SPEAKER);
          pplayer->grow();
        }
      else if (kind == UPGRADE_ICEFLOWER)
        {
          play_sound(sounds[SND_COFFEE], SOUND_CENTER_SPEAKER);
          pplayer->grow();
          pplayer->got_coffee = true;
        }
      else if (kind == UPGRADE_HERRING)
        {
          play_sound(sounds[SND_HERRING], SOUND_CENTER_SPEAKER);
          pplayer->invincible_timer.start(TUX_INVINCIBLE_TIME);
          World::current()->play_music(HERRING_MUSIC);
        }
      else if (kind == UPGRADE_1UP)
        {
          if(player_status.lives < MAX_LIVES) {
            player_status.lives++;
            play_sound(sounds[SND_LIFEUP], SOUND_CENTER_SPEAKER);
          }
        }

      remove_me();
      return;
    }
}
开发者ID:crutchwalkfactory,项目名称:motocakerteam,代码行数:51,代码来源:special.cpp


示例11: remove_me

void
SpriteParticle::update(float elapsed_time)
{
  // die when animation is complete
  if (sprite->animation_done()) {
    remove_me();
    return;
  }

  // calculate new position and velocity
  position.x += velocity.x * elapsed_time;
  position.y += velocity.y * elapsed_time;
  velocity.x += acceleration.x * elapsed_time;
  velocity.y += acceleration.y * elapsed_time;

  // die when too far offscreen
  Vector camera = Sector::current()->camera->get_translation();
  if ((position.x < camera.x - 128) || (position.x > SCREEN_WIDTH + camera.x + 128) ||
      (position.y < camera.y - 128) || (position.y > SCREEN_HEIGHT + camera.y + 128)) {
    remove_me();
    return;
  }
}
开发者ID:lowagner,项目名称:supertux,代码行数:23,代码来源:sprite_particle.cpp


示例12: remove_me

void
RustyTrampoline::update(float elapsed_time)
{
  if(sprite->animation_done()) {
    if (counter < 1) {
      remove_me();
    } else {
      sprite->set_action("normal");
    }

  }

  Rock::update(elapsed_time);
}
开发者ID:hongtaox,项目名称:supertux,代码行数:14,代码来源:rusty_trampoline.cpp


示例13: Vector

void
SecretAreaTrigger::draw(DrawingContext& context)
{
  if (message_timer.started()) {
    context.push_transform();
    context.set_translation(Vector(0, 0));
    Vector pos = Vector(0, SCREEN_HEIGHT/2 - Resources::normal_font->get_height()/2);
    context.draw_center_text(Resources::normal_font, message, pos, LAYER_HUD, SecretAreaTrigger::text_color);
    context.pop_transform();
  }
  if (message_timer.check()) {
    remove_me();
  }
}
开发者ID:ed00m,项目名称:supertux,代码行数:14,代码来源:secretarea_trigger.cpp


示例14: remove_me

HitResponse
Flower::collision(GameObject& other, const CollisionHit& )
{
  Player* player = dynamic_cast<Player*>(&other);
  if(!player)
    return ABORT_MOVE;

  if(!player->add_bonus(type, true))
    return FORCE_MOVE;

  SoundManager::current()->play("sounds/fire-flower.wav");
  remove_me();
  return ABORT_MOVE;
}
开发者ID:ACMEware,项目名称:Paper-Hurricane,代码行数:14,代码来源:flower.cpp


示例15: if

void
Bullet::collision_solid(const CollisionHit& hit)
{
  if(hit.top || hit.bottom) {
    physic.set_velocity_y(-physic.get_velocity_y());
    life_count--;
  } else if(hit.left || hit.right) {
    if(type == ICE_BONUS) {
      physic.set_velocity_x(-physic.get_velocity_x());
      life_count--;
    } else
      remove_me();
  }
}
开发者ID:ACMEware,项目名称:Paper-Hurricane,代码行数:14,代码来源:bullet.cpp


示例16: switch

void
Explosion::update(float )
{
  switch(state) {
    case STATE_WAITING:
      explode();
      break;
    case STATE_EXPLODING:
      if(sprite->animation_done()) {
        remove_me();
      }
      break;
  }
}
开发者ID:Julydeea,项目名称:supertux,代码行数:14,代码来源:explosion.cpp


示例17: remove_me

void
SkyDive::explode (void)
{
  if (!is_valid())
    return;

  auto explosion = std::make_shared<Explosion>(get_anchor_pos (bbox, ANCHOR_BOTTOM));

  explosion->hurts(true);
  explosion->pushes(false);
  Sector::current()->add_object(explosion);

  remove_me ();
} /* void explode */
开发者ID:hongtaox,项目名称:supertux,代码行数:14,代码来源:skydive.cpp


示例18: get_pos

bool
MrTree::collision_squished(GameObject& object)
{
  // replace with Stumpy
  Vector stumpy_pos = get_pos();
  stumpy_pos.x += 20;
  stumpy_pos.y += 25;
  Stumpy* stumpy = new Stumpy(stumpy_pos, dir);
  remove_me();
  Sector::current()->add_object(stumpy);

  // give Feedback
  sound_manager->play("sounds/mr_tree.ogg", get_pos());
  Player* player = dynamic_cast<Player*>(&object);
  if (player) player->bounce(*this);

  // spawn some particles
  // TODO: provide convenience function in MovingSprite or MovingObject?
  for (int px = (int)stumpy->get_bbox().p1.x; px < (int)stumpy->get_bbox().p2.x; px+=10) {
    Vector ppos = Vector(px, stumpy->get_bbox().p1.y-5);
    float angle = systemRandom.randf(-M_PI_2, M_PI_2);
    float velocity = systemRandom.randf(45, 90);
    float vx = sin(angle)*velocity;
    float vy = -cos(angle)*velocity;
    Vector pspeed = Vector(vx, vy);
    Vector paccel = Vector(0, 100);
    Sector::current()->add_object(new SpriteParticle("images/objects/particles/leaf.sprite", "default", ppos, ANCHOR_MIDDLE, pspeed, paccel, LAYER_OBJECTS-1));
  }

  // spawn PoisonIvy
  Vector leaf1_pos = Vector(stumpy_pos.x - POISONIVY_WIDTH - 1, stumpy_pos.y - POISONIVY_Y_OFFSET);
  Rect leaf1_bbox = Rect(leaf1_pos.x, leaf1_pos.y, leaf1_pos.x + POISONIVY_WIDTH, leaf1_pos.y + POISONIVY_HEIGHT);
  if (Sector::current()->is_free_of_movingstatics(leaf1_bbox, this)) {
    PoisonIvy* leaf1 = new PoisonIvy(leaf1_bbox.p1, LEFT);
    leaf1 = leaf1;
    Sector::current()->add_object(leaf1);
  }

  // spawn PoisonIvy
  Vector leaf2_pos = Vector(stumpy_pos.x + sprite->get_current_hitbox_width() + 1, stumpy_pos.y - POISONIVY_Y_OFFSET);
  Rect leaf2_bbox = Rect(leaf2_pos.x, leaf2_pos.y, leaf2_pos.x + POISONIVY_WIDTH, leaf2_pos.y + POISONIVY_HEIGHT);
  if (Sector::current()->is_free_of_movingstatics(leaf2_bbox, this)) {
    PoisonIvy* leaf2 = new PoisonIvy(leaf2_bbox.p1, RIGHT);
    leaf2 = leaf2;
    Sector::current()->add_object(leaf2);
  }

  return true;
}
开发者ID:BackupTheBerlios,项目名称:supertux-svn,代码行数:49,代码来源:mrtree.cpp


示例19: remove_me

void
Haywire::kill_fall()
{
  if(is_exploding) {
    ticking->stop();
    grunting->stop();
  }
  if(is_valid()) {
    remove_me();
    auto explosion = std::make_shared<Explosion>(get_bbox().get_middle());
    Sector::current()->add_object(explosion);
  }

  run_dead_script();
}
开发者ID:gabixdev,项目名称:supertux,代码行数:15,代码来源:haywire.cpp


示例20: set_group

void UnstableTile::fall_down (void)
{
  if ((state != STATE_NORMAL) && (state != STATE_DISSOLVE))
    return;

  if (sprite->has_action ("fall-down")) {
    state = STATE_FALL;
    this->set_action ("fall-down", /* loops = */ 1);
    set_group (COLGROUP_DISABLED);
    physic.enable_gravity (true);
  }
  else {
    remove_me ();
  }
}
开发者ID:AndroidAppList,项目名称:Android-Supertux,代码行数:15,代码来源:unstable_tile.cpp



注:本文中的remove_me函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ remove_node函数代码示例发布时间:2022-05-30
下一篇:
C++ remove_item函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap