当前位置: 首页>>代码示例>>C++>>正文


C++ remove_me函数代码示例

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


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


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