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

Wyświetlanie sprite przy kolizji i pauza - sfml

Ostatnio zmodyfikowano 2019-01-13 22:38
Autor Wiadomość
Wrobek12
Temat założony przez niniejszego użytkownika
» 2019-01-13 13:49:58
Tak, wiem. Chodzi o to, że początkowo wywołuje i ustawiam pozycje sprite'ów. Przy poruszaniu się postacią mam warunek kolizji z trzema obiektami, każdym z osobna. Przez to, że są wywoływane, program znajduje kolizje mimo, iż tych obiektow nie widać. Rozumiem czemu tak sie dzieje, ale jest może jakiś szybki sposób na zmianę kodu, aby wykrywało kolizje jedynie z narysowanymi obiektami ?
P-173526
pekfos
» 2019-01-13 13:55:34
Nie da się stwierdzić, czy sprajt jest wyświetlany na ekranie, czy nie. Sam musisz to wiedzieć.
P-173528
Wrobek12
Temat założony przez niniejszego użytkownika
» 2019-01-13 14:06:04
Nie, nie. Chodzi o to, że go tworze ( wywołuje z klasy ), ale nie używam rysowania, więc defakto jest wyświetlany jako niewidoczny obiekt ( przynajmniej tak wynika z tego jak zachowuje się program ).
P-173529
pekfos
» 2019-01-13 14:20:14
Jak nie używasz rysowania, to nie jest wyświetlany w żaden sposób. Nawet w ten niewidzialny. Wydawało mi się, że zgodziliśmy się co do tego, że wyświetlanie nie ma nic do kolizji.
P-173530
Wrobek12
Temat założony przez niniejszego użytkownika
» 2019-01-13 14:46:08
Tak, nie jest wyświetlany.

Opiszę może to kodem, żeby to lepiej wytłumaczyć.

Obiekt Obiekt1;
Obiekt1.pozycja(300, 300);
Obiekt Obiekt2;
Obiekt2.pozycja(800, 200);

// Wywoływanie obiektów typu sprite

if (kolizja wybranego obiektu z Obiekt1 + kolizja wybranego obiektu z Obiekt2)
{
Wybrany_obiekt.move(0, -5);
}
// kolizja

window.clear();
window.draw(Obiekt1);
// Rysowanie jedynie obiektu numer 1


W tym przypadku działa to tak, że Obiekt2 jest wykrywany przy sprawdzaniu kolizji, ale rysuję na ekranie jedynie Obiekt1.
Chodzi o to, żeby przy sprawdzaniu kolizji w zależności od narysowanych obiektów wykrywana była kolizja. Jest szansa na taki kod ?
P-173531
pekfos
» 2019-01-13 14:55:17
To dlaczego sprawdzasz kolizję z obiektem 2? Jeśli ma się pojawiać warunkowo, to kolizję również musisz sprawdzać warunkowo.
P-173532
Wrobek12
Temat założony przez niniejszego użytkownika
» 2019-01-13 14:57:38
Tego właśnie chcę uniknąć. Ilość warunków do poruszania się obiektem to około 50 linijek. Aby sprawdzać kolizje warunkowo muszę to właściwie pomnożyć przez 3 i dodać na początku warunek. No nic, jeżeli nie ma innej opcji to trudno. Dziękuję za pomoc :)
P-173533
pekfos
» 2019-01-13 14:59:31
Jeśli musisz kopiować kod, to kod jest źle napisany. Jak chcesz lepszych rad, to pokaż kod. Na sucho mogę powiedzieć tylko tyle. Jeśli próbka powyżej jest reprezentatywna, to źle robisz, że masz Obiekt1 i Obiekt2, a nie obiekt[0] i obiekt[1]. Mając obiekty w tablicy, możesz przetwarzać je pętlą, zamiast duplikować kod dla różnych nazw zmiennych.
P-173534
1 2 « 3 » 4
Poprzednia strona Strona 3 z 4 Następna strona