Questions tagged «mouse»

计算机游戏中非常常见的输入设备。与定向输入相比,它提供了更直接的运动形式。


6
我可以(安全地)认为玩我的游戏的人有鼠标中键吗?
标题基本概括了所有内容。 我目前正在写桌面游戏,休闲玩家可能不会玩。因此,我的期望是,几乎每个用户都将很可能已经拥有带有滚轮+按钮的鼠标。真的吗? 这个问题是针对“游戏玩家”的-我不在乎祖母的笔记本电脑没有该按钮。 (当然,我知道我应该考虑一个允许更改输入设置以使游戏可玩的系统-即使没有第三个鼠标键也是如此。)

1
等轴测渲染和拾取?
我一直在寻找在菱形世界中绘制(世界->屏幕)和鼠标拾取(世界->屏幕)等距图块的公式。我尝试过的似乎总是不对劲。这样做的通常/正确方法是什么?

6
如何使用C#在Unity3D中正确区分单击和双击?
我要在这里理解和学习的东西是非常基本的:使用C#正确区分Unity中3个主要鼠标按钮的单击和双击的最通用,最精致的方法是什么? 我对“ 正确 ”一词的强调并非一无是处。尽管令我感到惊讶的是,以前似乎从未在此网站上问过这个问题,但是我当然已经在Unity的论坛和Unity自己的问答页面上搜索并找到了许多类似的问题。但是,正如在这些资源中张贴答案的情况通常一样,它们似乎都是错误的,或者至少有点过于业余。 让我解释。提出的解决方案始终具有两种方法中的任何一种及其相应的缺陷: 每次发生单击时,请计算自上次单击以来的时间增量,如果该时间增量小于给定的阈值,则将检测到双击。但是,此解决方案导致在检测到双击之前检测到快速的单击,这在大多数情况下是不希望的,因为这样会同时激活单击和双击操作。 粗略的例子: float dclick_threshold = 0.25f; double timerdclick = 0; if (Input.GetMouseButtonDown(0) { if (Time.time - timerdclick) > dclick_threshold) { Debug.Log("single click"); //call the SingleClick() function, not shown } else { Debug.Log("double click"); //call the DoubleClick() function, not shown } timerdclick = Time.time; } 设置激活单击的等待延迟,这意味着,每次单击后,如果自上次单击以来的时间延迟超过给定阈值,则仅激活单击操作。但是,这会产生缓慢的结果,因为有可能在检测到单击之前注意到等待。更糟糕的是,这种解决方案在计算机之间存在差异,因为它没有考虑用户在操作系统级别上双击速度设置的速度或速度有多慢。 …
15 c#  unity  mouse 

6
如何在XNA中处理鼠标输入?
我正在XNA中开发纸牌游戏。 OnClickXNA中是否有对象事件? 我试图让玩家点击卡时移动它们。在这个项目中,有一个Sprite类可以绘制卡片,但是我有点不知所措,因为我不知道如何使用OnClick事件或类似的东西。
13 xna  c#  input  mouse 

4
SDL中的陷阱鼠标
如何将用户的鼠标捕获到我的游戏中?这不是一个全屏游戏,但我想要它,以便用户不能将鼠标拖到屏幕外。 我是否需要检查鼠标和SDL_WarpCursor的坐标以使其在窗口内显示(手动),还是有自动方法? 谢谢。
12 sdl  input  mouse 


2
如何进行延迟的鼠标输入?
我有一个赛车游戏,想法是玩家喝醉了。我希望鼠标有一个延迟的输入,您将鼠标左右移动来转动。 如何在用户提供的输入和汽车转弯量之间设置恒定的延迟? 现在我有这个: h = Mathf.Lerp(h, (((Input.mousePosition.x / Screen.width) * 2) - 1), Time.deltaTime * 2); 发生的情况是转弯被延迟了,但是非常慢,换句话说,如果我非常快地移动鼠标,汽车会非常缓慢地转弯,但是如果我将乘数提高到Time.deltaTime,汽车会转弯更快,但是延迟效果会最小化。 我还能怎么做?
11 unity  c#  input  mouse 

1
C#/ XNA获取硬件鼠标位置
我正在使用C#并尝试获取硬件鼠标的位置。我尝试的第一件事是简单的XNA功能,该功能易于使用 Vector2 position = new Vector2(Mouse.GetState().X, Mouse.GetState().Y); 之后,我也绘制了鼠标,并且与Windows硬件鼠标相比,带有xna提供的坐标的新鼠标“松弛了”。我的意思是,它落后了几帧。例如,如果游戏以600 fps的速度运行,则诅咒会响应,但是以60 fps的软件鼠标延迟不再可接受。因此,我尝试使用我认为是硬件鼠标的工具, [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] public static extern bool GetCursorPos(out POINT lpPoint); 但结果完全一样。我还尝试获取Windows窗体光标,这同样是一个死胡同-可行,但有同样的延迟。杂乱无章的xna功能: GraphicsDeviceManager.SynchronizeWithVerticalRetrace = true/false Game.IsFixedTimeStep = true/fale 确实有一些明显的原因改变了延迟时间,但是最重要的是,无论它是否仍在默认的Windows鼠标后面。我在某些游戏中看到过,它们提供了硬件加速鼠标的选项,而在其他游戏中(我认为)默认情况下已经存在。任何人都可以就如何实现这一目标提供一些指导。

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
如何在Unity 5中检测UI图像的鼠标悬停?
我有一幅图像,可以将其设置为四处移动以及放大和缩小。麻烦的是可以在场景中的任何位置进行缩放,但是我只希望在鼠标悬停在图像上时进行缩放。我尝试使用OnMouseEnter,OnMouseOver,事件触发器,所有三个没有对撞机,带对撞机,带触发器对撞机的触发器,以及所有这些在图像本身和空游戏对象上使用的触发器。但是这些都不起作用...所以我绝对很沮丧...有人可以在这里帮助我! 这是我的脚本: private float zoom; public float zoomSpeed; public Image map; public float zoomMin; public float zoomMax; void Update () { zoom = (Input.GetAxis("Mouse ScrollWheel") * Time.deltaTime * zoomSpeed); map.transform.localScale += new Vector3(map.transform.localScale.x * zoom, map.transform.localScale.y * zoom, 0); Vector3 scale = map.transform.localScale; scale = new Vector3(Mathf.Clamp(map.transform.localScale.x, zoomMin, zoomMax), Mathf.Clamp(map.transform.localScale.y, …
9 unity  c#  gui  image  mouse 
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.