Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Pomoc z GUI


Rekomendowane odpowiedzi

Opublikowano

Hej potrzebuje pomocy a dokładniej wszystko przedstawię w kodzie!

Func Sklep()

#Region ### START Koda GUI section ### Form=
$Form3 = GUICreate("Gra", 357, 185, 398, 122)
$Label20 = GUICtrlCreateLabel("Mikstura Zdrowia", 24, 40, 85, 17)
$Label21 = GUICtrlCreateLabel("Super Łóżko", 24, 64, 65, 17)
$Label22 = GUICtrlCreateLabel("Magiczna Książka", 24, 88, 90, 17)
$Label23 = GUICtrlCreateLabel("Nowy Dom", 24, 112, 56, 17)
$Label24 = GUICtrlCreateLabel("Ogródek", 24, 136, 45, 17)
$Input20 = GUICtrlCreateInput("0", 184, 40, 49, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER))
$Labe25 = GUICtrlCreateLabel("Rodzaj:", 24, 16, 40, 17)
$Labe26 = GUICtrlCreateLabel("Ilość:", 184, 16, 29, 17)
$label27 = GUICtrlCreateLabel("Cena:", 124, 16 , 30, 17)
$Label28 = GUICtrlCreateLabel("20", 128, 40, 16, 17)
$Label29 = GUICtrlCreateLabel("200", 128, 64, 22, 17)
$Label30 = GUICtrlCreateLabel("50", 128, 88, 16, 17)
$Label31 = GUICtrlCreateLabel("20000", 128, 112, 34, 17)
$Label32 = GUICtrlCreateLabel("10000", 128, 136, 34, 17)
$Input21 = GUICtrlCreateInput("0", 184, 64, 49, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER))
$Input22 = GUICtrlCreateInput("0", 184, 88, 49, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER))
$Input23 = GUICtrlCreateInput("0", 184, 112, 49, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER))
$Input24 = GUICtrlCreateInput("0", 184, 136, 49, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER))
$Button10 = GUICtrlCreateButton("KUP", 248, 8, 91, 150)
$Button11 = GUICtrlCreateButton("Zamknij",248,160,91,20)
$Label33 = GUICtrlCreateLabel("Jedzenie", 24, 160, 46, 17)
$Label34 = GUICtrlCreateLabel("10", 128, 160, 16, 17)
$Input25 = GUICtrlCreateInput("0", 184, 160, 49, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button10
			wczyt()
			$load_0 =  GUICtrlRead($Input20) * GUICtrlRead($label28)
			$load_1 =  GUICtrlRead($Input21) * GUICtrlRead($label29)
			$load_2 =  GUICtrlRead($Input22) * GUICtrlRead($label30)
			$load_3 =  GUICtrlRead($Input23) * GUICtrlRead($label31)
			$load_4 =  GUICtrlRead($Input24) * GUICtrlRead($label32)
			$load_5 =  GUICtrlRead($Input25) * GUICtrlRead($label34)
			$load_6 = $load_0 + $load_1 + $load_2 + $load_3 + $load_4 + $load_5
			If $wczyt_stan < $load_6 Then

				MsgBox(1,"Gra","Nie posiadasz " & $load_6 & " pieniędzy!")

			ElseIf $wczyt_stan >= $load_6 Then

				MsgBox(1,"Gra","Zapłacono " & $load_6)
				IniWrite("game.ini","Save","Kasa",$wczyt_stan - $load_6)

			Else

			    MsgBox(1,"Gra","Coś poszło nie tak! :(")

			EndIf
		Case $Button11 <-------------------------------------------------------- TUTAJ!
			GUIDelete()
			GUISwitch($Gra)
	EndSwitch
WEnd

EndFunc 

Znajduje się tu wycinka z kodu gry, którą robię. Jak pewnie już zauważyliście GUI z Koda. Potrzebuje pomocy przy $Button11 czyli "Zamknij".

Chciałbym zamknąć całe GUI ale odrwacalnię czyli by móc ponownie włączyć sklep. Użycie GUIDelete() nie wchodzi z tego powodu w grę ponieważ usuwa calutkie GUI nieodwracalnie. Sam nie wiem czy nie chodzi o coś ze Switch... Każdego kto wie jak rozpoznać ten problem proszę o napisanie poniżej pomocnego posta.

 

. . .

Opublikowano

Hej dzięki pięknie za chwile sprawdze czy działa :)

 

@Edit

 

Niestety, dalej po zamknięciu przyciskiem nie można go ponownie otworzyć. Dam taki przykładzik.

 

PRZYSK OTWARCIA ---> GUI ---> PRZYCISK ZAMKNIĘCIA ---> GRA ---> PRZYCISK OTWARCIA(ponownie) ---> NIC :(

. . .

Opublikowano
$GUI_GRA = GUICreate("GRA",500,300)
$BUTTON_SKLEP = GUICtrlCreateButton("Włącz sklep",40,40,75,20)
$GUI_SKLEP = GUICreate("SKLEP",300,300)
$BUTTON_POWROT = GUICtrlCreateButton("Powrót",20,40,60,20)
GUISetState(@SW_SHOW,$GUI_GRA)

 While 1
		 Switch GUIGetMsg()
            Case -3
                Exit
			 Case $BUTTON_SKLEP
				GUISetState(@SW_HIDE,$GUI_GRA)
				GUISetState(@SW_SHOW,$GUI_SKLEP)
			 Case $BUTTON_POWROT
				GUISetState(@SW_HIDE,$GUI_SKLEP)
				GUISetState(@SW_SHOW,$GUI_GRA)
		 EndSwitch
WEnd

Zrób to takim sposobem. Twoja funkcja za każdym razem tworzy nowe okna co jest zbędne.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...