[Super-tux-commit] supertux/src/trigger secretarea_trigger.cpp,1.1,1.2 secretarea_trigger.h,1.1,1.2
Brought to you by:
wkendrick
From: Marek M. <wa...@us...> - 2004-11-23 23:20:52
|
Update of /cvsroot/super-tux/supertux/src/trigger In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27081/src/trigger Modified Files: secretarea_trigger.cpp secretarea_trigger.h Log Message: made secret area trigger work TODO: Prevent message from scrolling away with the level (the secret area is in data/levels/test/bonusblock.stl, just hop around on the stones you start on) Index: secretarea_trigger.h =================================================================== RCS file: /cvsroot/super-tux/supertux/src/trigger/secretarea_trigger.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- secretarea_trigger.h 23 Nov 2004 22:11:09 -0000 1.1 +++ secretarea_trigger.h 23 Nov 2004 23:20:32 -0000 1.2 @@ -6,6 +6,9 @@ #include "resources.h" #include "video/drawing_context.h" #include "app/globals.h" +#include "timer.h" + +#define MESSAGE_TIME 3 class SecretAreaTrigger : public TriggerBase, public Serializable { @@ -19,9 +22,8 @@ void draw(DrawingContext& context); private: - EventType triggerevent; std::string message; - int show_message; + Timer2 message_timer; }; #endif Index: secretarea_trigger.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/trigger/secretarea_trigger.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- secretarea_trigger.cpp 23 Nov 2004 22:11:09 -0000 1.1 +++ secretarea_trigger.cpp 23 Nov 2004 23:20:31 -0000 1.2 @@ -18,8 +18,7 @@ { bbox.set_pos(pos); bbox.set_size(32, 32); - triggerevent = EVENT_TOUCH; - show_message = 0; + message = "You found a secret area!"; } SecretAreaTrigger::~SecretAreaTrigger() @@ -43,16 +42,20 @@ void SecretAreaTrigger::draw(DrawingContext& context) { - if (show_message == 1) { - context.draw_center_text(gold_text, message, Vector(0, screen->h/2 - gold_text->get_height()/2), LAYER_GUI); - std::cout<<message<<std::endl; + if (message_timer.started()) { + 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 + } + if (message_timer.check()) { + remove_me(); } } void SecretAreaTrigger::event(Player& , EventType type) { - if(type == triggerevent) { - show_message = 1; + if(type == EVENT_TOUCH) { + message_timer.start(MESSAGE_TIME); } } |