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

[Allegro] Płynne cofanie się

Ostatnio zmodyfikowano 2013-12-17 21:48
Autor Wiadomość
maver144
Temat założony przez niniejszego użytkownika
[Allegro] Płynne cofanie się
» 2013-12-17 16:46:22
Witam mam konkrety problem, chcę aby po dojściu po pewnego punktu moja postać się cofała, ale żeby robiła to płynnie tak jak poruszanie się.
C/C++
while( !key[ KEY_ESC ] )
{
    while( speed > 0 ) {
        speed--;
        if( key[ KEY_LEFT ] ) fatboy_x--;
       
        if( key[ KEY_RIGHT ] ) fatboy_x++;
       
        //if( key[ KEY_UP ] ) fatboy_y--;
       
        // if( key[ KEY_DOWN ] ) fatboy_y++;
       
        if( fatboy_x > 300 ) {
            while( fatboy_x = 0 ) {
               
               
                fatboy_x--;
               
            }
           
        }
W tym momencie wygląda to tak jakby fatboy_x przyjmowało od razu wspórzędne X na zerze ( początkowym ) . Próbowałem sleepa ale wywalało errory, natomiast pętla spowalniająca nic nie dała
C/C++
for( int i = 1; i <= 10000000; ++i )
{
   
}
P-99438
pekfos
» 2013-12-17 17:00:25
while( fatboy_x = 0 )
» Kurs C++ » Poziom 1Operacje porównania lekcja

natomiast pętla spowalniająca nic nie dała
Tak programu nie spowolnisz.
P-99441
maver144
Temat założony przez niniejszego użytkownika
odp
» 2013-12-17 17:09:16
Nie do końca wiem co chciałeś mi powiedzieć dając lekcje o operatorach, skoro zastosowanie żadnego z nich mi nie pomoże... Chyba że się mylę ?
P-99442
pekfos
» 2013-12-17 17:16:02
Operator był zły i przypisywałeś zero do zmiennej, zamiast ją porównać z zerem. Na jedno wychodzi, bo pętla wykonuje się tak długo, aż zmienna się wyzeruje. Wywal pętlę.
P-99443
maver144
Temat założony przez niniejszego użytkownika
s
» 2013-12-17 17:29:56
Po wywaleniu pętli po prostu zatrzyma się na x = 300... Chce również zauważyć, że przy użyciu operatora porównania == nic się nie stanie, gdyż pętla wcale się nie wykona bo x != 0 przecież... Operatora !== z tego co wiem nie ma.
P-99444
pekfos
» 2013-12-17 17:36:06
Po wywaleniu pętli po prostu zatrzyma się na x = 300...
Wywal inteligentnie. Dekrementacja jest potrzebna, ale nie w pętli.

Operatora !== z tego co wiem nie ma.
A co miałby robić? To samo, co !=?
P-99445
maver144
Temat założony przez niniejszego użytkownika
» 2013-12-17 17:44:06
Dekrementacja oczywiście jest ale wykonuje się tylko raz gdy natrafi na 300setny piksel i cofa się na 299(...) . A co do !== to mogłoby się przydać np. przy wykluczaniu z konkretnych liczb z ciągów czy zbiorów liczb np. (x%2!==0), a może nie, nie uważam się za uberpro w tej dziedzinie.
P-99447
pekfos
» 2013-12-17 17:56:48
To użyj dodatkowej zmiennej, np jakiegoś boola.

x%2!==0
x%2!=0?
P-99455
« 1 » 2
  Strona 1 z 2 Następna strona