game-loop相关内容

android游戏循环与渲染线程中的更新

我正在制作一款安卓游戏,但目前无法获得我想要的性能.我在自己的线程中有一个游戏循环,可以更新对象的位置.渲染线程将遍历这些对象并绘制它们.当前的行为似乎是波动/不均匀的运动.我无法解释的是,在我将更新逻辑放在它自己的线程中之前,我将它放在 onDrawFrame 方法中,就在 gl 调用之前.在这种情况下,动画非常流畅,只有当我尝试通过 Thread.sleep 限制更新循环时,它才会变得不稳定/ ..
发布时间:2022-01-09 09:21:00 移动开发

用于游戏循环的 Java TimerTick 事件

我尝试使用 java.util.Timer 中的 Timer 在 Java 中制作游戏循环.我无法在计时器滴答期间执行我的游戏循环.下面是这个问题的一个例子.我试图在游戏循环期间移动按钮,但它没有在计时器滴答事件上移动. import java.util.Timer;导入 java.util.TimerTask;导入 javax.swing.JFrame;导入 javax.swing.JButt ..
发布时间:2021-12-31 15:38:32 Java开发

抽象渲染方法如何工作?(爪哇)

假设你想要一个名为 play 的抽象类,它有一个 render 方法. 公共抽象类RenderPanel{公共抽象无效渲染();} 然后你有另一个类,它使用某种游戏循环调用渲染方法. 公共类Window实现Runnable{公共无效运行(){在跑步的时候){RenderPanel.render();线程睡眠(5000);}}} 此代码不起作用,因为您无法静态调用抽象类,也无法实例化该类. ..
发布时间:2021-11-25 09:15:14 Java开发

在 JavaFX 中,如何在屏幕上移动精灵?

我是 JavaFX 的新手,我正在尝试编写一个动画 2D 角色在屏幕上行走的游戏(例如原始的塞尔达传说游戏).我在 Swing 中做到了这一点,通过创建我自己的 Sprite 类并覆盖 Swing 中的paintComponent() 方法,并放置我自己的 g2d.drawImage(...);在那里调用,它会将正确的子帧从 Sprite 复制到 JPanel 中正确的 x,y 目标,从而实现动画 ..
发布时间:2021-11-10 05:33:52 其他开发

我如何制作“循环"?对于游戏,每(数)毫秒运行一次?

我曾尝试在 google 和 stackoverflow 上搜索此内容,但不知道该取什么名字,所以找不到. 我将如何为 C# 程序创建一个“循环",例如每 100 毫秒运行一次?类似于 Minecraft 所说的“滴答声",或者 GameMaker 所说的“步数". 我不知道如何做到这一点.我正在使用 Visual Studio,并且有一个主窗口.有些事情我想不断地执行,所以我想弄清楚 ..
发布时间:2021-09-18 20:08:33 C#/.NET

Swing动画暂停和恢复

