本文整理汇总了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;
}
示例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");
}
}
示例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;
}
示例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();
}
示例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;
}
示例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();
}
}
示例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();
}
}
}
示例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;
}
示例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");
}
示例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;
}
}
示例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;
}
}
示例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);
}
示例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();
}
}
示例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;
}
示例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();
}
}