Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Moje menu 2D z 2 poziomami głębokości
#1
Przede wszystkim chcę podziękować UC za ogromną ilość niesamowitych zasobów. W ciągu ostatnich dwóch tygodni uczyłem się C ++, podstawowego Direct X oraz teorii i aplikacji do debugowania. W zamian za wspaniałe zasoby dostępne tutaj, chciałbym podzielić się z Wami moim pierwszym narzędziem, które stworzyłem od zera.   To menu 2D umożliwia określenie menu głównych i podmenu poniżej.         Nawigacja po menu: Wstaw klucz = włączanie / wyłączanie stanu menu   4 klawisze strzałek = poruszanie się po menu. Po wybraniu hackera użyj strzałki w lewo, aby zmniejszyć, a strzałki w prawo, aby zwiększyć wartość     Kod menu:    Implementacja pliku źródłowego klasy menu   Plik nagłówka     Tworzenie instancji klasy Menu i używanie jej publicznych metod Zmienne globalne   Inicjowanie właściwości menu i właściwości menu ustawień   Odpytywanie dla wejścia menu   Odpytywanie aktualnej wartości ustawienia ataku hakera         I. Implementacja menu:     a) Plik źródłowy: HackMenu.cpp     Kod:   #include "HackMenu.h" #include "d3d9.h" #include <windows.h> #include <wektor> #include <string> using namespace std; HackMenu :: HackMenu (LPDIRECT3DDEVICE9 lpDev, int menuWidth, int menuHeight, int menuBorderWidth) //: m_pDev (lpDev) {m_pDev = lpDev; menuEnabled = false; boxWidth = menuWidth; boxHeight = menuHeight; borderWidth = menuBorderWidth; D3DXCreateFont (m_pDev, 17, 7, FW_BOLD, 1, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial" i fontMainMenu); D3DXCreateFont (m_pDev, 14, 5, FW_BOLD, 1, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial" i fontSubMenu); mainMenuSelected = 0; subMenuSelected = - 1; } Void HackMenu :: display () {if (menuEnabled) {for (int i = 0; i <mainMenus. Size (); i ++) // Utwórz menu główne {menuBorderBox. x1 = i * boxWidth; menuBorderBox. x2 = (i * boxWidth) + boxWidth; menuBorderBox. y1 = 0; menuBorderBox. y2 = boxHeight; menuBodyBox. x1 = (i * boxWidth) + borderWidth; menuBodyBox. x2 = (i * boxWidth) + (boxWidth - borderWidth); menuBodyBox. y1 = borderWidth; menuBodyBox. y2 = boxHeight - borderWidth; menuBodyBoxRect. bottom = menuBodyBox. y2; menuBodyBoxRect. left = menuBodyBox. x1; menuBodyBoxRect. right = menuBodyBox. x2; menuBodyBoxRect. top = menuBodyBox. y1; if (mainMenuSelected == i && subMenuSelected! = - 1) {for (int j = 0; j <mainMenus. at (i). individualHacks. size (); j ++) // Tworzenie podmenu / hack dla każdego menu główne {hackBorderBox. x1 = i * boxWidth; hackBorderBox. x2 = (i * boxWidth) + boxWidth; hackBorderBox. y1 = menuBorderBox. y2 + (j * boxHeight); hackBorderBox. y2 = menuBorderBox. y2 + (j * boxHeight) + boxHeight; hackBodyBox. x1 = (i * boxWidth) + borderWidth; hackBodyBox. x2 = (i * boxWidth) + (boxWidth - borderWidth); hackBodyBox. y1 = menuBorderBox. y2 + (j * boxHeight) + borderWidth; hackBodyBox. y2 = menuBorderBox. y2 + (j * boxHeight) + (boxHeight - borderWidth); hackBodyBoxRect. bottom = hackBodyBox. y2; hackBodyBoxRect. left = hackBodyBox. x1; hackBodyBoxRect. right = hackBodyBox. x2; hackBodyBoxRect. top = hackBodyBox. y1; if (subMenuSelected == j) {DrawBox (& hackBodyBox, & hackBorderBox, D3DCOLOR_ARGB (255, 0, 0, 0), D3DCOLOR_ARGB (255, 0, 255, 0)); } else {DrawBox (& hackBodyBox, & hackBorderBox, D3DCOLOR_ARGB (120, 0, 255, 0), D3DCOLOR_ARGB (120, 0, 255, 0)); } char hackNameAndValue [20]; strcpy (hackNameAndValue, mainMenus. at (i). individualHacks. at (j). hackName); sprintf (hackNameAndValue, "% s =% i", hackNameAndValue, getHackStatus (i, j)); fontSubMenu -> DrawTextA (NULL, hackNameAndValue, - 1, i hackBodyBoxRect, (DT_VCENTER), D3DCOLOR_ARGB (255, 160, 32, 240)); }} if (mainMenuSelected == i) {DrawBox (& menuBodyBox, & menuBorderBox, D3DCOLOR_ARGB (255, 0, 255, 0), D3DCOLOR_ARGB (255, 0, 255, 0)); } else {DrawBox (& menuBodyBox, & menuBorderBox, D3DCOLOR_ARGB (255, 0, 0, 0), D3DCOLOR_ARGB (100, 255, 0, 0)); } FontMainMenu -> DrawTextA (NULL, mainMenus. At (i). Menunazwa, - 1, i menuBodyBoxRect, (DT_VCENTER | DT_CENTER), D3DCOLOR_ARGB (255, 160, 32, 240)); }}} Void HackMenu :: addMainMenu (char * menuName, int liczbaOfHacks,
Reply
#2
fajne wydanie jakich zasobów używasz do nauki ..... dowolnej strony internetowej? więc zaczynam czytać ....... widzę, że potrafisz używać środków przeciwbólowych dodając prywatną klasę .... do swojej pracy ... fajna praca ...
Reply
#3
lol przyszedłeś tak daleko ucząc się bez żadnej wiedzy przed rozpoczęciem, a nie c + p? Wow, to naprawdę dobrze Kontynuuj naukę i dziękuj za Twój wkład
Reply
#4
Zacytować: Wysłane przez pierwotnie 5 $ andimyours lol przyszedłeś tak daleko ucząc się bez żadnej wiedzy przed rozpoczęciem, a nie c + p? Wow, to naprawdę dobrze Kontynuuj naukę i dziękuj za Twój wkład On jest dobrym uczniem ... lol ... Ten sam ja ... Jestem programistą w Javie ... i nigdy nie uczyłem się c ++ .. po prostu używa mojej głowy .... lol
Reply
#5
Fajna wersja, ja sam nigdy nie stworzyłem menu. Mam nadzieję, że wkrótce zacznę się uczyć
Reply
#6
Zacytować: Pierwotnie wysłana przez Crucial Fajna wersja, ja sam nigdy nie stworzyłem menu. Mam nadzieję, że wkrótce zacznę się uczyć 1+ za to: głupie: @op Dobry wkład, sir.
Reply
#7
Niezłe w ogóle za pierwsze menu. Mieć jakieś + rep.
Reply
#8
Zacytować: Wysłane przez pierwotnie najeźdźców Niezłe w ogóle za pierwsze menu. Mieć jakieś + rep. Zgadzam się z bandytami. Mam nadzieję, że będziesz używał powtórzenia Teraz kontynuuj przesuwanie swoich limitów.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)