Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Sprites
#1
Nie mogę tego zrozumieć, próbowałem wielu tutów, i mam tak daleko:         Kod:   // dołącz podstawowe pliki nagłówkowe systemu Windows i plik nagłówkowy Direct3D #include <windows.h> #include <windowsx.h> #include <d3d9.h> #include <d3dx9.h> // definiowanie rozdzielczości ekranu i makr klawiatury #define SCREEN_WIDTH 800 #define SCREEN_HEIGHT 600 #define KEY_DOWN (kod_kodu) ((GetAsyncKeyState (kod_kodu) & 0x8000)? 1: 0) #define KEY_UP (kod_kodu) ((GetAsyncKeyState (kod_kodu) & 0x8000)? 0: 1) // dołączyć do biblioteki Direct3D plik #pragma comment (lib, "d3d9.lib") #pragma comment (lib, "d3dx9.lib") // globalne deklaracje LPDIRECT3D9 d3d; // wskaźnik do naszego interfejsu Direct3D LPDIRECT3DDEVICE9 d3ddev; // wskaźnik do klasy urządzenia LPD3DXSPRITE d3dspt; // wskaźnik do naszego interfejsu Direct3D Sprite // deklaracje sprite LPDIRECT3DTEXTURE9 ikonka; // wskaźnik do sprite // prototypy funkcji void initD3D (HWND hWnd); // ustawia i inicjuje Direct3D void render_frame (void); // renderuje pojedynczą ramkę void cleanD3D (void); // zamyka Direct3D i zwalnia pamięć // prototyp funkcji WindowProc LRESULT CALLBACK WindowProc (HWND hWnd, komunikat UINT, WPARAM wParam, LPARAM lParam); // punkt wejścia dla dowolnego programu Windows int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {HWND hWnd; // skonfiguruj i zainicjuj Direct3D initD3D (hWnd); } // ta funkcja inicjuje i przygotowuje Direct3D do użycia void initD3D (HWND hWnd) {d3d = Direct3DCreate9 (D3D_SDK_VERSION); D3DPRESENT_PARAMETERS d3dpp; // utwórz klasę urządzeń, korzystając z tych informacji i informacji ze strojenia d3dpp d3d -> CreateDevice (D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, i d3dpp, & d3ddev); D3DXCreateSprite (d3ddev, & d3dspt); // utwórz obiekt Direct3D Sprite D3DXCreateTextureFromFile (d3ddev, "gui.png", & sprite); powrót ; } // to jest funkcja używana do renderowania pojedynczej klatki void render_frame (void) {// wyczyść okno do ciemnoniebieskiego d3ddev -> Wyczyść (0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB (0, 0, 0), 1.0f , 0); d3ddev -> BeginScene (); // rozpoczyna scenę 3D d3dspt -> Rozpocznij (NULL); // rozpocznij sprite drawing // narysuj sprite centrum D3DXVECTOR3 (0.0f, 0.0f, 0.0f); // centrum w lewym górnym rogu pozycji D3DXVECTOR3 (50,0f, 50,0f, 0.0f); // pozycja przy 50, 50 bez głębokości d3dspt -> Rysuj (sprite, NULL, & center, & position, D3DCOLOR_XRGB (255, 255, 255)); d3dspt -> End (); // koniec rysunku ikonki d3ddev -> EndScene (); // kończy scenę 3D d3ddev -> Present (NULL, NULL, NULL, NULL); powrót ; } // to jest funkcja, która czyści Direct3D i COM void cleanD3D (void) {sprite -> Release (); d3ddev -> Release (); d3d -> Release (); powrót ; }   kiedy testuję to na przykładzie programu hans, program ulega natychmiastowemu zawieszeniu, a na op7 to crash, ale dosent pokazuje wszystko, potrzebuję pomocy, nie mam pojęcia jak z nimi pracować i chcę się po prostu nauczyć jak.
Reply
#2
Proszę ... dowiedz się o Direct3D zanim opublikujesz tutaj ... spójrz na atramenty na górze tej sekcji, a tutorias i sekcja source ... nie podpinacie nic z tym kodem .. to jest kod do stworzenia pliku wykonywalnego. EDYCJA: http://www.unknowncheats.me/forum/sh...ad.php?t=36725 sprawdź ten wątek, świetne strony tam
Reply
#3
To jest z samouczka dla win32, więc jeśli jesteś c / ping to do konsoli lub biblioteki dll, nie bądź zaskoczony, jeśli mówi ci, aby iść f *** sam ^ _ ^
Reply
#4
nie widzę, żebyś sprawdzał wartości zwracane, nie rozumiem, jak to zrobiłeś w bazie hans, Nie widzę żadnych rejestrów, aby zobaczyć, gdzie się nie udają ...
Reply
#5
ok, więc przeczytałem garść orzechów, i nie mogę tego dostać, nie zastosowałem się do tego do bazy hans, testowałem to na programie testowym hans, i widzę to dla aplikacji teraz ale myślałem, że mogę to pokazać, jeśli usunąłem wszystkie rzeczy z aplikacji, więc domyślam się, że muszę czytać, po prostu nie mogę znaleźć niczego
Reply
#6
Zacytować: Napisał JMelendez ok, więc przeczytałem garść orzechów, i nie mogę tego dostać, nie zastosowałem się do tego do bazy hans, testowałem to na programie testowym hans, i widzę to dla aplikacji teraz ale myślałem, że mogę to pokazać, jeśli usunąłem wszystkie rzeczy z aplikacji, więc domyślam się, że muszę czytać, po prostu nie mogę znaleźć niczego jest głupio myśleć, że c / ping źródło oparte na win32 do biblioteki dll bez niektórych funkcji będzie magicznie działało
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)