Articles of 时机

纯Java中的帧率独立游戏实现

最近我一直在寻找FPS独立运动,并且我对这个概念有所了解。 但是在纯Java中实现它却遇到了麻烦。 任何人都知道我可以如何实现,以及像“时间”类那样在自己的类中抽象它? 所以,我试着在我的游戏循环中实现这些建议。 但即使我已经稳定在60 FPS,我的“deltatime”的数值约为0.6 – 0.9,但是对于60 FPS,它应该是0.01! 这里怎么了? 我应该计算1或2的“deltaTime”吗? 代码: long lastTime = System.nanoTime(); double delta = 0.0; double ns = 1000000000.0 / 60.0; long timer = System.currentTimeMillis(); int updates = 0; int frames = 0; while (running) { long now = System.nanoTime(); delta += (now – lastTime) / ns; // 1 deltaTime […]

Opengl ES 2.0绘图调用的计时计算

我正在Linux中的OpenGL ES 2.0中绘制一个立方体。 我正在计算使用下面的函数每帧的时间 #define NANO 1000000000 #define NANO_TO_MICRO(x) ((x)/1000) uint64_t getTick() { struct timespec stCT; clock_gettime(CLOCK_MONOTONIC, &stCT); uint64_t iCurrTimeNano = (1000000000 * stCT.tv_sec + stCT.tv_nsec); // in Nano Secs uint64_t iCurrTimeMicro = NANO_TO_MICRO(iCurrTimeNano); // in Micro Secs return iCurrTimeMicro; } 我使用简单的x轴旋转运行我的代码100帧。 我每帧大概200到220微秒。 那就意味着我正在绕过(1/220微秒= 4545)FPS我的GPU是那么快吗? 我强烈怀疑这个结果。 代码中出了什么问题?

将非循环animation时间设置为秒

我有一个不循环的animation。 它播放默认的持续时间(n秒),然后停在最后一帧。 这正是我想要发生的事情,但是我希望它能够播放m秒,而不是n秒。 我不知道有多长时间。 我必须精确到m秒,因为它是一个变化的variables。 所以估计是行不通的。 我需要它与另一个animation完全匹配。 我怎样才能延长animation持续一个确切的秒数?

卡住敌人的运动

我正在制作一个统一的TD游戏,最初我把我所有的敌人移动帧率依赖说: 我有一个网格point1在-22.65和其他在-21.1,图表: (-22.65) _ _ _ _ _ _ __ (-21.1) _ _ _ _ _ _ (-21.1 + 1.55)…… 所以两点之间x轴上的距离为1.55,除以25跳,每跳0.062的敌人。 在到达下一个网格点时,敌人再次find它的path。 一切顺利,直到我有FastForward和暂停function的要求。 我使用timeScale属性的统一,但它不会工作,因为它们是依赖框架。 我也随时尝试双击敌人的快速前进button,现在有一些问题是敌方跳跃现在less了,并且没有到达下一个网格点。 有人可以建议我解决我的问题。 我是否需要更改敌方移动代码以使其独立于框架? 我需要敌人到达特定的网格点,稍后我需要放慢任何一个敌人的速度。 日Thnx

GLFW与GLUT的帧时序

我需要一个图书馆,以确保在视觉心理学实验期间帧之间的时间间隔尽可能地保持恒定。 这通常是同步屏幕刷新率与主循环。 例如,如果我的显示器运行在60赫兹,我想指定频率给我的框架。 例如,如果我的gameloop是以下 void gameloop(){ //做一些计算 printDeltaT(); 翻转缓冲区} 我想打印一个固定的时间间隔。 GLFW有可能吗?

在Unity中,为什么我的animation制作人员要等到每个animation的结尾才能更改?

我正在尝试使用Unity在Animator中进行简单的空闲漫游转换。 我已经设置了一个脚本来改变animation制作者的速度值,当游戏开启时我将角色向前移动,这个脚本是完美的。 这两个animation之间的转换运行良好,除了在速度变为大于零之后不会自动启动。 我发现它一直等到animation循环结束,这让游戏变得沉闷而不stream畅。 我不认为这个代码有问题,但我仍然附加它: #pragma strict var anim : Animator; function Start () { anim = GetComponent("Animator"); } function Update () { var move : float = Input.GetAxis ("Vertical"); anim.SetFloat("Speed",move); transform.Rotate(0,Input.GetAxis("Horizontal"),0); transform.Translate(0,0,(Input.GetAxis("Vertical")*Time.deltaTime*move)); }

如何绑定子弹释放与射击animation

比方说你有一个animation,你想要发射子弹时发生。 你会如何让这个子popup现在animation结尾? 我唯一能想出的就是知道animation的时间长度,并延迟设置子弹的位置并将其设置为活动状态,直到时间已过。 我只是想知道这是否是最好的方法,其他人怎么处理呢? 编辑:我想我有麻烦的措辞正确的问题。

我如何在游戏中实现“快进”function?

如何实现我的塔防游戏的快速前进function,如http://fieldrunners.com/和其他TD游戏? 我正在使用Unity 3D。 会有什么东西来管理每秒更less的帧数或某种手动设置的敌人的快速移动和塔的射击速度等等?