Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

menu pauzy w grze - jak zrobic, aby w czasie pauzy nic sie nie wykonywalo w tle

Ostatnio zmodyfikowano 2010-01-30 20:27
Autor Wiadomość
dmx81
Temat założony przez niniejszego użytkownika
menu pauzy w grze - jak zrobic, aby w czasie pauzy nic sie nie wykonywalo w tle
» 2010-01-30 01:33:45
witam, jesli administracja uzna, ze to ten sam temat, co wczesniej zalozylem, to prosze o usuniecie,chodzi mi o to, ze kiedy w czasie gry uruchomie menu pauzy - np z opcjami wyjscia z gry, kontynuowania itd - to po powrocie do gry wiele zmiennych "uroslo" a ruchome elementy "nie widzialy" kolizji i pouciekaly z ekranu (chociaz nie wszytskie)

byc moze z takim tytulem w temacie znajdzie sie wiecej chetnych do podpowiedzenia, o co chodzi, ewentualnie prosze o odp w temacie o petli while speed>0, dzieki
P-13401
eBbi
» 2010-01-30 07:41:49
może po wyjściu z pętli menu brakuje kilku argumentów i i opuszcza kilka funkcji warunkowych i wchodzi do tych co nie powinien z powodu kolejności. spróbuj wyjść z pętli menu na sam początek głównej pętli za pomocą funkcji goto().

edit: Jeśli nie użyłeś wątków to zadna zmienna funkcja nie zostanie wukonana bez twojej wiedzy ani żadna zmienna nie powinna zmienić swojej wartości.
P-13402
dmx81
Temat założony przez niniejszego użytkownika
» 2010-01-30 12:47:05
mam tak:

while(!esc)
{

while(speed>0)
{
licznik++;
if(unoszenie)
platforma.y++;
else if(!unoszenie)
platforma.y--;
}

if(licznik==60)
{
sekundy++;
licznik=0;
}
if(platforma.y>500)
unoszenie=true;
if(platforma<100)
unoszenie=false;
if(pokaz_menu)
{
menu();
pokaz_menu=false; //menu to petla while(!enter) - wyswietla text//
}
}
a problem taki, ze bedac w petli w funkcji menu, wykonuja sie instrukcje z petli while(speed>0)
licznik rosnie... ale sie nie zeruje
platforma opada... ale sie nie odbija do gory

czyli o co kaman?

(funkcje menu niedawno dodalem, wczesniej bylo bez niej o wszytsko gralo 100%, teraz chcialem dodac menu, a tu zonk)
P-13405
malan
» 2010-01-30 13:52:59
Może dodaj speed=0 po pętli while(speed>0).
P-13408
dmx81
Temat założony przez niniejszego użytkownika
» 2010-01-30 14:30:45
wyzerowalem speed - efektu nie bylo.... ale zmienilem while na if, do tego wyzerowalem speed - no i dziala :) teraz zostaje przetestowanie jeszcze roznych wypadkow, bo wczesniej tez probowalem podobnych rzeczy (temat o petli while(speed>0)) no i rozne rzeczy sie dzialy.

mam pytanie tylko wlasnie o ta roznice miedzy if a while w tym przypadku, ze dlaczego narzucone jest stosowanie while, czy mozna stosowac if zastepczo bez skutkow ubocznych

no i pytanie do innych, ktorzy w grach maja mozliwosc wejscia do menu, jak wy to rozwiazaliscie -  mi poki co dziala to rozwiazanie, ale poniewaz robie cos wbrew temu, co sie tu nauczylem - myslalem ze while(speed>0) to regula w timerach - tak wiec nie jestem pewien czy wszystko ok i czy cos sie nagle nie sypnie...
bo sam sobie zeruje speed, bo nie uzywam while "jak nakazano ;) " no bo... nie znam mechanizmu timerow, wiec troszke po omacku ...
P-13409
eBbi
» 2010-01-30 20:27:19
jeżeli nie wyświetlasz jakiś animacji w swojej grze w których potrzebujesz dokładnego timera to możesz używać zwyczajnie funkcje rest().
na końcu głównej pętli while wpisz " rest(10);" i już po sprawie. a nie pieprzyć się tak jak z twoim. Pewno sam za niedługo nie obejdę się bez niego ale do tej pory nie myśli mi się używać go.
P-13415
« 1 »
  Strona 1 z 1