Centralna pętla kodu odpowiedzialna za obsługę bieżącej rozgrywki. W najbardziej podstawowym stanie przyjmuje dane wejściowe, rozwiązuje działania bytów i renderuje scenę.
Czy pętla gry powinna opierać się na stałych lub zmiennych krokach czasowych? Czy ktoś jest zawsze lepszy, czy właściwy wybór zależy od gry? Zmienny krok czasowy Aktualizacje fizyki są przekazywane argumentem „czas, jaki upłynął od ostatniej aktualizacji”, a zatem zależą od liczby klatek na sekundę. Może to oznaczać wykonywanie obliczeń …
Jak napisać główną pętlę gry? Jakie rzeczy powinieneś robić w pętli gry i jakich rzeczy nie powinieneś robić w pętli gry? Napisałem ich dużo, ale tak naprawdę nigdy nie czytałem na temat pętli gry. Jestem pewien, że mógłbym je znacznie poprawić, ale nie jestem pewien, jak to zrobić.
Istnieją dziesiątki artykułów, książek i dyskusji na temat pętli gier. Jednak często spotykam coś takiego: while(running) { processInput(); while(isTimeForUpdate) { update(); } render(); } To, co w zasadzie przeszkadza mi w tym podejściu, to renderowanie „niezależne od aktualizacji”, np. Renderowanie ramki, gdy nie ma żadnych zmian. Więc moje pytanie brzmi: …
Jestem bardzo nowy w tworzeniu gier, ale nie w programowaniu. Gram (ponownie) w grę typu Pong, używając canvaselementu JavaScript . Utworzyłem Paddleobiekt, który ma następujące właściwości ... width height x y colour Mam również Pongobiekt, który ma właściwości takie jak ... width height backgroundColour draw(). draw()Metoda obecnie jest zresetowanie canvasi …
Mam podstawową grę obrony wieży 2D w C ++. Każda mapa jest oddzielną klasą, która dziedziczy po GameState. Mapa deleguje logikę i kod rysunkowy do każdego obiektu w grze i ustawia dane, takie jak ścieżka mapy. W pseudokodzie sekcja logiki może wyglądać mniej więcej tak: update(): for each creep in …
Jak pisząc grę w języku C #, która korzysta ze zwykłych formularzy Windows Forms i niektórych interfejsów API graficznych, takich jak SlimDX lub OpenTK , jak powinna wyglądać główna pętla gry? Kanoniczna aplikacja Windows Forms ma wyglądający punkt wejścia public static void Main () { Application.Run(new MainForm()); } i chociaż …
Obecnie zaczynam uczyć się OpenGL w szkole, a pewnego dnia zacząłem tworzyć prostą grę (na własną rękę, nie dla szkoły). Używam freeglut i buduję go w C, więc w mojej pętli gry naprawdę korzystałem właśnie z funkcji, którą przekazałem, glutIdleFuncaby zaktualizować cały rysunek i fizykę za jednym przejściem. To było …
Bardzo mało wiem o programowaniu gier, ale chciałbym dowiedzieć się więcej. Próbuję zrozumieć kod tej gry. Próbuję zrozumieć, dlaczego kod przekazuje „deltę” do Shipcontrols.js, która zmienia kierunek statku na podstawie danych wprowadzonych przez użytkownika. Zasadniczo gra oblicza „deltę” w każdej pętli ... Oto skrócona wersja stosu, która wykorzystuje deltę przez …
Nigdy wcześniej tak naprawdę nie zajmowałem się programowaniem gier, dość proste pytanie. Wyobraź sobie, że buduję grę Tetris, w której główna pętla wygląda mniej więcej tak. for every frame handle input if it's time to make the current block move down a row if we can move the block move …
Zastanawiałem się, czy istnieje jakakolwiek szkoda, gdy moja pętla gry działa tak szybko, jak pozwala na to system? Obecnie mam pętlę, która mierząc upływ czasu w nanosekundach, uruchamia logikę gry i renderuje logikę z predefiniowanymi prędkościami bez problemu. W rzeczywistości każda logika, którą wykonuję w pętli, jest taktowana na określoną …
Z tego, co rozumiem na Drzewach Zachowań, każde Zachowanie powinno być krótką Akcją zorientowaną na cel, którą można wykonać w kilku iteracjach. Na przykład poniżej obraz drzewa zachowań: Załóżmy teraz, że zachowanie Drive To Enemy wymaga więcej niż kilku iteracji w drzewie. Tak więc przy każdym przejściu wywoływany jest Drive …
Piszę komputerową wersję gry Dominion . To turowa gra karciana, w której karty akcji, karty skarbów i karty punktów zwycięstwa są gromadzone w osobistej talii gracza. Struktura klas jest dość dobrze rozwinięta i zaczynam projektować logikę gry. Używam Pythona i mogę później dodać prosty GUI z pygame. Sekwencją tur graczy …
Rozwijam mały silnik do gier 2D. Znaki mają metodę malowania, która obecnie wykonuje następujące czynności: Oblicz nową pozycję postaci według jej prędkości itp. Zaktualizuj komórkę siatki kolizyjnej ** Narysuj postać na nowej pozycji ** Utworzyłem siatkę kolizyjną, aby zmniejszyć liczbę kontroli skrzyżowań Podstawowym algorytmem, który myślałem o wykrywaniu kolizji, jest: …
Próbuję opracować prostą grę stworzoną za pomocą Pygame (biblioteka Python). Mam spriteobiekt, który jest playeri poruszam go za pomocą klawiszy strzałek. Jeśli nie poruszę myszą, duszek porusza się normalnie, ale kiedy poruszam myszą, duszek porusza się szybciej (jak x2 lub x3). playerObiekt znajduje się wewnątrz charsGroupvar. Uruchomiłem grę w W7 …
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.