[SFML] Ustawianie prędkości sprita
Ostatnio zmodyfikowano 2012-08-22 21:58
RazzorFlame Temat założony przez niniejszego użytkownika |
[SFML] Ustawianie prędkości sprita » 2012-08-22 17:47:46 Ehm temat nie mowi sam za siebie (nie mialem pomyslu na nazwe). Chodzi mi o to że używam "easykoderowego" algorytmu na wczytywanie tablicy sinusów i cosinusów. Jednak kiedy chce ustawić prędkość to on nie działa. Mianowicie mam sobie konstruktor w którym podaje kąt (chodzi o kąt pomiędzy graczem a mysza bo chce zrobić że czar wystrzela w danym kierunku) i kilka innych rzeczy. Tablica sinusów i cosinusów ma wielkość 60 bo chce mieć 60 kierunków. Ustawiam więc w konstruktorze: v_x = cos_a[ dir / 6 ]; v_y = sin_a[ dir / 6 ];
Jednak nic sie nie dzieje... Tutaj ustawiam te wartości: void LoadArray() { for( int i = 0; i < 60; i++ ) { sin_a[ i ] = sin(( M_PI *( i * 6 ) ) / 180 ); cos_a[ i ] = cos(( M_PI *( i * 6 ) ) / 180 ); } }
|
|
waxx |
» 2012-08-22 18:20:27 a dir ma zakres 0-360?
jesli tak to zapisz (int)(dir / 6.0f) |
|
RazzorFlame Temat założony przez niniejszego użytkownika |
» 2012-08-22 18:28:31 Po kiego grzyba mam robić "(int) jeśli i tak trzymam go w int'cie?? Zresztą nawet jak tak zrobiłem to nie działa. Tym bardziej że mi sie program crashuje z twoim rozwiazaniem. Nie chodzi mi o obrót w strone myszki! Obrót umiem i działa ale chodzi mi o ustawienie prędkości z kąta... Tak czy siak dzieki za pomoc waxx. Ma ktoś jeszcze jakies pomysły? |
|
waxx |
» 2012-08-22 18:53:23 pokaz co zrobiles bo nie wierze ze sie crashuje also co masz na mysli pod "Jednak nic sie nie dzieje...". sprecyzuj
predkosc normalnie sie robi tak ze mnozysz teraz ten cosinus, sinus przez jakiegos floata z predkoscia
przemieszczenie_x = speed * cos(kat); przemieszczenie_y = speed * sin(kat); |
|
RazzorFlame Temat założony przez niniejszego użytkownika |
» 2012-08-22 19:20:09 Sorki crashowało sie przed inny maly blad ale juz naprawiłem. Ja pierdziele! Wczesniej mi obrazków nie bylo widać ale obrócone było dobrze (bynajmniej tak bylo widać przy bialych obrazkach) a teraz zobaczylem ze to 1 wielkie gow** xD Tak obliczam kąt: ( atan2( 280 - mpy, 380 - mpx ) * 180 / M_PI ) Kąt to jakiś chyba z d*** wzięty xd 280, 380 to pozycja (srodek ekranu) |
|
waxx |
» 2012-08-22 19:45:30 zdebuguj ile wynosi ten kat w zmiennej zatem |
|
RazzorFlame Temat założony przez niniejszego użytkownika |
» 2012-08-22 20:29:28 Ze niby co? Myslalem ze debug pokazuje czy są jakieś niechciane błędy... O co ci biega? |
|
waxx |
» 2012-08-22 20:36:10 skrot myslowy ale debuggerme tez mozna sprawdzac wartosci zmiennej sprawdz w jakikolwiek sposob jak ta zmienna katu ci sie oblicza i ile wynosi |
|
« 1 » 2 3 |