Articles of 控制器

如果游戏是按下保险杠启动的,则Unity会提供错误的input值

正如标题所述,我有以下问题。 这是一个非常具体的边缘案件,但这是我不能解决的问题。 在Unity中,我创建了两个Axes,让我可以在Xbox控制器上检查左侧和右侧缓冲器的值。 我遇到的问题是我正在使用的控制器是一种特殊的产品,默认情况下,左侧和右侧保险杠始终打开。 这是控制器上的目的,绝对不能改变。 这里的问题是,因为控制器默认情况下启动Unity时保险杠被按下,它读取这些button的input值为0而不是1(因为我有控制器设置为提供正input)。 我已经用一个普通的Xbox控制器通过在启动游戏之前手动按下触发器testing了这一点,我得到了相同的结果,所以我可以确认它是一个Unity事物而不是一个控制器问题。 修复控制器input的唯一方法是手动刷新保险杠(这种情况下连接到传感器)。 这对我来说目前还不是一个可以接受的方式来刷新设备,我只需要立即获取设备的正确input。 有没有一种方法,我可以在代码中,没有游戏识别控制器,直到我指定? 原因是如果我在游戏开始后插入我的设备,我会得到正确的值。 这个游戏只能在Windows上运行,所以我会打开一个操作系统级别的脚本,利用一些Windowsfunction。 编辑:我想我应该加我曾尝试通过代码发送可视化input到设备,这并没有解决这个问题。

有没有一个SDK编写控制台应用程序来模拟一个Xbox 360控制器?

有没有我可以用来编写一个控制台应用程序,可以连接到Xbox 360作为控制器和模拟控制器交互的任何SDK?

您的移动设备作为Web应用程序的控制器

我正在创建一个多人游戏,只是为了好玩,并探索不同的技术,如等距游戏,node.js和socket.io。 重点在于我试图在浏览器中对多人游戏进行替代。 看看这里 http://ny.scsterallure.nl/第二个玩家通过他的移动设备连接到游戏http://ny.scsterallure.nl/index.mobile.html尽管我还没有完成游戏,控制,我认为移动设备控制器不应该是一个网页,而是一个应用程序。 由于网页不能很好地处理双击和其他事件。 所以我的问题是, 有没有一些通用的(虚拟)手机游戏手柄应用程序,或者这是新的? 另外你对整个控制器的交互意见是什么?

更改玩家的状态并在游戏中进行控制

我正在使用Unity 3D 假设玩家是一个冰块。 你像普通玩家一样控制它。 在按下button时,冰(用animation)变成水。 你控制它完全不同于冰块。 另一个很好的例子是:玩家是人类,拥有正常的FPS控制。 按一个button人类变成鸟类,现在有完全不同的控制。 现在,我的问题是,什么会更容易,更好: 使animation过渡的一个对象,并保持在这种dynamic状态。 直到再次按下button 使两个对象:冰和水。 冰有一个变成水的animation。 所以用水对象取代冰(与animation) 如果有人也知道这个:如何切换2种不同types的播放器控件。

libGDX是否支持Xbox One控制器?

我刚刚买了一个Xbox一个控制器,我想用它来testing我的游戏。 我使用从libGDX的Controllers扩展,它工作正常,至less我的PS3控制器。 当我用libGDX轮询控制器的轴时,我得到了一些奇怪的结果。 Y轴的值是可以的,但不是X轴的。 我的意思是,对于X轴来说,值是非常奇怪的,有时候,当杆完全推到左边时,值甚至不是负值,右边是相同的,有时候值是负值。 我不知道为什么,但价值似乎不一致的X轴,Y轴工作正常。 关于button,除了dpad之外,它们都被检测到。 我正在使用这里的驱动程序。 我testing了几个游戏的控制器,它工作正常,所以我认为这与libGDX有关。 你认为Xbox One控制器不支持吗? 它可能是一个驱动程序问题? 我应该用另一种方式来轮询控制器状态吗? 如果是的话,是否有一个好的和最新的图书馆这样做? 谢谢。

