Questions tagged «java»

Java既是一种流行的面向对象的编程语言,又是运行时环境,它允许Java程序在大多数硬件和软件平台上保持不变地运行。

4
Java和Steam JVM部署
我目前正在考虑为游戏开发和部署到Steam Greenlight的选择。我非常喜欢Java与libGDX的结合,特别是因为Java具有libGDX的跨平台潜力,而且我知道可以在Steam上部署Java游戏。我也很满意必须创建某种包装程序,以便我的Java游戏可以调用C ++ Steamworks API。 我的问题是我可能遇到什么部署问题。具体来说,是在客户端计算机上安装JRE。我已经看到许多Steam安装程序会检查.NET运行时。我应该为JRE做类似的检查并安装吗? 在Steam上进行Java部署与使用Monogame进行C#之类的部署和维护相比,有什么明显的理由吗?
10 java  libgdx  steam 


4
在Box2D(libGDX)中创建近战武器
我正在努力实现一种近战武器,该武器可以在按下键时摆动。 我正在想象两种不同的攻击方式(刺和挥杆) 我尝试创建两个固定装置(角色+武器),两个不同的物体,两个不同的物体+旋转关节,但是我无法对其进行编码,使其行为符合我的想象。 刺: 因此,只要按一下按钮,身体/固定装置(传感器)就会出现约1秒钟,然后消失(或者,身体/固定装置始终可以位于英雄身上,并且在按下时围绕顶点旋转90度,并且然后旋转回正常) 摇摆: 同样,但是现在武器将从顶部开始向下旋转。武器也将成为传感器。 我尝试过的 我创建了两个动态物体。 武器必须跟随英雄,因此我使用了旋转关节将它们固定在一起。当按键时,我将武器的角速度设置为一个数字。但是,放开钥匙后,武器将继续旋转。我尝试执行if检查(如果角度大于___,请将角速度设置为零)。但是,这仅意味着当我再次按下该键时,武器将停止旋转。
10 java  libgdx  box2d 

2
由于libGDX中不推荐使用Table.drawDebug,因此应该使用什么呢?
我正在按照“学习LibGDX游戏开发”一书来制作一个简单的游戏。我在菜单创建部分中,在其中创建一个舞台并使用调试边框对其进行渲染。 这本书说要使用,Table.drawDebug(stage)但是这个静态方法似乎已经从框架Table类中完全删除了。 我正在进口com.badlogic.gdx.scenes.scene2d.ui.Table; 下面是我的代码: @Override public void render(float deltaTime) { Gdx.gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); if (debugEnabled) { debugRebuildStage -= deltaTime; if (debugRebuildStage <= 0) { debugRebuildStage = DEBUG_REBUILD_INTERVAL; rebuildStage(); } } stage.act(deltaTime); stage.draw(); Table.drawDebug(stage); } 最后一行,Table.drawDebug(stage);有编译错误"The method drawDebug(ShapeRenderer) in the type Table is not applicable for the arguments (Stage)" …

