game-loop相关内容
我正在尝试编写一个Python游戏循环,希望它能考虑FPS。调用循环的正确方式是什么?我考虑过的一些可能性如下。我正在努力不使用像pyGame这样的库。 1. while True: mainLoop() 2. def mainLoop(): # run some game code time.sleep(Interval) mainLoop(
..
我正在制作一款安卓游戏,但目前无法获得我想要的性能.我在自己的线程中有一个游戏循环,可以更新对象的位置.渲染线程将遍历这些对象并绘制它们.当前的行为似乎是波动/不均匀的运动.我无法解释的是,在我将更新逻辑放在它自己的线程中之前,我将它放在 onDrawFrame 方法中,就在 gl 调用之前.在这种情况下,动画非常流畅,只有当我尝试通过 Thread.sleep 限制更新循环时,它才会变得不稳定/
..
我尝试使用 java.util.Timer 中的 Timer 在 Java 中制作游戏循环.我无法在计时器滴答期间执行我的游戏循环.下面是这个问题的一个例子.我试图在游戏循环期间移动按钮,但它没有在计时器滴答事件上移动. import java.util.Timer;导入 java.util.TimerTask;导入 javax.swing.JFrame;导入 javax.swing.JButt
..
我已经在 Flash/Actionscript/Starling 中实现了一个游戏循环,我想把它扔给你看看这是否是一个有效的实现.我想采用可变时间步长方法. 私有变量 _deltaTime:Number = 0;私有变量 _lastTime:Number = 0;私有变量 _speed = 1000/40;私有函数 onEnterFrame() {var now = new Date().get
..
假设你想要一个名为 play 的抽象类,它有一个 render 方法. 公共抽象类RenderPanel{公共抽象无效渲染();} 然后你有另一个类,它使用某种游戏循环调用渲染方法. 公共类Window实现Runnable{公共无效运行(){在跑步的时候){RenderPanel.render();线程睡眠(5000);}}} 此代码不起作用,因为您无法静态调用抽象类,也无法实例化该类.
..
我是 JavaFX 的新手,我正在尝试编写一个动画 2D 角色在屏幕上行走的游戏(例如原始的塞尔达传说游戏).我在 Swing 中做到了这一点,通过创建我自己的 Sprite 类并覆盖 Swing 中的paintComponent() 方法,并放置我自己的 g2d.drawImage(...);在那里调用,它会将正确的子帧从 Sprite 复制到 JPanel 中正确的 x,y 目标,从而实现动画
..
我曾尝试在 google 和 stackoverflow 上搜索此内容,但不知道该取什么名字,所以找不到. 我将如何为 C# 程序创建一个“循环",例如每 100 毫秒运行一次?类似于 Minecraft 所说的“滴答声",或者 GameMaker 所说的“步数". 我不知道如何做到这一点.我正在使用 Visual Studio,并且有一个主窗口.有些事情我想不断地执行,所以我想弄清楚
..
我想为我的游戏添加暂停/恢复的可能性.不幸的是,我的解决方案只会暂停游戏,但不会恢复它(当我单击“恢复"按钮时没有任何反应 - 图像仍然存在).我还尝试在 thread 上调用 wait/notify 方法,但它也不起作用 - 我在线程“AWT-EventQueue-0"java.lang.IllegalMonitorStateException 中遇到了 Exception.暂停/恢复的最佳解决
..
有人可以为一个只有“游戏循环"的程序编写一个源代码,它会一直循环直到您按 Esc 键,并且程序会显示一个基本图像.这是我现在拥有的源代码,但我必须使用 SDL_Delay(2000); 使程序保持活动状态 2 秒,在此期间程序被冻结. #include "SDL.h"int main(int argc, char* args[]) {SDL_Surface* 你好 = NULL;SDL_Surf
..
有没有一种简单的方法可以在JavaScript中进行游戏循环?像... onTimerTick(){//更新游戏状态} 解决方案 setInterval(onTimerTick,33);//33毫秒=〜30帧/秒函数onTimerTick(){//做东西.}
..
因此,我正在将此智能手机应用程序模拟为Windows.这是一款以 1/60 速率运行其逻辑并绘制方法的游戏.以毫秒为单位,为 16.6667 我已经实现了这个游戏循环: private const double UPDATE_RATE = 1000d/60d;私人void GameLoop(){double startTime;而(GetStatus()!= GameStatus.Not
..
我正在尝试学习Android中的游戏开发.首先,我尝试每隔五秒钟使用游戏循环在屏幕上显示和消失一个对象.但是我没有成功.我阅读了不同的教程和论坛.我按照教程中的说明应用了所有内容,但对象仍在不断绘制.它并没有消失.我没有得到我想念的东西吗?请指导我. 完整的代码在这里: MainGameActivity.java 包com.example.showandhideobject;导入an
..
我正在尝试学习如何使用HTML5的画布创建平滑的JavaScript动画.由于某些原因,动画不是平滑的,而是一种“溅射". 您可以看到我基于此jsFiddle 构建的框架,该框架目前仅使用Webkit属性 另一位开发人员能够使用其WebViews源代码创建相同的概念,该源代码基于 Ext.js .出于学习目的,我想避免使用任何库来更好地理解JavaScript.可以在此jsFiddle
..
我想对fps计数,并将其限制设置为60,但是我一直在通过Google查看一些代码,但我完全没有得到它. 解决方案 您不应尝试限制fps.这样做的唯一原因是,如果您不使用增量时间,并且希望每个帧的长度都相同.即使是最简单的游戏也无法保证. 不过,您可以将增量时间切成固定大小,然后保留其余部分. 这是我最近编写的一些代码.尚未经过全面测试. void GameLoop::Ru
..
如果您不熟悉Gaffer on Game文章“固定时间步长”,可以在这里找到: https://gafferongames.com/post/fix_your_timestep/ 我正在构建游戏引擎,并努力我对std :: chrono更加满意。我一直在尝试使用std :: chrono实现固定的时间步,现在..几天了,我似乎无法将其包围住。这是我正在努力的伪代码: double
..
所以说您想拥有一个名为play的抽象类,它具有一个render方法。 公共抽象类RenderPanel { public abstract void render(); } 然后您有了另一个类,该类使用 公共类Window实现Runnable { public void run(){ while(running){ RenderPane
..
一段时间以来,我经历了Android游戏中运动的小精灵的间歇性“停顿".这是一个非常简单的2D OpenGL ES 2.0游戏. (这是一个持续存在的问题,我已经多次访问过.) 在我的游戏循环中,我有2个“计时器"-一个将记录前一秒的帧数,另一个记录从当前onDrawFrame迭代结束到开始的时间(以毫秒为单位).下一个. 这是我发现的东西: 当不渲染任何东西时,我得到60fps
..
首先,我要为我的近似英语(我是法国人)道歉.我目前正在使用LWJGL在Java中制作实时游戏. 我对游戏循环有一些疑问: 我正在线程中运行渲染例程.这是个好主意吗?通常,渲染例程相当慢,并且不应该减慢世界更新(刻度)例程的速度,这一点更为重要.因此,我想在这里使用线程似乎是个好主意(减去使用线程带来的复杂性). 在世界更新例程中,我正在使用当前时间更新实体列表.然后,每个实体都可以计算自己
..
我正在尝试用Java制作一个简单的2D游戏. 到目前为止,我有一个带有菜单栏的JFrame和一个扩展JPanel并覆盖它的paint方法的类.现在,我需要进行一个游戏循环,在该循环中我将更新图像的位置,依此类推.但是,我一直坚持如何最好地实现这一目标.我是否应该使用多线程,因为可以肯定的是,如果在主线程上进行无限循环,UI(以及我的菜单栏)将会冻结? 到目前为止,这是我的代码:
..
仅游戏循环就占用了50%的CPU使用率,我还没有完成任何渲染工作.我在这里做什么? while(true) { if(PeekMessage(&msg,NULL,0,0,PM_REMOVE)) { if(msg.message == WM_QUIT ||
..