Questions tagged «movement»

“平移”的简单术语,通常是指从A点到B点的实体位置变化。

2
如何将精灵朝其面对的方向移动?
我正在使用Java / Slick 2D。我正在尝试使用鼠标旋转精灵,并使用箭头键移动精灵。我可以让精灵旋转没有问题,但是我不能让它朝应该的方向移动。当我点击“前进”时,子画面不一定会移向鼠标。实际上,它只会真正移到屏幕的左侧。我确信必须有一些标准代码,因为许多游戏都使用这种风格的动作。谁能帮我解决这个三角帆的问题?谢谢 编辑:这是旋转代码(它做其他奇怪的事情: https //stackoverflow.com/questions/12610320/why-is-my-image-rotating-off-center) int mX = Mouse.getX(); int mY = HEIGHT - Mouse.getY(); int pX = sprite.x; int pY = sprite.y; int tempY, tempX; double mAng, pAng = sprite.angle; double angRotate=0; if(mX!=pX){ mAng = Math.toDegrees(Math.atan2(mY - pY, mX - pX)); if(mAng==0 && mX<=pX) mAng=180; } else{ …

4
玩家向上移动,他是跳跃还是攀爬?
在其中带有梯子的基于2D物理的平台游戏中,您如何确定玩家向上移动是由跳跃引起还是由他爬梯引起的,从而使您知道要播放哪种动画? 通常,方向向量显然不足以确定要播放的动画:您还如何确定运动原因(因此您知道要使用的正确精灵)?

6
如何以子像素为单位移动精灵?
像素打开或关闭。您可以移动精灵的最小数量是一个像素。那么如何使子画面每帧移动速度慢于1像素? 我这样做的方法是将速度添加到变量中,然后测试速度是否达到1(或-1)。如果确实如此,那么我将移动精灵并将变量重置为0,如下所示: update(dt): temp_dx += speed * dt temp_dy += speed * dt if (temp_dx > 1) move sprite reset temp_dx to 0 if (tempy_dy > 1) move sprite reset temp_dy to 0 我不喜欢这种方法,因为它感觉很傻,而且精灵的动作看起来非常生涩。那么,您将以哪种方式实现亚像素移动?

3
如何使实体向某个方向移动?
我有一个Entity实例,每个游戏滴答声都会更新。让我们假设实体不断前进。我希望能够将实体的角度赋予使其朝该方向移动的功能: moveForward(90);应该使它们向右移动。如果我宣布轮换为global int,那么 moveForward(rotation); rotation++; 会使它的运动跟踪一个小圆圈。 我怎样才能做到这一点?我认为这涉及向量数学。我什么都不知道,所以简短的解释会很好。

3
游戏角色如何动画制作?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我将与我的朋友们一起完成最后的一年项目。我们的游戏将是FPS,我必须为FPS视图和其他敌方角色绘制一些动画,这些动画可以很容易地编程以制作出出色的游戏。 我想知道如何制作可移动的游戏角色?这些字符使用哪种软件和引擎?

2
在追逐游戏中对玩家的敌人直线运动
我正在创建一个游戏,敌人会随机在地图上生成,然后每帧以随机速度向玩家移动。该地图没有障碍,因此敌人应始终沿直线移动。我写了几次移动函数,但是无论敌人总是打0、45、90、135、180、225、270、315角,但绝不打直线。这是代码示例: base_speed = random(); diff_x = abs(enemy_y_pos - player_x_pos); diff_y = abs(enemy_x_pos - player_y_pos); if (diff_x > diff_y) { y_speed = base_speed; } else if (diff_y > diff_x) { x_speed = base_speed; } if (enemy_x_pos < player_x_pos) { velocity.x = x_speed; } else if (enemy_x_pos > player_x_pos) { velocity.x = …
10 ai  movement 

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 


2
恒定时间制导导弹
我正在用玩家和导弹制作游戏。 我想从P1向P2发射导弹。导弹应始终仅花费五秒钟即可到达P2。导弹还应该跟踪P2。如果P2移得更远,则导弹必须加快速度以满足时序约束。如果P2向左移动,则导弹必须向左移动(并同时改变速度)。如果P2靠近P1,则导弹必须减速。 这可能吗?做到这一点的最佳方法是什么? 我目前没有Vector2D类(这实际上不是游戏,但是类推效果很好),因此,如果可能的话,我想要一个不需要的解决方案。 编辑:这实际上也不是导弹。:) 谢谢!

2
顺畅地走一条路
我目前正在制作2D塔防游戏,该游戏具有敌人预定的固定且预定的静态车道(即,塔无法阻挡路径,而寻找路径并不是我要解决的问题)。 我试图弄清楚如何使单位以一种顺畅的方式沿着这条车道行驶。对于如何执行此操作,我有两个粗略的想法,但我希望可以提供一些可能更容易实现/更标准的技术的意见。或者,当然,如果我有一种完全不同的方式,但我从未想到过,我也想学习一下。 航点: 我的第一个想法是将路径定义为一系列硬编码的航点。然后,部队将使用一种基本的“搜寻”操纵算法(例如该操纵算法)沿路径依次移动到每个航路点。但是,我想知道是否可能很难阻止这些单位偏离我希望他们遵循的车道。我想知道是否无法足够迅速地转弯会导致他们在期望的车道上出现某种“滑行”。我想虽然可以通过施加相对较大的转向力来防止这种情况发生? 贝塞尔曲线: 我考虑过的第二个解决方案是用贝塞尔曲线定义路径,并在每个时间步计算沿曲线的点的距离(dt *速度)远离设备当前位置。我怀疑这种技术会使精确定义单元将遵循的路径变得容易得多,但是我不知道如何确切地实现这一目标。有什么建议么? 另外,我不认为这会改变任何人的答案,但是单位也必须能够以恒定的速度沿路径行驶。另外,我正在使用pyglet框架在python中对该游戏进行编程。 如果不清楚这个问题,请告诉我。 编辑:同样,无论其价值如何,我都在尝试复制“ 王国拉什”中敌人的移动行为。

2
基于图块的等距游戏中的自由运动
在基于图块的等距游戏中,有没有合理的简便方法来实现自由移动?这意味着玩家不仅会立即从一个图块跳到另一个图块,或者不会被“捕捉”到网格(例如,如果图块之间的移动已设置动画,但是在动画完成之前您将被禁止执行任何操作)。我真的是一个与游戏编程有关的初学者,但是借助此站点和其他资源,可以很轻松地完成基本的工作,但是我无法针对此特定问题找到任何有用的资源。 。 目前,我已经简化了一些与此相关的东西:http://jsfiddle.net/KwW5b/4/(WASD运动)。移动的想法是使用鼠标地图来检测玩家何时移动到另一个图块,然后翻转偏移量,并且在大多数情况下可以正常工作(每个角使玩家移动到错误的位置:请参阅http: //www.youtube.com/watch?v=0xr15IaOhrI,这可能是因为我无法使完整的鼠标图正常工作),但是我并不幻想它甚至接近一个好的/理智的解决方案。而且无论如何,这主要只是为了演示我想实现哪种类型的东西。

5
返回正确的multiTouch id
我花了无数小时来阅读教程,并从这里和Stackoverflow上查看与multiTouch相关的每个问题。但是我只是不知道如何正确地做到这一点。我使用循环来获取我的代码pointerId,我看不到有很多人这样做,但这是我设法使其有所工作的唯一方法。 我的屏幕上有两个操纵杆,一个用于移动,另一个用于控制我的精灵旋转和他拍摄的角度,就像在Monster Shooter中一样。这些都很好。 我的问题是,当我在与Im拍摄同时移动我的精灵时,我touchingPoint的动作设置为touchingPoint我拍摄的,因为xand y在touchingPoint拍摄moving-stick的上方较高(在屏幕的左侧,shooting-stick在右侧) ,我的精灵会加速,这会导致我的精灵的速度发生不必要的变化。 这就是我在您的帮助下解决的方法!这适用于可能遇到类似问题的任何人: public void update(MotionEvent event) { if (event == null && lastEvent == null) { return; } else if (event == null && lastEvent != null) { event = lastEvent; } else { lastEvent = event; } int action = event.getAction(); int actionCode = …

2
如何使角色从高角度的斜坡上滑下来?
我目前正在Unity3D中研究角色的动作。我设法使他相对于鼠标光标移动。我将坡度限制设置为45°,这不允许角色以更高的角度爬山。但是他仍然可以跳起来。 当他跳到坡度过高的地方时,如何使他再次滑落? 提前致谢。 编辑:我的基本动作的代码片段。使用UnityEngine; 使用System.Collections; public class BasicMovement : MonoBehaviour { private float speed; private float jumpSpeed; private float gravity; private float slopeLimit; private Vector3 moveDirection = Vector3.zero; void Start() { PlayerSettings settings = GetComponent<PlayerSettings>(); speed = settings.GetSpeed(); jumpSpeed = settings.GetJumpSpeed(); gravity = settings.GetGravity(); slopeLimit = settings.GetSlopeLimit(); } void Update() …

4
使用无干扰的碰撞避免(转向)时,运动对象发生碰撞
我无法避免未避免的碰撞,我认为这是一种罕见的情况。我将两个对象设置为彼此相对,但有一点偏移,因此其中一个对象稍微向上移动,而其中一个对象稍微向下移动。 在我未对齐的防撞转向算法中,我在两条直线最接近的物体的正线上和另一个物体的正线上找到了点。如果这些最接近的点在避免碰撞的距离内,并且它们之间的距离小于两个对象的边界球的两个半径,则对象应沿适当的方向转向。 问题在于,对于我而言,计算得出的直线上最接近的点实际上与实际的碰撞点相距甚远。这是因为随着对象的通过,每个对象的两条前向线彼此远离。问题在于,因此,没有进行转向,并且两个对象部分碰撞。 有人对我如何正确计算碰撞点有任何建议吗?也许通过某种方式考虑到两个对象的大小?

2
使用向量在XNA / C#中移动精灵
我目前正在研究使用C#语言开发XNA游戏。 我有两个类:主游戏处理程序和“ sprite”类。以下是一些基本的伪代码,我希望可以充分描述问题。 Game.cs class game { sprite the_sprite; void update(time) { var mouse = mouse.state if(mouse.clicked) { this.the_sprite.moveTo(mouse.x, mouse.y) } this.the_sprite.update(time) base.update(time) } } Sprite.cs class sprite { vector2 location; vector2 move_to; void moveTo(x, y) { this.move_to = new vector2(x, y) } void update(time) { if(this.location.x > this.move_to.x /* …
9 xna  c#  vector  movement 
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.