[SFML] Tworzona gra przycina
Ostatnio zmodyfikowano 2012-08-21 22:37
diego997 Temat założony przez niniejszego użytkownika |
» 2012-08-20 01:15:20 Niestety to jest wersja release, debug i release chodzą tak samo. |
|
DejaVu |
» 2012-08-20 01:18:13 Skoro chodzą tak samo to:
a) złożoność obliczeniową zastosowanych algorytmów masz fatalną (choć przy tym co widać na scenie to trudno o to).
b) dołączasz te same biblioteki do trybu debug i release
c) masz fatalną kartę graficzną - ale jeżeli inne gry działają dobrze to automatycznie wyklucza się ta opcja
d) nie używasz zegara wysokiej rozdzielczości do mierzenia 'czasów' o ile stosujesz synchronizację prędkości gry opartą o czas. |
|
diego997 Temat założony przez niniejszego użytkownika |
» 2012-08-20 01:36:41 d) nie wiem czy o to chodzi ale używam czegoś takiego time.getElapsedTime().asMilliseconds(); Czy zamiast milliseconds powinno byc seconds ? Pętla wygląd tak jak w jednym z artykułów który znalazłem na forum tzw. fixed steps, czyli: reset += time.getElapsedTime().asMilliseconds(); time.restart();
while( reset > 0.03f ) { Player.move(); Map.move( View, Player ); reset -= 0.03f; }
|
|
DejaVu |
» 2012-08-20 01:42:45 Co to jest time? co to za klasa?
/edit:
Z wywołań metod wynika, że jest to klasa Time - czyli najgorszy możliwy crap do wykonywania tego typu pomiarów. Powinieneś użyć klasy Clock.
Po zapoznaniu się z dokumentacją stwierdziłem, że powyższe zdanie kupy się nie trzyma :P |
|
diego997 Temat założony przez niniejszego użytkownika |
» 2012-08-20 01:50:16 Kurcze niestety to jest sf::Clock :(. |
|
DejaVu |
» 2012-08-20 01:56:13 No dobra - skoro tak to powiedz mi:
double a = time.getElapsedTime().asMilliseconds(); Sleep( 500 ); double b = time.getElapsedTime().asMilliseconds(); double c = b - a;
Ile Twoim zdaniem wynosi wartość zmiennej c? (orientacyjnie) A potem zastanów się jaki ma sens zapis reset > 0.03f skoro dodajesz 'c' do zmiennej 'reset'.
/edit:
Zmieniłem temat na właściwy i tym samym dział. |
|
diego997 Temat założony przez niniejszego użytkownika |
» 2012-08-20 02:06:56 Wiesz ja tak robię bo poniżej jest time.restart(); Czekaj do końca nie rozumie tego co napisałeś a pewnie to jest ważne :D Chciałem tylko jeszcze szybko napisać że podczas debugowania mam taki warning: warging LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
|
|
DejaVu |
» 2012-08-20 02:10:23 Tego warninga też mam w swoich projektach opartych na SFML-u - i nic na niego nie poradzisz bo wynika on z biblioteki którą musisz dołączyć do projektu, a skompilowanie jej samodzielnie to jakaś totalna abstrakcja (mi się jej nie udało skompilować pod Visualem). |
|
1 2 « 3 » 4 5 |