Pytania otagowane jako game-loop

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ę.


3
Jak napisać główną pętlę gry? [Zamknięte]
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ć.

5
Jaki jest sens renderowania niezależnego od aktualizacji w pętli gry?
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: …

5
Czy aktorzy w grze powinni być odpowiedzialni za losowanie?
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 …


3
Jaka jest standardowa pętla gry C # / Windows Forms?
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ż …

2
Dobry sposób na zbudowanie pętli gry w OpenGL
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 …
31 opengl  c  game-loop 


4
Jaki jest sens „delta” w tym kodzie? Czy odzwierciedla to standardową rzecz w grze deweloperów?
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 …



1
Drzewa zachowań :: Akcje, które trwają dłużej niż jeden tyk
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 …
19 ai  game-loop  behavior 


2
Gdzie należy umieścić logikę wykrywania kolizji?
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: …

2
Dlaczego mój odtwarzacz sprite porusza się szybciej, gdy poruszam myszą?
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 …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.