问题标签 [game-loop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
387 浏览

c++ - DARK gdk,背景覆盖精灵?

3 是覆盖精灵的背景。在游戏循环中会发生这种情况

基本上第一行涵盖了接下来两行发生的事情!我需要 id 为 1 的精灵出现在移动的背景上。

谢谢

0 投票
3 回答
2386 浏览

java - 如何在我的空游戏中计算 FPS?

为了创建游戏循环,我遵循了这个优秀的教程。但我认为下一个关于显示 FPS 的教程有点不确定,所以我尝试单独进行。我对自己的trackFps()方法相当有信心;它在计算帧之间的时间差后调用,每次运行时测量预测的 FPS,将这些预测的 FPS 值存储在 中ArrayList,然后每经过一秒钟,将这些预测的 FPS 相加并除以添加的值的数量以获得平均 FPS。

当我使用调试器运行它时,它运行良好,但是当我正常运行它时,我得到以下异常:

这很容易解释,并且发生在这条线上fps += fpsStore.get(fpsTrackCount-1);。但我看不出fpsTrackCount变量怎么会高达 26,它应该只与存储在ArrayList fpsStore.

有人会浏览我的GameLoop课程,特别是trackFps()底部的方法吗?我会提供整个事情。它被大量评论,但内容不多,对你们中的一些人来说应该非常熟悉。

GameLooptrackFps()底部包含计算FPS的方法):

0 投票
1 回答
99 浏览

ios - 更新 cocos2d 中的循环和按钮

我有一个简单的月球着陆器游戏。我通过积分来计算位置和所有内容 - 例如,每转一圈我都会采用向量并将它们组合起来,然后将结果向量应用于我的着陆器。

问题来了,我有一个按钮,我想用它来推力。如何在更新方法期间检查它是否打开?我想我会有一些 BOOL 标志在按下按钮时设置为 YES,但我什么时候将其设置为 NO?一些实际的实现会很棒。我使用 cocos2d-iphone 和 iOS。

0 投票
1 回答
1352 浏览

java - 重新开始游戏

我正在创建一个简单的井字游戏,但是每当游戏结束和单击重新启动按钮时,我都会陷入重新启动游戏的困境。我刚刚做了第一个水平按钮。当您按下它们时,会弹出一个窗口并告诉您有赢家。我只是为了测试而做的。但是当我按下重新启动时如何重新启动游戏?我只是java新手,我正在尝试自己制作游戏以进行改进。以下是我的代码的一些部分:

0 投票
1 回答
668 浏览

c++ - GDI窗口中的游戏循环/一段时间后不刷新并崩溃

这是我当前在普通窗口中的游戏循环:

...但我真的应该将 DrawGame 放在 Translate 和 DispatchMessage 之间吗?如果我将 DrawGame 放在 UpdateGame 上方/下方,则不会绘制任何内容。

过了一会儿,如果我画一个简单的矩形,它们就会开始相互重叠。它运行了大约一分钟,绘制了一个矩形网格(由于:您设置的窗口大小不是正确的窗口大小而导致位置不正确。过了一会儿它绘制了另一个网格,有时它完全搞砸了窗口似乎已经崩溃,我必须在 Visual Studio 中按下“停止”按钮。

那么,我究竟应该在哪里放置一个游戏循环,以及我如何知道何时绘制游戏?我主要需要绘制矩形,尽管这也不是很好。

0 投票
1 回答
295 浏览

html5-canvas - HTML5 画布游戏 setTimeInterval 为多个对象创建难度

我是第一次创建 HTML5 画布游戏。它是一款塔防游戏,所以基本上我有一系列来自“敌人”类的敌人物体,它们使用路径飞入。然后我还有一组来自“塔”类的塔对象,当它们靠近时会杀死它们。

对于移动多个敌人和从塔射击的这两种操作,我使用如下 setInterval 来更改它们的状态并通过在各自类的实例中使用设置的间隔来相互独立地射击动画。_thatTower.attackInterval = setInterval(function () ...此处触发代码... },50);

