Page 1 of 1
Platformera engine ar SFML
Posted: 12 Mar 2012, 20:10
by kristapuciitis
Sveiki!
Šis ir mans pirmais SFML projekts, kā arī mans pirmais platformera endžains. Tur vēl nav ne skaistas grafikas, ne gameplay, tur ir tikai fizika un file manager. Šis ir arī mans apjomīgākais projekts.
Re: Platformera engine ar SFML
Posted: 12 Mar 2012, 20:53
by bubu
C++'ā nelieto defainus konstantēm. Lieto netipizētas enuma vērtības:
Code: Select all
class Level
{
public:
enum {
kWidthMax = 90, // vai UPPER_CASE stilā, ja tā labāk patīk
kHeightMax = 90,
kCellWidth = 40,
kCellHeight= 40,
};
...
};
Level::LoadFromFile funkcijā ārējo ciklu es rakstītu šādi:
Code: Select all
unsigned y = 0;
while (std::getline(file, buffer))
{
...
y++;
}
Tas pārbaudītu gan uz eof, gan uz kļūdām nolasot failu.
Menu::Update fjā tā vietā lai manuāli sekotu līdzi peles nospiedieniem iesaku padot attiecīgo peles nospiediena eventu no main.cpp faila eventu apstrādes cikla. Un switch (iColor) vietā es lietotu vienkārši masīvu:
Code: Select all
static const sf::Color colors[] = { sf::Color(255, 4, 100), sf::Color(10, 250, 100), ... visi pārējie... };
playerColor = colors[iColor];
sf::Vector2<float> vietā var rakstīt sf::Vector2f
Gan Menu, gan Level es padotu sf::RenderWindow nevis konstruktorā, bet gan Draw funkcijai. Jo visai klasei nevajg zināt par renderēšanas logu, tikai zīmēšanas fjai vajag to zināt.
Re: Platformera engine ar SFML
Posted: 13 Mar 2012, 10:53
by kristapuciitis
Ņemšu vērā!

Re: Platformera engine ar SFML
Posted: 16 Mar 2012, 17:13
by kristapuciitis
Update!
Tika pievienoti daži enemy. =(
UPDATE!
Pievienots HUD, dzīvības.