00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "object/broken_brick.hpp"
00018
00019 #include "math/random_generator.hpp"
00020 #include "sprite/sprite.hpp"
00021
00022 BrokenBrick::BrokenBrick(SpritePtr sprite,
00023 const Vector& pos, const Vector& nmovement) :
00024 timer(),
00025 sprite(sprite),
00026 position(pos),
00027 movement(nmovement)
00028 {
00029 timer.start(.2f);
00030 }
00031
00032 BrokenBrick::~BrokenBrick()
00033 {
00034 }
00035
00036 void
00037 BrokenBrick::update(float elapsed_time)
00038 {
00039 position += movement * elapsed_time;
00040
00041 if (timer.check())
00042 remove_me();
00043 }
00044
00045 void
00046 BrokenBrick::draw(DrawingContext& context)
00047 {
00048 sprite->draw_part(context,
00049 Vector(graphicsRandom.rand(16), graphicsRandom.rand(16)), Vector(16, 16),
00050 position, LAYER_OBJECTS + 1);
00051 }
00052
00053