INTRO optimizada y revisada

This commit is contained in:
2022-09-28 11:48:01 +02:00
parent 072a488de6
commit 1552f6385c
7 changed files with 220 additions and 438 deletions

View File

@@ -5,21 +5,20 @@
Writer::Writer(Text *text)
{
// Copia los punteros
mText = text;
this->text = text;
// Inicializa variables
mPosX = 0;
mPosY = 0;
mKerning = 0;
mCaption = "";
mSpeed = 0;
mTimer = 0;
mIndex = 0;
mLenght = 0;
mCompleted = false;
mEnabled = false;
mEnabledTimer = 0;
mId = 0;
posX = 0;
posY = 0;
kerning = 0;
caption = "";
speed = 0;
writingCounter = 0;
index = 0;
lenght = 0;
completed = false;
enabled = false;
enabledCounter = 0;
finished = false;
}
@@ -31,36 +30,35 @@ Writer::~Writer()
// Actualiza el objeto
void Writer::update()
{
if (mEnabled)
if (enabled)
{
if (!mCompleted)
if (!completed)
{ // No completado
if (mTimer > 0)
if (writingCounter > 0)
{
mTimer--;
writingCounter--;
}
else if (mTimer == 0)
else if (writingCounter == 0)
{
mIndex++;
mTimer = mSpeed;
index++;
writingCounter = speed;
}
if (mIndex == mLenght)
if (index == lenght)
{
mCompleted = true;
completed = true;
}
}
if (mCompleted)
if (completed)
{ // Completado
if (mEnabledTimer > 0)
if (enabledCounter > 0)
{
mEnabledTimer--;
enabledCounter--;
}
else if (mEnabledTimer == 0)
else if (enabledCounter == 0)
{
//mEnabled = false;
finished = true;
}
}
@@ -70,78 +68,72 @@ void Writer::update()
// Dibuja el objeto en pantalla
void Writer::render()
{
if (mEnabled)
if (enabled)
{
mText->write(mPosX, mPosY, mCaption, mKerning, mIndex);
text->write(posX, posY, caption, kerning, index);
}
}
// Establece el valor de la variable
void Writer::setPosX(int value)
{
mPosX = value;
posX = value;
}
// Establece el valor de la variable
void Writer::setPosY(int value)
{
mPosY = value;
posY = value;
}
// Establece el valor de la variable
void Writer::setKerning(int value)
{
mKerning = value;
kerning = value;
}
// Establece el valor de la variable
void Writer::setCaption(std::string text)
{
mCaption = text;
mLenght = text.length();
caption = text;
lenght = text.length();
}
// Establece el valor de la variable
void Writer::setSpeed(int value)
{
mSpeed = value;
mTimer = value;
speed = value;
writingCounter = value;
}
// Establece el valor de la variable
void Writer::setEnabled(bool value)
{
mEnabled = value;
enabled = value;
}
// Obtiene el valor de la variable
bool Writer::IsEnabled()
{
return mEnabled;
return enabled;
}
// Establece el valor de la variable
void Writer::setEnabledCounter(int time)
{
mEnabledTimer = time;
enabledCounter = time;
}
// Obtiene el valor de la variable
int Writer::getEnabledTimer()
int Writer::getEnabledCounter()
{
return mEnabledTimer;
return enabledCounter;
}
// Centra la cadena de texto a un punto X
void Writer::center(int x)
{
setPosX(x - (mText->lenght(mCaption, mKerning) / 2));
}
// Establece el valor de la variable
void Writer::setId(int id)
{
mId = id;
setPosX(x - (text->lenght(caption, kerning) / 2));
}
// Obtiene el valor de la variable