Simple DirectMedia Layer (SDL) to wieloplatformowa biblioteka multimedialna zaprojektowana w celu zapewnienia niskiego poziomu dostępu do dźwięku, klawiatury, myszy, joysticka, sprzętu 3D przez OpenGL i bufora ramki wideo 2D.
Zacząłem oglądać strumień Handmade Hero , gdzie Casey Muratori tworzy silnik gry bez użycia ram lub tym podobnych. Wczoraj dotarłem do części, w której pokazał, jak obraz jest rysowany na ekranie. O ile rozumiem, po prostu przydzielił trochę pamięci tak dużej, jak rozmiar ekranu, na który chce narysować. Następnie stworzył …
Podczas gdy biblioteka taka jak SDL zapewnia wieloplatformowy interfejs API do tworzenia wątków, myślę, że naiwnością byłoby zakładać, że prowadzi to bezpośrednio do łatwego rozwoju gier na bardzo różnych platformach (stacjonarnych / mobilnych). Jaki jest najlepszy sposób radzenia sobie z programowaniem w ten sposób (biorąc pod uwagę dowolny wieloplatformowy interfejs …
Czy istnieje standardowa technika zarządzania danymi wejściowymi w dużych grach. Obecnie w moim projekcie cała obsługa danych wejściowych odbywa się w pętli gry, podobnie jak: while(SDL_PollEvent(&event)){ switch(event.type){ case SDL_QUIT: exit = 1; break; case SDL_KEYDOWN: switch(event.key.keysym.sym){ case SDLK_c: //do stuff break; } break; case SDL_MOUSEBUTTONDOWN: switch(event.button.button){ case SDL_BUTTON_MIDDLE: //do stuff …
Pracuję nad prostą grą w OpenGL, używając SDL do inicjalizacji wyświetlania i wprowadzania danych, i wydaje się, że pod względem czasu mam dwie dostępne opcje. Numer jeden to właśnie śpiący dla optimTimePerFrame - theTimeTakenToRender, gdy optimTimePerFrame w sekundach = 1 / theFramerateCap. (Nie jestem do końca pewien, czy jest to …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów opracowywania gier. Zamknięte 6 lat temu . Podczas grania w kilka gier w wolnym czasie, natknąłem się na grę survivalową 2D / 3D. Gra została najwyraźniej …
Jak mogę uwięzić mysz użytkownika w mojej grze? Nie jest to gra pełnoekranowa, ale chcę, żeby użytkownik nie mógł przeciągnąć myszy poza ekran. Czy muszę sprawdzić współrzędne myszy i SDL_WarpCursor, aby powiedzieć to w oknie (ręcznie), czy też istnieje sposób automatyczny? Dziękuję Ci.
Słyszałem, że możesz obliczyć czas delta za pomocą dwóch funkcji o nazwie SDL_GetPerformanceCounter i SDL_GetPerformanceFrequency. Nie jestem pewien, jak działają całkowicie, ale słyszałem, że jest to trochę podobne do używania SDL_GetTicks () Uint64 NOW, LAST; double deltaTime = 0; while (somebool) { LAST = SDL_GetPerformanceCounter(); NOW = SDL_GetPerformanceCounter(); LAST = …
Do samokształcenia piszę silnik platformowy 2D w C ++ za pomocą SDL / OpenGL. Początkowo zacząłem od czystego SDL, korzystając z samouczków na sdltutorials.com i lazyfoo.net, ale teraz używam SDL do tworzenia kontekstu renderowania OpenGL, a następnie renderowania za pomocą funkcji OpenGL (konkretnie trybu natychmiastowego, ale uczę się o VAO …
Próbuję napisać platformówkę, w której duszki dla poziomów tła są podzielone na kawałki 512 x 512. Trzymam w pamięci 3 porcje na raz i próbuję napisać kod, żeby wszystkie trzy były na ekranie. Oto aktualny kod, który mam: SDL_Rect where; where.y = -game->camera->y; where.x = -game->camera->x - MAP_WIDTH; SDL_BlitSurface(left_chunk, NULL, …
W ciągu ostatnich miesięcy byłem zajęty programowaniem 2D JRPG (japońskiego stylu RPG) w C ++ przy użyciu biblioteki SDL. Tryb eksploracji jest mniej więcej gotowy. Teraz zajmuję się trybem bitwy. Nie udało mi się znaleźć żadnych zasobów na temat struktury klasycznego turowego systemu bitewnego JRPG. Wszystko, co znajduję, to dyskusje …
udało mi się skompilować i połączyć V8 z moją grą, a interpretacja kodu działa dobrze. Jednak chcę podzielić mój kod, a pętla gry powinna istnieć w jednym wątku, a silnik skryptowy powinien działać w drugim wątku obok mojej pętli gry. Korzystam z SDL i dlatego wypróbowałem ten kod, aby spawnować …
Czytałem, że szybkość obiektów w grze nie powinna być utrudniana przez FPS, ale zamiast tego powinna być oparta na czasie. Jak mogę oddzielić kod aktualizacji / rysowania, aby zmaksymalizować wydajność bez ograniczania szybkości rysowania i zapewnić stałą logiczną szybkość aktualizacji na podstawie czasu? Mój obecny pseudo kod jest następujący loop …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów opracowywania gier. Zamknięte w zeszłym roku . Mam duże doświadczenie z C ++, ale nie mam doświadczenia w programowaniu gier. Tego lata planuję stworzyć platformówkę 2D …
Większość rozwoju zajmuję się na OS X, a moim obecnym projektem gry jest to moje środowisko docelowe. Jednak gdy gram w gry, gram w systemie Windows. Jako gracz systemu Windows jestem przyzwyczajony do przełączania Alt + Tab z poziomu gry do ostatnio otwartej aplikacji. W systemie OS XI nie mogę …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.