Articles of 接口

在Libgdx中的Widget事件报告问题

所以我试图在Android设备上testingImageButton。 我可以让button出现在屏幕上,但是当我按下它时,没有任何事情发生或出现在日志中。 这是我在Show()方法中实现Screen类的类。 public void show() { uistage = new Stage(); Texture tankSprite = new Texture(Gdx.files.internal("TankSpriteBase.png")); tank = new Tank(0, true, tankSprite); tank.rect.x = 100; tank.rect.y = 100; tank.rect.width = 44; tank.rect.height = 45; dropSound = Gdx.audio.newSound(Gdx.files.internal("drop.wav")); rainMusic = Gdx.audio.newMusic(Gdx.files.internal("rain.mp3")); rainMusic.setLooping(true); rainMusic.play(); float w = 800; float h = 400; camera = new OrthographicCamera(); camera.setToOrtho(false, […]

有几个具有通用接口的类,但仍然能够通过该接口访问MonoBehaviour方法?

在我们的项目中,我们曾经有一个PlayerObject类,然后是从这个类派生的Unit和Building。 我们最近开始看看Bolt,它需要定义可能具有不同状态的对象来直接inheritanceBolt类。 所以Unit和Building不能从PlayerObjectinheritance。 这就产生了一些问题,我们的游戏很大一部分使用了PlayerObject而不是Unit或者Building来执行相同的操作。 把它们分开真的会让程序产生一个问题,因为你现在必须使用Unit和Building来代替PlayerObject。 我认为制作一个通用的接口IPlayerObject,并在接口中定义公共属性和方法,使得从IPlayerObject派生的Building和Unit都可以做到这一点。 我没有足够的思考,并发现如果我使用IPlayerObject,我不能再访问MonoBehaviour的方法和字段(如变换,或渲染)。 我可以这样做,我可以使用IPlayerObjecttypes,单位或建筑types,仍然可以通过该接口访问MonoBehaviour? 如果没有,是否有适当的方法来做到这一点,过去只是添加额外的方法分别处理单位和建筑types。

鼠标光标Scaleform 4 / AS3

我刚刚解决了我的问题 在我的对象(在舞台上),我忘了命名的元素 我正在试图在我的Scaleform菜单上自定义鼠标光标。 我遵循一些教程,但没有好的… 现在我已经尝试了马特·多伊尔的AS: import scaleform.gfx.Extensions; Extensions.enabled = true; Mouse.hide(); var mCursor:MovieClip; mCursor.mouseEnabled = false; mCursor.tabEnabled = false; function handleMouseMove( e:MouseEvent ):void { mCursor.x = e.stageX; mCursor.y = e.stageY; } stage.addEventListener( MouseEvent.MOUSE_MOVE, handleMouseMove, false, 0, true ); 但我有点困惑,如何声明光标,我应该添加在舞台上,或者我可以使用一些addChild()在屏幕上 有关信息mCursor也是我的库中的光标movieClip的名称

如何得到button被点击?

其他情况下,我已经为此类问题回答了这个问题。 但是迄今为止,这是一个长达2周的僵持局面,我无法理解我见过的所有其他建议,也没有一个人能够工作。 我有一个基于单例实例的脚本,它会自动在开始时自动禁用(我试过评论,看看是否是这样)的预制GUI。 gui有一个标题文本,正文文本和8个button。 该脚本旨在允许交互式对象的其他脚本使用协程来安全地访问它并“开始对话”。 我为每个附加的button创建了一个脚本,当被调用时应该将public bool设置为true,表示它被单击,这个bool在button之间轮询,以查看用户点击了哪个button。 然后返回到调用GUI的脚本,GUIclosures或等待下一个对话。 我已经设置了所有的function,并删除了任何禁用组件的东西。 我已经确定button在层次结构中高于一切,以确保没有任何其他内容正在拦截点击。 我无法获取OnClick,OnMouseOver,OnMouseDown被调用。 debugging消息从不显示。 我已经尝试设置OnClick作为GUI的一部分,您从列表中select一个函数,并在button的代码中通过手动添加一个监听器到button。 我试过IPointerExitHandler,IPointerDownHandler等,也从来没有看到任何东西从方法回来。 我已经尝试了其他几种方法来获取我点击的button,比如当鼠标buttonclosures时进行光线投射,并检查button名称的名称,但是它总是通过地形。 我试着得到button的矩形和使用Rect.contain鼠标的位置,看看鼠标单击时,是否在button上,但这永远不会返回true。 我真的很感兴趣看到一个这样的事情已经完成的一个工作的例子,所以也许如果这不起作用,我至less可以开始寻找可能导致一个正常运行的例子失败,因为我没有想法在这一点上有什么问题。 不发泄,但这是非常令人沮丧,我觉得它可以做得更简单。 谢谢大家给予的任何帮助,你们在这里短暂的时间里感觉非常棒。

Unity – ThirdPersonController – 请帮助我的模型实现

我已经在Blender中用animation等创建了一个基本的3D角色(人形)。我已经将它导入Unity,并且工作正常。 不过,我写了自己的代码来处理标准资产包中的ThirdPersonController预制件附带的CrossPlatformInput脚本。 我将代码与Unity字符附带的相同代码相关联,但是没有奏效。 角色在现场旋转。 除了他并没有移动到任何地方的事实,它实际上是非常光滑的如何旋转等,我喜欢的角色和animation。 我只是需要他在转身之后继续前进(就像Unity标准角色一样)。 所以我开始删除脚本中的一些代码,而没有任何重要的东西(也就是说,现在我不需要克劳奇或者跳转),希望我能够弄清楚如何在按住键的时候让他向前移动。 (需要注意的是,当我拖动标准字符时,同样的脚本工作正常,但是每当我尝试将脚本附加到我的角色时,他们只是在现场旋转而不移动。 我甚至尝试添加一些像rigidbody.AddForce(移动)到脚本的移动方法的行。 我真的卡住了这个问题的最后几天:( 我也很难知道在这里粘贴什么来请求帮助,因为我刚刚使用了标准代码,我想知道我的模型是否需要做些什么? 这是有问题的代码。 如果你需要说我的项目id的任何其他部分很高兴将整个项目粘贴到某个地方,所以你可以看到我的意思。 在此先感谢您的帮助。 [RequireComponent(typeof(Rigidbody))] [RequireComponent(typeof(CapsuleCollider))] [RequireComponent(typeof(Animator))] public class ThirdPersonPlayer : MonoBehaviour { [SerializeField] float m_MovingTurnSpeed = 360; [SerializeField] float m_StationaryTurnSpeed = 180; [SerializeField] float m_JumpPower = 12f; [Range(1f, 4f)] [SerializeField] float m_GravityMultiplier = 2f; [SerializeField] float m_RunCycleLegOffset = 0.2f; //specific to the character in […]

C和Lua函数之间的交互与3D向量参数

我有C ++函数(在我的游戏引擎中运行一些物理模拟),看起来像这样: void doSomePhysics( int nIters, Vec3d pos, Vec3d vel ){ /*… don't care …*/ } 我想从一个lua脚本调用这个函数是这样的: doSomePhysics( 100, {1.0,-2.0,3.0}, {-8.0,7.0,-6.0} ) 我想弄清楚如何使lua接口来实现这个function。 我想做几个通用的辅助函数来传递2D,3D和4Dvector和matrix,因为我会大量使用它们。 这里是我正在试图做什么(但我知道这是不正确的): void lua_getVec3(lua_State *L, Vec3d& vec ){ // universal helper function to get Vec3 function argument from Lua to C++ function luaL_checktype(L, 1, LUA_TTABLE); lua_settop(L, 1); int a_size = lua_rawlen(L, 1); […]

我应该为库存系统使用inheritance还是接口?

我即将开始编程库存,收获和战利品系统。 我将需要放弃物品的敌人,产生资源的可收获环境以及需要物品和资源的库存系统。 我应该用接口,类inheritance还是两者来解决? 为什么? 还是只是我的编程风格? 我更熟悉inheritance,但如果接口有利,我会使用它们并习惯它。

有人知道libRocket的testing用例吗?

今天我使用OpenGL 3.3在我的引擎中实现了libRocket的接口。 我得到了一个标准的RML文件和一些在这个RML文件中需要的字体和图像。 看来,我正在渲染的页面/ RML是正确的,但我不是100%确定的。 也因为我还不知道很多的RML,这是一个相当复杂的。 所以我的问题:是否有任何testing用例,例如带有图像和字体的RML,结果应该以PNG或其他图像格式呈现? 如果没有人真的实现了libRocket接口,那么这种方法会使用RML渲染PNG中的结果吗?

经理游戏的问题

(对不起的标题,这是最好的,我可以拿出来) 我一直在计划一个角斗士经理游戏。 类似于“血碗”(或者“足球经理”,只有打架而不是踢球),只不过更关注于管理团队的实际管理层面。 我对于游戏开发还是比较陌生的,只是创造了一个非常狭隘的游戏(比如简单的第一人称射击游戏),所以接受一个更大范围的项目是非常有趣的,但也是有问题的,因为我真的没有掌握如何使该死的东西工作。 基本上我的两个主要障碍是界面和数据库。 很显然,界面非常重要,因为玩家将花大部分时间来完成管理任务。 游戏将以团队为基础,各个团队参与其中,因此都依赖于数据库。 我从来没有做过任何与数据库真正的工作,所以这特别是我难住。 在这一点上,我的想法是在WPF应用程序中使用XNA,并使用XML数据库。 这看起来像是一个能够很好地结合在一起的组合,而且由于我有C#/ XNA背景,所以我不需要学习新的语言或graphics框架。 这似乎是一个明智的组合,如果没有,为什么? 我从来没有用WPF做过任何事情,所以我所有关于它的信息都来自于Google,这可能会也可能不是一件好事。 XML是一个明智的select吗? 可能会有一个相当低的(想象20-30)的队伍,所有这些队伍都会有十几个战士,所以它不是一个庞大的数据集。 在此先感谢,我知道我没有写出最聪明的职位,但是我不得不把我的碎片弄出来。 ;)

使用HTML接口?

我一直在使用的游戏使用opengl / sfml的graphics。 我目前正在接口,我发现确定所有适当的偏移/定位等是一个痛苦。 为了使其可configuration,我可能会最终parsing一堆XML文件parsing,告诉我的程序使用什么图像/在哪里定位它们。 为界面。 由于我需要这样做,我很好奇,是否可以将html渲染器embedded到应用程序中,并使用opengl绘制graphics进行显示? 这样我可以理论上使用html页面来devise界面 如果可能的话,会有多困难,这是一个好主意吗? 有没有这样做的项目? 谢谢