本文整理汇总了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;未经允许,请勿转载。 |
请发表评论