crystal displayed on interface, with fancy gradient and the most beautifull colors for the crystal :)
This commit is contained in:
@@ -77,6 +77,23 @@ void Interface::draw()
|
||||
glColor4f(1.0f, 1.0f, 0.1f, 1.0);
|
||||
glutBitmapString("Level: " + std::to_string(player->level), 490, 900);
|
||||
|
||||
|
||||
|
||||
int cw, ch, offset;
|
||||
cw = 20;
|
||||
ch = 50;
|
||||
offset = 5;
|
||||
for (int i = 0; i < player->crystals; i++)
|
||||
{
|
||||
glBegin(GL_QUADS);
|
||||
glColor4f(0, 1.0f, 1.0f, 1.0f);
|
||||
glVertex2f(975 - cw / 2, offset*i + ch*i);
|
||||
glVertex2f(975 - cw , ch / 2 + offset*i + ch*i);
|
||||
glColor4f(0, 0.8f, 0.8f, 1.0f);
|
||||
glVertex2f(975 - cw / 2, ch + offset*i + ch*i);
|
||||
glVertex2f(975 , ch / 2 + offset*i + ch*i);
|
||||
glEnd();
|
||||
}
|
||||
}
|
||||
|
||||
void Interface::update(float deltaTime)
|
||||
|
||||
@@ -11,6 +11,7 @@ Player::Player()
|
||||
health = 50;
|
||||
xp = 75;
|
||||
level = 10;
|
||||
crystals = 0;
|
||||
}
|
||||
|
||||
Player* Player::getInstance()
|
||||
|
||||
@@ -26,6 +26,7 @@ public:
|
||||
float health;
|
||||
float xp;
|
||||
int level;
|
||||
int crystals;
|
||||
|
||||
float speed;
|
||||
};
|
||||
@@ -220,9 +220,10 @@ void World::update(float elapsedTime)
|
||||
}
|
||||
|
||||
for(auto &crystal : crystals)
|
||||
if (crystal->canCollide && crystal->inObject(player->position))
|
||||
if (crystal->canCollide && crystal->inObject(player->position) && crystal->filled)
|
||||
{
|
||||
crystal->filled = false;
|
||||
player->crystals++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+5
-3
@@ -17,9 +17,11 @@
|
||||
"crystals": [
|
||||
{
|
||||
"file": "models/sphere/sphere.obj",
|
||||
"pos": [ 33, 2, 31 ],
|
||||
"collide": "true"
|
||||
"pos": [ 33, 2, 31 ]
|
||||
},
|
||||
{
|
||||
"file": "models/sphere/sphere.obj",
|
||||
"pos": [ 45, 2, 31 ]
|
||||
}
|
||||
]
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user