[Super-tux-commit] supertux/src/trigger secretarea_trigger.cpp,1.4,1.5 secretarea_trigger.h,1.4,1.5
Brought to you by:
wkendrick
From: Marek M. <wa...@us...> - 2004-11-25 16:22:15
|
Update of /cvsroot/super-tux/supertux/src/trigger In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv553/src/trigger Modified Files: secretarea_trigger.cpp secretarea_trigger.h Log Message: updated dispenser -- can summon mriceblock, snowball, bouncing_snowball and mrbomb now fixed message display of the secret area trigger ended some more of Nolok's minor troubles :) Index: secretarea_trigger.h =================================================================== RCS file: /cvsroot/super-tux/supertux/src/trigger/secretarea_trigger.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- secretarea_trigger.h 24 Nov 2004 17:33:50 -0000 1.4 +++ secretarea_trigger.h 25 Nov 2004 16:22:05 -0000 1.5 @@ -22,6 +22,7 @@ private: std::string message; Timer2 message_timer; + bool message_displayed; }; #endif Index: secretarea_trigger.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/trigger/secretarea_trigger.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- secretarea_trigger.cpp 24 Nov 2004 17:33:50 -0000 1.4 +++ secretarea_trigger.cpp 25 Nov 2004 16:22:05 -0000 1.5 @@ -4,8 +4,9 @@ #include "utils/lispwriter.h" #include "gameloop.h" -#define MESSAGE_TIME 3 +#define MESSAGE_TIME 3.5 +//TODO: Count numbers of triggered/total secret areas SecretAreaTrigger::SecretAreaTrigger(LispReader& reader) { reader.read_float("x", bbox.p1.x); @@ -13,6 +14,7 @@ bbox.set_size(32, 32); reader.read_string("message", message); + message_displayed = false; } SecretAreaTrigger::SecretAreaTrigger(const Vector& pos) @@ -20,6 +22,7 @@ bbox.set_pos(pos); bbox.set_size(32, 32); message = "You found a secret area!"; + message_displayed = false; } SecretAreaTrigger::~SecretAreaTrigger() @@ -44,9 +47,11 @@ SecretAreaTrigger::draw(DrawingContext& context) { if (message_timer.started()) { + context.push_transform(); + context.set_translation(Vector(0, 0)); Vector pos = Vector(0, screen->h/2 - gold_text->get_height()/2); context.draw_center_text(gold_text, message, pos, LAYER_GUI); - //TODO: Prevent text from scrolling with the rest of the level + context.pop_transform(); } if (message_timer.check()) { remove_me(); @@ -57,6 +62,9 @@ SecretAreaTrigger::event(Player& , EventType type) { if(type == EVENT_TOUCH) { - message_timer.start(MESSAGE_TIME); + if (!message_displayed) { + message_timer.start(MESSAGE_TIME); + message_displayed = true; + } } } |