tomasz Temat założony przez niniejszego użytkownika |
[SFML 2.0] Różne przyciski ale ta sama akcja » 2013-08-13 11:55:09 Witam, nie do końca umiem przedstawić swój problem ale postaram się najlepiej jak mogę :). Otóż chce wyświetlić na ekranie kilka (kilkanaście) przycisków. Chodzi o to, że chce aby były przypisane do jednej akcji, tzn. że jeśli będę miał na przykład coś takiego: if( przycisk wci ś ni ę ty ) { }
To niezależnie od tego czy wcisnę przycisk 1 czy 5 instrukcja if będzie wywołana. Od razu nadmieniam, że nie chodzi mi o samą konstrukcję klikania (pobranie współrzędnych primitywu, kursora i zdarzenia klikania). Wiem, że można by to zaifować osobno na każdy przycisk, ale byłoby to w przypadku 16 przycisków 16 ifów, a nie wydaje mi się to dobry rozwiązaniem w takiej sytuacji. Problem polega na tym, że po naciśnięciu chce pobierać np dane z któregoś przycisku. Czy ktoś, mógłby mnie nakierować którąś stronę? |
|
pekfos |
» 2013-08-13 11:57:21 if( przycisk1 || przycisk2 || itd ) { } |
|
MrPoxipol |
» 2013-08-13 11:58:43 Tablica (vector) z przyciskami. Dla 16 przycisków: for( int i = 0; i < 15; ++i ) { if( przycisk_wcisniety[ i ] ) funkcja(); }
I to w eventach. |
|
tomasz Temat założony przez niniejszego użytkownika |
» 2013-08-13 12:25:47 Myślałem o tym, ale nie wiedziałem jak zrobić taką tablice, ale teraz pomyślałem że to powinno być banalne. Czy taka tablica przycisków powinna wyglądać tak? sf::RectangleShape przyciski[ 15 ];
I jeszcze pytanie odnośnie zastosowania pętli for którą pokazałeś. Ponieważ czytając kursy, wyczytałem, że stosując pętle w głównej pętli programu, ograniczamy wykonywane programu do jednego wątku jednocześnie (pewnie pisze zagmatwanie, chodzi mi o przykład w przypadku ruchu punktu. Nie robi się tego pętlą, a odejmowanie lub dodawanie wartości do współrzędnych. Nie wiem czy wiesz o co mi chodzi?) Tak więc czy taką pętle można w głównej pętli programu zastosować? Mój program, nie będzie jakoś specjalnie wielowątkowy, ale wolę się zapytać o takie techniczne szczegóły. Pekfos, Twoje rozwiązanie byłoby dobre gdybym nie musiał z każdego przycisku pobrać innych danych po wciśnięciu. |
|
MrPoxipol |
» 2013-08-13 13:03:26 Nie powinno być różnicy z ręcznym użyciem. |
|
tomasz Temat założony przez niniejszego użytkownika |
» 2013-08-13 17:53:35 Dzięki, MrPoxipol, działa pięknie:) |
|
tomasz Temat założony przez niniejszego użytkownika |
» 2013-08-20 12:03:33 Witam ponownie. Niestety po zwiększeniu liczby przycisków program nie działa już tak pięknie. Przy klikaniu w przycisk nie zawsze działa akcja wciśnięcia. Domyślam się, że nie zawsze trafiamy w czasie na odpowiednią wartość w pętli for, ale jak można by to rozwiązać? |
|
MrPoxipol |
» 2013-08-20 13:00:04 Pokaż kod. |
|
« 1 » 2 3 |