自动运动

我正在Unity 2d中制作我的第一个GAME。 此刻,我的游戏由2面墙,地板,天花板和代表角色的正方形组成。 看了一些教程后,我创建了一个C#字符控制器脚本,目前让我的玩家跳转。 现在我可以让方块跳起来了,我的下一个目标就是让角色移动而不必按任何button,或者让它觉得一个button被按下了。 题: 如何在没有用户input的情况下自动移动到右侧? 当前代码: usingUnityEngine; usingSystem.Collections; public class SquareControllerScript : MonoBehaviour { boolgrounded = false; publicTransformgroundCheck; floatgroundRadius = 0.2f; publicLayerMaskwhatIsGround; publicfloatjumpForce = 700f; void FixedUpdate() { grounded = Physics2D.OverlapCircle (groundCheck.position, groundRadius, whatIsGround); } void Update() { if (grounded && Input.GetKeyDown (KeyCode.Space)) { rigidbody2D.AddForce(newVector2(0,jumpForce)); } } }

使用LibGDX中的控制器进行连续移动

我一直在试图让OUYA的控制者在一个LibGDX框架练习游戏中工作。 一切正在完美的预期中,一件事是:运动不是连续的。 问题是,当我按下DPAD或右侧的操纵杆时,它会移动我定义的像素数量,然后停止,我需要释放button并再次按下。 当我使用键盘时,我把代码放在“render”方法上,当我按下右箭头键时,这个方法不会停止电影,直到我释放button,但是由于控制器使用ControllerListener,所以我不真的知道如何解决这个问题。 这是我迄今为止: public class MyOntem extends ApplicationAdapter implements ApplicationListener, ControllerListener { SpriteBatch batch; Sprite sprite; @Override public void create () { batch = new SpriteBatch(); sprite = new Sprite(new Texture("badlogic.jpg")); } @Override public void render () { if (Gdx.input.isKeyPressed(Input.Keys.DPAD_RIGHT)) sprite.setX(sprite.getX() + 10f); if (Gdx.input.isKeyPressed(Input.Keys.DPAD_LEFT)) sprite.setX(sprite.getX() – 10f); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); batch.begin(); batch.draw(sprite, sprite.getX(), sprite.getY()); […]

XNA:如何捕捉精确的按键时间?

我猜测默认的XNA模型鼓励检查Update()中的button按下。 但是,我正在开发一个类似游戏的应用程序,需要尽快测量反应时间。 如果我只在Update()中检查button,这限制了我的应用程序的刷新率。 例如,如果Update()每秒运行60次,如果在线程进入hibernate状态后不久,button捕获时间可能会被closures高达16.6ms(1/60)。 有没有另一种方法来devise我的应用程序尽快赶上button按? 我应该运行一个单独的线程轮询游戏控制器,运行速度比常规应用程序的60赫兹,比如120赫兹? 或者我应该运行一个线程,当一个button被按下时获得一个硬件中断并存储时间? 其他想法? (我知道,当我们谈论button按下的时间和20ms或更less的时候,这听起来是过度的,但是有许多科学应用程序在那里宣告毫秒级别的定时精度,我只是想知道我是否能够得到合理的XNA)。

在Android版Unity中,如何创建可触摸的button?

我正在Unity 5中为Android做一个testing游戏,我想添加像左下角的左右控制button来左右移动一个对象。 我怎样才能做到这一点? 很抱歉如果这个问题是基本的。 我是Unity新手,不了解现有教程的方法。

统一编码Android手机的左/右对象移动C#脚本

屏幕上有2个球体和一个立方体。 我正在尝试为立方体制作一个“左/右移动脚本”,这样当我触摸左边的球体时,立方体会向左移动,当我触摸正确的球体时,立方体向右移动。 我有2个脚本。 我已经将SphereLeft.cs附加到左侧球体,并将SphereRight.cs附加到右侧球体。 任何关于如何实现这一目标的指针?