Quote: "Is there a way to make a message only display for about a second and then go away?"
You need to time how long text has been displayed for and stop showing it if it has been shown for long enough.
Try my timer class:
Timer.h:
#include "Windows.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// namespace: Tools
//
// summary: Various tools.
////////////////////////////////////////////////////////////////////////////////////////////////////
namespace Tools
{
////////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary> Timer class.</summary>
///
/// <remarks> Branflakes, 1/17/2010. </remarks>
////////////////////////////////////////////////////////////////////////////////////////////////////
class Timer
{
private:
bool counting;
DWORD time,
start; // starting time.
public:
////////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary> Default Constructor. </summary>
///
/// <remarks> Branflakes, 1/17/2010. </remarks>
////////////////////////////////////////////////////////////////////////////////////////////////////
Timer();
////////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary> Starts the timer. </summary>
///
/// <remarks> Branflakes, 1/17/2010. </remarks>
////////////////////////////////////////////////////////////////////////////////////////////////////
void Start();
////////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary> Stops the timer. </summary>
///
/// <remarks> Branflakes, 1/17/2010. </remarks>
////////////////////////////////////////////////////////////////////////////////////////////////////
void Stop();
////////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary> Returns whether or not the timer is currently running. </summary>
///
/// <remarks> Branflakes, 1/17/2010. </remarks>
///
/// <returns> true if running, else false. </returns>
////////////////////////////////////////////////////////////////////////////////////////////////////
bool Counting() const;
////////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary> Returns the current time in milliseconds. </summary>
///
/// <remarks> Branflakes, 1/17/2010. </remarks>
///
/// <returns> current time in milliseconds. </returns>
////////////////////////////////////////////////////////////////////////////////////////////////////
DWORD Time() const;
////////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary> Updates this object. </summary>
///
/// <remarks> Branflakes, 1/17/2010. </remarks>
////////////////////////////////////////////////////////////////////////////////////////////////////
void Update();
};
}
Timer.cpp:
#include "Timer.h"
namespace Tools
{
Timer::Timer() : start(0), time(0), counting(false) { }
void Timer::Start() {
if(!counting) {
time = 0;
start = GetTickCount();
counting = true;
}
}
void Timer::Stop() { counting = false; }
bool Timer::Counting() const { return counting; }
DWORD Timer::Time() const { return time; }
void Timer::Update() {
if(counting)
time = GetTickCount() - start;
}
}
Example:
#include "DarkGDK.h"
#include "Timer.h"
void DarkGDK()
{
dbSyncOn();
dbSyncRate(0);
Tools::Timer timer;
timer.Start();
while(LoopGDK())
{
dbCLS();
if(timer.Time() < 1000) // If text has been shown for under 1000 milliseconds (1 second)
dbText(0, 0, "Text");
else
{
if(timer.Counting())
timer.Stop();
if(dbSpaceKey())
timer.Start();
}
timer.Update();
dbSync();
}
}
Your_Health = (My_Mood == HAPPY) ? 100 : NULL;