我想为我的游戏添加暂停/恢复的可能性.不幸的是,我的解决方案只会暂停游戏,但不会恢复它(当我单击“恢复"按钮时没有任何反应 - 图像仍然存在).我还尝试在 thread 上调用 wait/notify 方法,但它也不起作用 - 我在线程“AWT-EventQueue-0"java.lang.IllegalMonitorStateException 中遇到了 Exception.暂停/恢复的最佳解决 ..
发布时间:2021-09-02 20:04:29 Java开发

C++ 游戏循环示例

有人可以为一个只有“游戏循环"的程序编写一个源代码,它会一直循环直到您按 Esc 键,并且程序会显示一个基本图像.这是我现在拥有的源代码,但我必须使用 SDL_Delay(2000); 使程序保持活动状态 2 秒,在此期间程序被冻结. #include "SDL.h"int main(int argc, char* args[]) {SDL_Surface* 你好 = NULL;SDL_Surf ..
发布时间:2021-07-17 19:32:32 C/C++开发

无需消耗CPU即可休眠/等待

因此,我正在将此智能手机应用程序模拟为Windows.这是一款以 1/60 速率运行其逻辑并绘制方法的游戏.以毫秒为单位,为 16.6667 我已经实现了这个游戏循环: private const double UPDATE_RATE = 1000d/60d;私人void GameLoop(){double startTime;而(GetStatus()!= GameStatus.Not ..
发布时间:2021-04-18 20:30:05 C#/.NET

如何每隔五秒钟使用游戏循环在屏幕上显示和消失一个对象

我正在尝试学习Android中的游戏开发.首先,我尝试每隔五秒钟使用游戏循环在屏幕上显示和消失一个对象.但是我没有成功.我阅读了不同的教程和论坛.我按照教程中的说明应用了所有内容,但对象仍在不断绘制.它并没有消失.我没有得到我想念的东西吗?请指导我. 完整的代码在这里: MainGameActivity.java 包com.example.showandhideobject;导入an ..
发布时间:2021-04-05 20:42:23 移动开发

平滑画布动画

我正在尝试学习如何使用HTML5的画布创建平滑的JavaScript动画.由于某些原因,动画不是平滑的,而是一种“溅射". 您可以看到我基于此jsFiddle 构建的框架,该框架目前仅使用Webkit属性 另一位开发人员能够使用其WebViews源代码创建相同的概念,该源代码基于 Ext.js .出于学习目的,我想避免使用任何库来更好地理解JavaScript.可以在此jsFiddle ..
发布时间:2020-11-24 18:51:11 前端开发

如何为游戏循环设置计时器?

我想对fps计数,并将其限制设置为60,但是我一直在通过Google查看一些代码,但我完全没有得到它. 解决方案 您不应尝试限制fps.这样做的唯一原因是,如果您不使用增量时间,并且希望每个帧的长度都相同.即使是最简单的游戏也无法保证. 不过,您可以将增量时间切成固定大小,然后保留其余部分. 这是我最近编写的一些代码.尚未经过全面测试. void GameLoop::Ru ..
发布时间:2020-11-10 20:30:04 C/C++开发

Gaffer的游戏时间步长:std :: chrono实现

如果您不熟悉Gaffer on Game文章“固定时间步长”,可以在这里找到: https://gafferongames.com/post/fix_your_timestep/ 我正在构建游戏引擎,并努力我对std :: chrono更加满意。我一直在尝试使用std :: chrono实现固定的时间步,现在..几天了,我似乎无法将其包围住。这是我正在努力的伪代码: double ..
发布时间:2020-09-27 20:35:57 C/C++开发

Android:了解OnDrawFrame,FPS和VSync(OpenGL ES 2.0)

一段时间以来,我经历了Android游戏中运动的小精灵的间歇性“停顿".这是一个非常简单的2D OpenGL ES 2.0游戏. (这是一个持续存在的问题,我已经多次访问过.) 在我的游戏循环中,我有2个“计时器"-一个将记录前一秒的帧数,另一个记录从当前onDrawFrame迭代结束到开始的时间(以毫秒为单位).下一个. 这是我发现的东西: 当不渲染任何东西时,我得到60fps ..
发布时间:2020-05-21 00:44:42 移动开发

有关游戏循环,滴答和实时编程的一些问题

首先,我要为我的近似英语(我是法国人)道歉.我目前正在使用LWJGL在Java中制作实时游戏. 我对游戏循环有一些疑问: 我正在线程中运行渲染例程.这是个好主意吗?通常,渲染例程相当慢,并且不应该减慢世界更新(刻度)例程的速度,这一点更为重要.因此,我想在这里使用线程似乎是个好主意(减去使用线程带来的复杂性). 在世界更新例程中,我正在使用当前时间更新实体列表.然后,每个实体都可以计算自己 ..
发布时间:2020-05-13 23:22:02 其他开发

在不冻结UI线程的情况下实现游戏循环的最佳方法

我正在尝试用Java制作一个简单的2D游戏. 到目前为止,我有一个带有菜单栏的JFrame和一个扩展JPanel并覆盖它的paint方法的类.现在,我需要进行一个游戏循环,在该循环中我将更新图像的位置,依此类推.但是,我一直坚持如何最好地实现这一目标.我是否应该使用多线程,因为可以肯定的是,如果在主线程上进行无限循环,UI(以及我的菜单栏)将会冻结? 到目前为止,这是我的代码: ..
发布时间:2020-05-13 21:34:29 Java开发