2
将字体大小与libgdx中的屏幕分辨率匹配时出现问题
我在以相同的大小在不同的屏幕上显示游戏文本时遇到问题,我做了一个简单的测试。 该测试包括在屏幕上显示适合的文本,我希望文本的大小与屏幕和DPI无关。 我已经找到了这个,这个答案我认为应该可以解决我的问题,但不能解决。在台式机上可以,但是在我的手机上太大。 这是我的Nexus 4的结果:(768x1280,2.0密度) 这就是我的MacBook的结果:(480x800,密度为0.6875) 我正在使用Open Sans Condensed(链接到Google字体) 如您所见,在台式机上看起来不错,但是在手机上却很大。 这是我测试的代码: public class TextTest extends ApplicationAdapter { private static final String TAG = TextTest.class.getName(); private static final String TEXT = "Tap the screen to start"; private OrthographicCamera camera; private Viewport viewport; private SpriteBatch batch; private BitmapFont font; @Override public void …

2
我怎样才能使蛇的尾巴跟随头部?
完成任务后,通过构建一个小的Snake克隆才开始使用libGDX,我遇到了一个问题,我可能会在一段时间内感到羞愧。 我目前有一个蛇头(在这个阶段是一个简单的矩形)在游戏画布上移动。构造蛇的其余部分最直接的方法是让头部拥有一个SnakeElements的Java Collections LinkedList,它会根据玩家的操作来增加/减小大小。 让这个SnakeElements列表紧随其后,但是事实证明这并非易事。 当前执行此操作的函数如下,并且每当头部更新其位置时都会调用该函数: private void moveTail (float x, float y, int direction) { float tmpx, tmpy; int tmpdirection; int offset_x, offset_y; for (SnakeSegment snse : tail) { offset_x = 0; offset_y = 0; tmpx = snse.getX(); tmpy = snse.getY(); tmpdirection = snse.getDirection(); switch(direction) { case 0: offset_x …
10 java  libgdx 

2
如何在libgdx中实现按程序生成的图块?
我正在libgdx中创建一个简单的自上而下的Zelda式游戏,我想实现程序生成的基于图块的地牢,类似于此。 Libgdx确实有一个名为TiledMap的类,这似乎可以满足我的需求,但是官方文档之外的文档显示TiledMaps只能与.tmx文件(即预先设计的地图)一起使用。我做了很多谷歌搜索都无济于事,所以我在这里要求最后的希望是希望有人对使用libgdx进行动态生成的瓦片地图有经验。 编辑:能否将StaticTiledMapTiles与上面链接到的教程结合使用以实现我的目标? 谢谢!

3
我应该如何用代码为经济型游戏建模?
我想创建一个基于古代文明的经济游戏。我不确定如何设计。如果我正在开发一个较小的游戏,例如《太空侵略者》的副本,那么构造这样的游戏就不会有问题: 主控制类 图形类 玩家等级 敌人阶级 我不知道如何为大型项目(例如经济游戏)做到这一点。我是否创建一个包含许多城镇的国家/地区类别?城镇是否包含很多建筑类别,大多数包含人口类别?我是否会开设可供玩家绕行的寻径课程?

2
如何有效地确定基于3D体素的房间是否密封
我一直无法有效地确定大型房间是否封闭在基于体素的3D房间中,因此遇到了一些问题。我正在尽最大努力在不寻求帮助的情况下解决问题,但还没有尽力放弃,所以我在寻求帮助。 为了澄清起见,密封是房间内没有孔。有氧气密封器,用于检查房间是否密封,并根据氧气输入水平进行密封。 现在,这就是我的操作方式: 从封口砖上方的块开始(通风口在封口的顶面上),递归遍历所有6个相邻方向 如果相邻的图块是完整的非真空图块,请继续执行循环 如果相邻的块未满,或者是真空块,则递归检查其相邻块是否存在。 每次检查图块时,递减计数器 如果计数为零,则最后一个块与真空砖相邻,则返回该区域未密封 如果计数为零,并且最后一个块不是真空块,或者递归循环在计数器为零之前结束(没有真空块),则该区域将被密封 如果该区域未被密封,请进行一些更改以再次运行循环: 检查相邻块中的“透气”砖块而不是真空砖块 代替使用减量计数器,直到发现没有相邻的“透气空气”砖块为止。 循环完成后,将每个选中的块设置为真空砖。 这是我正在使用的代码:http : //pastebin.com/NimyKncC 问题: 我每3秒运行一次此检查,有时一个封闭程序必须循环遍历数百个块,并且在一个拥有很多氧气封闭程序的广阔世界中,每隔几秒钟的这些多个递归循环在CPU上可能很难。 我想知道是否有人在优化方面有更多经验可以帮助我,或者至少可以指出正确的方向。谢谢你
10 java  voxels  recursion 

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

2
函数式语言在Android上的性能如何?
我觉得这是这个问题的特例,我觉得这是特别相关的。 我正在开发适用于Android的游戏,并且正计划在libgdx中使用Scala。我正计划制作一款性能出色的游戏,但不一定是高性能游戏。我看过libgdx关于Garbage Collection的文档,这使我想到: 函数式编程意味着许多不可变的对象。 因此,使对象变异需要制作一个新对象。 因此,许多对象会被垃圾回收,从而降低性能。 这是一个无法解决的问题吗?Android上的功能样式是否还有其他重大问题?
10 java  android  libgdx 

2
如何在2.5D透视图中渲染地形,例如在《不要挨饿》游戏中?
我在制作2D侧面滚动游戏(例如Terraria)方面有经验,但是现在我想挑战自己,制作一款具有2.5D视角的游戏。我要模仿的游戏是《不要挨饿》。现在,我的重点是弄清楚如何渲染地面。我很难弄清楚它们是如何生成地面,然后渲染地面的。我认为他们渲染地面的方式是,首先在某些绘画程序中对地面进行绘画,然后以某种方式处理该平面图像,使其看起来具有深度。 我对如何实际渲染这种类型的地形完全感到困惑。我希望地形具有以下特征: 看起来像《不要挨饿》中的地形,这是一个视频,显示了《不要挨饿》中的地形 地形将是平坦的,并且摄像机的角度和视角将被固定 任何提示和提示将不胜感激,在此先感谢您。 (我正在使用轻量级Java游戏库(LWJGL)在Java中工作。)

3
博弈论与游戏开发之间是否有任何关系?
我是一名有兴趣学习Java游戏的Java程序员,最近我看了一本Wayne L.Winston写的关于运筹学的书。有一个关于博弈论的话题。 这是真正的数学。我只是一个应用程序开发人员,但是那本书对开始游戏职业有帮助吗?
10 java  game-theory 

2
突围碰撞:检测碰撞的一面
我正在写一个突破性的克隆游戏(我的第一场比赛),我完全不知道该如何打砖头。 我有一个碰撞检测方法,如下所示: DetectCollision(Object a, Object b) x = distance(a.x, b.x); y = distance(a.y, b.y); if (x is smaller than the combined width & y is smaller is than combined height { return true; } return false; 这完全可以正常工作,但是我需要知道碰撞的一面以及相对于中心的位置,以便正确响应。 过去几天我一直在偷看,但迷路了。

2
渲染字符,四肢被割断(Java / OpenGL中的Blender模型)
如果我希望肢体可分离,在创建角色动画和渲染类时应该考虑哪些方面?我已经开发了详细的身体系统,可以定义到神经系统的所有内容。我的目标是达到与《矮人要塞》中详细的伤害程度相似的水平。例如,当角色对其上臂造成伤害时,可能会出现神经受损,从而使整个手臂失去能力。否则他们可能会完全失去手臂。 我写了一个系统来处理其中的数据部分。每个角色都有一个箱子,里面有附属物和内部零件。每个附件也可以具有子附件和内部部件。如果禁用或删除了父附件,则将禁用/删除子附件。如果生命中需要任何禁用/拆除的附件或内部零件,角色将很快死亡。 我现在正在研究的是绘图/动画部分。如何定义动画以了解在当前身体状态(缺少手臂/腿等)下允许哪些动画?如何设置绘制系统以不绘制缺少的四肢?每个肢体/附属物都必须是自己的模型吗(我想在地面上画出切除的附属物)? 我正在转换的简单系统(我只是将其编写用于测试)将动画的所有关键帧作为完整模型导入到VBO(以及关键帧开始/停止位置的顶点计数)。它不会导入或利用Blender中定义的骨骼,也不会在帧之间进行插值。 这可能是一个很大的问题,所以我也在寻找可以使我走到哪里的资源。 编辑 我询问有关动画的动画,因为我希望将其设置为在缺少所需肢体的情况下执行其他动画。考虑了这一点之后,我想我会在激活动画之前执行该检查,然后激活相应的动画。

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.