Questions tagged «timer»

2
将游戏动作同步到特定动画时间的好的技术?
因此,我在开发的游戏中遇到了一个问题,但这似乎是很多游戏中都涉及的非常基本的问题。 我的游戏要求在角色动画期间的某个特定时间点发生某些游戏功能。因此,正如标题所说,我想知道有什么好的技术和基本策略可以将与游戏相关的事件/功能/动作同步到角色动画中的特定点。 以下是我在各种类型的游戏中谈论的一些简单示例: 您的角色将他们的枪重新装在射手中。您的角色将播放他/她的“重新加载”动画,但重要的是,仅在更换弹匣并握住枪支后的确切时刻调用设置currentAmmo变量的函数。这可能是重新加载动画中间的某个时刻。 在基于回合的RPG中,您的角色站在面对一排敌人的队伍中。当被命令进攻时,您的角色之一会奔跑/跳跃到敌人中的一个,并挥舞其巨剑,然后再奔跑/跳跃回到其站立位置。您想确保在播放大幅削减动画的确切时刻损坏敌人 -在向上跑和向后跑之间的某个时间点。 在隐形游戏中,您的角色可以潜行并与世界上的计算机和按钮互动。也许有一个按钮可以关闭您正在渗透的哨所的电源。当按下动作按钮时,您的角色伸出手并按下按钮,然后返回其闲置状态。您希望在按下按钮时在“ push_button”动画中的确切位置关闭灯。 诚然,我的情况最类似于第二个示例,在该示例中,我创建了一个动画,其中基于回合的角色在攻击过程中前冲,并且我希望在动画似乎与之接触的那一刻施加损害。因为我的游戏使用回合制(想像“最终幻想”或“火焰纹章”之类的东西),所以我需要伤害/治疗/魔法/等。即使我实际上没有使用碰撞/命中框,也可以在每个角色动画的正确时间应用它。 我应该提到的是,我正在使用流行的游戏引擎来制作游戏,而现在我正在通过使用他们的动画事件来处理该事件,或者通过通知来实现接近预期结果的效果-我的角色执行了某个命令并触发了特定于命令的动画(即:“ attack_command”)和我的每个命令的动画资产必须在我的角色ExecuteCommand函数中包括一个动画事件/通知“回调”。换句话说,角色告诉攻击动画播放,然后攻击动画会在动画发生的确切时间向角色发出事件/通知回调,该事件应在造成伤害时进行。 坦白地说,这暂时有效,但是感觉有点不对劲 -就像我在这里遗漏了一部分大图!这种方法感到不对的部分原因是,它将游戏逻辑与动画资产结合在一起。如果我的动画素材资源忘记包括ExecuteCommand()事件/回调,则该命令将无法正确执行,并且需要额外的代码来检查命令动画是否在不执行命令的情况下完成。这太乱了,这意味着我的游戏对其资产有奇怪的依赖性。当然,我希望在攻击动画期间的特定时间点造成损害,但是我对在动画资源中调用游戏代码感到很奇怪。 那我在这里俯瞰什么?有什么好的通用技术可以处理这些类型的情况,您希望在动画中的特定时间发生某些重要的游戏操作? 编辑:澄清一下,这不是引擎特定的问题,我也不是在寻找引擎特定的设计/技术。我对一种通用的动画/游戏同步技术很感兴趣,而无论使用哪种技术,这些技术都可能会在您的游戏项目中使用。

2
Java 2D游戏编程:制作游戏循环的不同方法
我是Java游戏编程的新手,但是我阅读的内容越多,我就越困惑,因为我已经看到了制作游戏循环的几种不同方法:1.使用Timer类的标准方法(似乎要少一些)精确)。2.使用System.nanoTime的更精确的方法。3.使用scheduleAtFixedRate的简单方法。 通常应首选哪种方法,每种方法的优缺点在哪里?在此先感谢您的任何信息。

5
为什么在Vector3s中不能使用运算符'> ='?
我正在尝试获得一个矩形,以便在我称为_positionA和的两个位置之间移动_positionB。两者都是类型Vector3。矩形移动得很好。但是,到达时_positionB它不会像应该的那样朝相反的方向移动。 我回到代码中看一看。我得出的结论是,随着对象的移动,if代码中的语句错过了rects位置等于的框架_positionB。如果rects的位置大于或等于, 我决定将代码修改为反向_positionB。我的代码不太长,因此我将在下面显示它: using UnityEngine; using System.Collections; public class Rectangle : MonoBehaviour { private Vector3 _positionA = new Vector3(-0.97f, -4.28f); //Start position private Vector3 _positionB = new Vector3(11.87f, -4.28f); //End position private Transform _rect_tfm; private bool _atPosA = false, _atPosB = false; public Vector2 speed = new Vector2(1f, 0f); private …
9 unity  c#  vector  mathematics  vector  matrix  unity  c#  transformation  java  3d  terrain-rendering  shading  ios  opengl-es  opengl  rendering  optimization  python  scripting  minecraft-modding  modding  pc  3d-meshes  mesh  culling  point-cloud  networking  interpolation  mathematics  game-design  ai  game-mechanics  animation  unreal-4  skeletal-animation  3dsmax  unity  c#  3d  opengl  c++  textures  unity  ide  cocos2d  cocos2d-x-js  unity  c#  mono  il2cpp  c++  game-loop  timer  linux  flash  actionscript-3  java  glsl  c++  vector  entity-component  c++  directx11  windows  visual-studio  libgdx  mouse  unity  c#  architecture  storage  unity  c#  rotation  coordinates  quaternion  vrpn  movement  vector  unreal-4  unity  shaders  unity  gui  text  bug  shooter  3d  animation  rendering  voxels  c++  mmo  multithreading  linux  textures  procedural-generation  terrain-rendering  multiplayer  mmo  game-state  java  android  libgdx  opengl  procedural-generation  unity  gui  3d  animation  tools  geometry-shader  mobile  advertisements  unity  c#  animation  scripting  unity  animation  unityscript  coroutines  unity  shaders  lighting  camera 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.