我面临的困难是这些 setIntervals 往往与其他实例混合在一起,并且在少数情况下结合在一起并将所有敌人的反应作为一个而不是独立的..

我希望这些独立工作。我对此有两种看法 - 1. 是否有更好的方法可以将 setintetval 用于我未使用的同一类不同实例。2. 或者可能是 setinterval 在这些地方不适合使用.. 请让我知道我们如何独立移动许多东西,就像我在 Canvas 上的情况一样?

提前致谢

0 投票
1 回答
175 浏览

c# - 调用“更新”后 XNA 游戏堆栈溢出错误

今天是个好日子,

我一直在构建一个跨平台框架/抽象层,以利用适当平台上的 Mono 和 XNA 框架来定位 Android、iOS 和 Windows Phone 7。我没有使用 ExEn、MonoGame 或类似的框架,尽管我从研究他们的方法中学到了很多东西。

框架的 XNA 部分扩展了 XNA Game 类,我很确定这就是问题所在。但是,我在追踪它时遇到了一些困难,对 XNA Game 类有更好了解的人可能会提供很大帮助。我不会为类的整个继承层次结构发布代码,因为它会占用一些空间,但我会请求有关 XNA Game 类中问题的可能来源的信息,这可能会导致我发现我的错误.

我在运行测试游戏时收到堆栈溢出异常。完整的例外是:

为了追查罪魁祸首,我一直在向控制台输出一些简单的调试语句。我得到的输出是:

如您所见,它已成功完成更新,但未继续 BeginDraw 或 EndRun。我一直无法确定此时可能会发生哪些进程以导致堆栈溢出异常。

如果有人可以帮助确定此时可能发生的过程,那么无疑将有助于找到问题的根源。如果您更愿意检查代码,我当然可以提供它,我会犹豫这样做,因为我相信我可以通过更多信息来确定问题,并且理解问题所需的代码库可能会非常大。

感谢您的时间和帮助,如果我能提供更多有用的信息,请告诉我。

0 投票
2 回答
4563 浏览

android - 如何暂停循环以等待按钮按下

我正在尝试使用 Android 的 1v1 战斗创建一个基于回合的游戏。我的基本游戏循环会检查两名战士是否已经死亡,如果没有,则检查下一个要走的人。如果轮到玩家,那么它应该等待点击攻击按钮。如果轮到计算机,那么它将执行随机攻击。我无法让程序等待用户输入。我尝试在这里设置按钮侦听器,但没有这样做。[编辑] 确定哪个字符是基于恢复整数。每次攻击都有一个恢复值(50-100),该值会添加到角色的恢复中。nextMove() 方法检查哪个更接近 0 并减去两个字符的差值。这使得游戏需要更多的策略,因为你不需要

我该怎么做才能让游戏在那个时候暂停

这是代码

0 投票
2 回答
2178 浏览

python - 如何让我的圈子在 pygame 中飞出屏幕?

我是python的初学者,我正在尝试制作一个圆形游戏。到目前为止,当您单击时,它会在您的鼠标上绘制一个具有随机颜色和半径的圆圈。

接下来,我希望圆圈以随机方向飞离屏幕。我该怎么做呢?到目前为止,这是我的代码的主要部分:

同样,我希望圆圈以随机方向飞离屏幕。我做了一些尝试,但还没有成功。另外,感谢帮助我的jdi

0 投票
1 回答
222 浏览

c++ - 具有多个对象回调的游戏循环 - 第二个对象没有任何反应

我有两个类,都继承自同一个基类。这是一个游戏循环,根据你所处的“状态”,它应该在 CALLBACK 方法中发送一个指向活动对象的指针——但它没有。它只发送第二个对象的指针。

如果我首先通过 PostMessage() 设置 ObjectA,然后设置 ObjectB,然后 ObjectB 不起作用,则它不会获得指向该对象的指针。

如果我设置相反,ObjectB 有效,而 ObjectA 无效。

这是循环的一般布局:(我错过了什么?)

游戏循环:

在回调方法中: