• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Nie zamykające się okienko

0 głosów
917 wizyt
pytanie zadane 3 października 2015 w C i C++ przez Avernis Nałogowiec (27,400 p.)

Jak zrobić coś takiego że jak mamy ten kod:

if(p1.Collision(p2) && Mouse::isButtonPressed(Mouse::Right) && sprite_a.getLocalBounds().contains(TransformedPosition))
        {
            g1.draw_rectangle(200, 300, 500, 10);
            g1.draw_gui(50, 50, 520, 30);
        }

to żeby okienka się nie zamukały, z góry muwię że te drawy to RectangeShape

1 odpowiedź

0 głosów
odpowiedź 3 października 2015 przez niezalogowany

Ale jakie okienka? W jakim sensie nie zamykały (czy może nie znikały)?

Jeżeli g1 to twoje okno, a draw_* to fnkcje rysujące to okno wyświetla sę tylko wtedy gdy ten if jest spełniony.

Jeżeli powinien on sprawiać, że po jakiejś akcji pojawi się okno, to powinieneś stworzyć im jakąś flagę, np isActive w tym if'ie przestawiać ją na true, a same okno rysować wtedy gdy isActive == true

komentarz 3 października 2015 przez Avernis Nałogowiec (27,400 p.)

Dzięki, rozumiem, ale mugłbym poprośić o mały przykłądzik, bo bez tego nigdy nie mogę wykombinować gdzie co włożyć laugh

komentarz 3 października 2015 przez draghan VIP (106,230 p.)

Avernisie, zanim zatwierdzisz tekst i wystawisz go publicznie, sprawdź proszę chociażby jego ortografię - tutejszy edytor (niestety!) nie podkreśla błędnie napisanych wyrazów.

Jak zrobić coś takiego, że jak mamy ten kod:
to żeby okienka się nie zamykały, z góry mówię, że te drawy to RectangeShape.
Dzięki, rozumiem, ale mógłbym poprosić o mały przykładzik, bo bez tego nigdy nie mogę wykombinować, gdzie co włożyć?

komentarz 3 października 2015 przez niezalogowany

Jak rozumiem g1 to klasa zrobiona przez ciebie, założmy że jest obiektem klasy GUI, którą zdefiniujemy następująco:

class GUI
{
public:
	GUI()
	{
		_active = false;
	}

	
	void setActive(bool active)
	{
		_active = active;
	}
	
	
	bool isActive()
	{
		return _active;
	}
	
	
	void setGeometry(sf::Vector2f pos,sf::Vector2f size)
	{
		elem.setSize(size);
		elem.setPosition(pos);
	}
	
	
	void draw(sf::RenderWindow &win)
	{
		if(_active)
			win.draw(elem);
	}
	
	
private:
	bool _active;
	sf::RectangleShape elem;
}



int main()
{
	GUI g1;
	g1.setGeometry(sf::Vector2f(20,20),sf::Vector2f(200,50)); // <- ustawienie na pozycji (20,20) i rozmiaru na 200x50
	
	sf::RenderWindow window(...);	// <- utworzenie okna
	while(window.isOpen())
	{
		sf::Event event;
		while(window.pollEvent(event))
		{
			// po wciśnięciu dowolnego klawisza sprawia że kwadrat pojawia się i znika na przemian
			if(event.type == sf::Event::KeyReleased)
			{
				g1.setActive(!g1.isActive);
			}
		}
	}
}

Jeżeli nigdzie nie zrobiłem błędu to na scenie powinien pojawić ci się kwadrat, który reprezentuje "okno". W razie niejasności pisz

Poradnik jak zrobić własne GUI mam zamiar dodać w przyszłości na moim blogu, więc polecam tam zaglądać

komentarz 3 października 2015 przez Avernis Nałogowiec (27,400 p.)
Oddalam to pytanie. Ciągle tylko, tekst, tekst, tekst, a umiez rozwiązać mój problem? Mam dosyć tego, już połowa forum mi o tym piep****a. Nie wiedziałem że to forum polonistyczne!
komentarz 3 października 2015 przez draghan VIP (106,230 p.)

Drogi Avernisie, spokojnie. Nie piszę tego ze złośliwości. Skoro "już połowa forum mi o tym piep****a", to coś jest na rzeczy i warto byłoby nad tym popracować. Twojego posta po prostu źle się czyta - o innych nic nie wiem, bo dawno tu nie zaglądałem.

Ach... Jeszcze coś. Być może potrafię rozwiązać Twój problem, ale ja nie zamierzam poświęcać swojego czasu na osobę, która mnie nie szanuje* - poza tym Twoim problemem już zajął się Szymon Siarkiewicz i wierzę, że Mu się uda. Jeśli nie, to wtedy mogę ewentualnie zakasać rękawy.

I nie bierz tego stricte do siebie, bo nie jest to żaden atak na Ciebie, tylko rada na przyszłość. :)


*- czy ktoś, kto nie poświęci kilku sekund na przejrzenie własnego tekstu szanuje czas innych, którzy poświęcają swój czas na bezinteresowną pomoc?

komentarz 3 października 2015 przez niezalogowany
@draghan - ej weź daj jakąś odpowiedź, bo chcę ci dać łapkę w górę ;)
komentarz 3 października 2015 przez Avernis Nałogowiec (27,400 p.)
mózg nie czyta całych wyrazów a tylko koniec i poczętek więc można to spokojnie przeczytać
komentarz 3 października 2015 przez niezalogowany
Pomyliłeś z tym, że jak się poprzestawia literki w słowach, ale pierwsza i ostatnia literka zostanie na swoim miejscu, to mózg sam sobie je poukłada i zobaczy w nich zwykłe słowa ;)  Proszę, wpisałem w Google "zagadka pomieszane litery" i od razu mi wyskoczyło to co chciałem ;) https://www.google.pl/search?q=zagadka+pomieszane+litery&source=lnms&tbm=isch&sa=X&ved=0CAcQ_AUoAWoVChMIx_DD3filyAIVAoFyCh0FcAJJ&biw=1280&bih=685 Ale mózg i ręka muszą ze sobą współpracować, żeby ładnie napisać tekst ;)
komentarz 3 października 2015 przez draghan VIP (106,230 p.)

@draghan - ej weź daj jakąś odpowiedź, bo chcę ci dać łapkę w górę ;)

Nie ma tak dobrze. :)

mózg nie czyta całych wyrazów a tylko koniec i poczętek więc można to spokojnie przeczytać

Małe sprostowanie - jeśli jesteś sprawnym czytelnikiem, Twój umysł czyta całe wyrazy (lub nawet lepiej - całe ich grupy) na podstawie dopasowania wzorców. Więc jeśli jakiś wyraz pisze się przez "ó", a ktoś go napisze przez "u", to już się zaświeca czerwona lampka, wzorzec się nie zgadza.

Jeśli zamieniona jest kolejność liter gdzieś w środku wyrazu, nie wpływa to znacząco na odbiór, o ile nie zaburzy się znacząco kształtu wyrazu. Chyba że ktoś czyta wyrazy, skłaadjąc je po litrece.

Wyraz tólipan od razu razi w oczy, natomiast tulpian przejdzie.

komentarz 3 października 2015 przez niezalogowany
Mam dokładnie tak samo! Raz mi kolega powiedział, że lektura pisze się przez "ó", bo mu tak nauczycielka (chyba polskiego) powiedziała. Jak napisałem sobie słowo "lektóra" to jak to zobaczyłem, to aż mi się rzygać chciało ;D

Podobne pytania

0 głosów
2 odpowiedzi 799 wizyt
pytanie zadane 2 grudnia 2015 w C i C++ przez Avernis Nałogowiec (27,400 p.)
0 głosów
1 odpowiedź 407 wizyt
pytanie zadane 22 grudnia 2018 w C i C++ przez NintyS Użytkownik (940 p.)
0 głosów
1 odpowiedź 218 wizyt
pytanie zadane 21 czerwca 2018 w C i C++ przez oliwzcak12 Użytkownik (550 p.)

93,729 zapytań

142,668 odpowiedzi

323,283 komentarzy

63,288 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...