[Allegro] Płynne cofanie się
Ostatnio zmodyfikowano 2013-12-17 21:48
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ę. while( !key[ KEY_ESC ] ) { while( speed > 0 ) { speed--; if( key[ KEY_LEFT ] ) fatboy_x--; if( key[ KEY_RIGHT ] ) fatboy_x++; 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 for( int i = 1; i <= 10000000; ++i ) { } |
|
pekfos |
» 2013-12-17 17:00:25 |
|
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ę ? |
|
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ę. |
|
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.
|
|
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 !=? |
|
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. |
|
pekfos |
» 2013-12-17 17:56:48 To użyj dodatkowej zmiennej, np jakiegoś boola. x%2!=0? |
|
« 1 » 2 |