[SFML 1.6]Pytania związane z shape i funkcjami i obrazki.
Ostatnio zmodyfikowano 2012-12-28 03:19
marcin107 Temat założony przez niniejszego użytkownika |
[SFML 1.6]Pytania związane z shape i funkcjami i obrazki. » 2012-12-27 00:12:11 Witam, mam kilka pytań odnośnie biblioteki SFML. Zacząłem tworzyć menu, a w menu odpowiednie buttony. Buttony tworzę za pomocą shape, ale później trzeba dodać obsługę eventów i w związku z tym mam pytanie czy można odwołać się do eventu myszka klika w obiekt zamiast if'ować wszystkie współrzędne obiektu? if( Event.Type == Event::MouseButtonPressed ) { MouseX = Input.GetMouseX(); MouseY = Input.GetMouseY(); if( MouseX >= 514 && MouseX < 758 && MouseY >= 217 && MouseY < 256 ) }
Druga sprawa to kolejne osobne funkcję. Pierwotnie jest się w int main(), ale po przejściu z menu głównego do gry(tzn start gry) chciałbym kolejne części algorytmów umieścić np. w void gra(), tylko wtedy czy można tworzyć kolejne while (App.IsOpened()) ? I czy wtedy wszystko jakby będzie działać normalnie? Trzecie pytanie to jak zrobić, żeby bo najechaniu na przycisk(tzn. prostokąt z shape) w menu, żeby na przycisku pokazała się ramka z osobnego pliku bez tła? Bardzo proszę o odpowiedź na powyższe pytania i ewentualne ich wyjaśnienie. |
|
DejaVu |
» 2012-12-27 04:41:27 Z dokumentacji wynika, że nie ma takiej możliwości (może coś przeoczyłem bo na szybko sprawdzałem) - no ale przecież zawsze można sobie funkcję do tego napisać: if( czyZaznaczony( oknoAplikacji, obiekt ) && czyKliknieto( LewyPrzycisk ) ) { }
|
|
SeaMonster131 |
» 2012-12-27 10:44:55 Druga sprawa to kolejne osobne funkcję. Pierwotnie jest się w int main(), ale po przejściu z menu głównego do gry(tzn start gry) chciałbym kolejne części algorytmów umieścić np. w void gra(), tylko wtedy czy można tworzyć kolejne while (App.IsOpened()) ? I czy wtedy wszystko jakby będzie działać normalnie? |
Ja zawsze robię to w mniej więcej taki sposób: enum GameMode { e_gameplay, e_menu } gm; gm = e_menu;
...
while() { if( gm == e_menu ) wys_menu(); if( gm == e_gameplay ) wys_gameplay(); }
Trzecie pytanie to jak zrobić, żeby bo najechaniu na przycisk(tzn. prostokąt z shape) w menu, żeby na przycisku pokazała się ramka z osobnego pliku bez tła? |
Moim zdaniem najlepiej jest użyć *.png z przezroczystością. |
|
Mrovqa |
» 2012-12-27 17:15:34 Tryby (stany) gry można też ładnie zrobić z pomocą klas i dziedziczenia :) Pierwotnie jest się w int main(), ale po przejściu z menu głównego do gry(tzn start gry) chciałbym kolejne części algorytmów umieścić np. w void gra(), tylko wtedy czy można tworzyć kolejne while (App.IsOpened()) ? I czy wtedy wszystko jakby będzie działać normalnie? |
Możesz. |
|
marcin107 Temat założony przez niniejszego użytkownika |
» 2012-12-27 22:59:52 A jak zrobić, żeby wyświetlało daną ramkę tylko i tylko wtedy kiedy myszka znajduje się w danym zasięgu X,Y. Udało mi się zrobić, że się wyświetla ramka.png po najechaniu na obszar, ale nie umiem później tego wyczyścić... |
|
DejaVu |
» 2012-12-28 03:19:19 Jeden temat = jeden problem. Obecnie zadajesz kolejne pytania, które mają zaspokoić tylko i wyłącznie Twoje potrzeby, a nie stanowić pomocną informację dla osób potomnych. Załóż osobny temat, nazwij go odpowiednio i wtedy można dyskutować na konkretny temat. |
|
« 1 » |