Questions tagged «java»

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


3
有台球游戏的算法吗?
我正在寻找一种算法来计算台球游戏中球的方向和速度。我确信必须有某种类型的开源代码,因为桌球游戏是我记得最古老的一些计算机游戏。 我的意思是,当一个球击中另一个球时,我需要一种算法来计算两个球的方向。这将取决于他们彼此碰撞的确切角度以及速度。 我想练习Java编码,所以我正在寻找具有这种类型代码的Java代码或程序包。
14 java  physics  billards 

6
我是否由于不了解C ++进行游戏设计而伤害自己?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 现在,我觉得自己在Java和C#方面都很强。(从一个到另一个的跳跃并不多)。 虽然我并不期望游戏设计师/程序员会在我职业生涯的早期实现目标,但这是我在职业生涯后期将会实现的目标。 考虑到这一点,我感到无视C ++和与其相关的游戏设计工具最终会伤害我或使我达到目标的能力减慢。 是这样吗 还是我可以继续使用XNA和WPF磨练自己的C#技能来开展个人项目,从而使我从事这样的职业?
14 xna  c++  c#  java  wpf 

8
C#(单声道)/ Java 3D游戏引擎推荐[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 7年前关闭。 您能为跨平台(Win / Mac / Linux,我不在乎控制台)开发推荐一个好的C#游戏引擎吗? 我在原始OpenGL方面有一些经验,并且玩过Java绑定和JMonkeyEngine。但是,我对这些解决方案感到有些失望,我尝试了Ogre3D,它看起来确实很有希望,但是我宁愿不必使用C ++的PITA进行开发。 我看过这个列表,但是它非常庞大。我不是在寻找一种多合一的解决方案,也就是说,我实际上并不需要网络,音频和所有爵士乐的支持,但是如果得到支持,它也不会受到损害。 也许还有一个我不知道的很棒的Java解决方案?
14 c#  java  cross-platform  mono 

2
如何使用Scene2D制作弹出窗口?
我有一个带有徽标和一堆按钮的主菜单屏幕。当按下登录按钮时,我弹出一个对话框,要求输入用户名和密码。 除“弹出”外,此方法工作正常。目前,新对话框只是移动了所有内容,但我想将其放置在当前场景上。 我只是在学习Scene2D。
13 java  libgdx  menu  scene2d 

3
数组对象还是对象数组?
我正在制作一个管理模拟游戏,类似过山车大亨。我想知道构造我的世界对象的最佳方法是什么,以便最大化性能。 假设我的游戏中有5,000人,我可以: 创建一个对象并将其存储在数组中,如下所示: class person() { this.x = 0; this.y = 0; this.thirst = 15; this.hunger = 15; // etc.. add methods: public findPath(int destX, int destY) { // and so on } people = new person[5000]; for (int = 0; i < 5000; i++) { people[i] = new person; …

3
组成重的OOP与纯实体组件系统?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我承认,我犯了过度使用甚至滥用继承的罪过。我上OOP课程时所做的第一个(文字)游戏项目远比“门”和“一扇门的房间”,“两扇门的房间”中的“锁门”和“解锁门”有关,以此类推。 通过最近我从事的(图形)游戏,我认为自己已经学到了教训,并限制了继承的使用。但是我注意到问题很快开始出现。我的根类开始越来越膨胀,而我的叶类中充满了重复的代码。 我以为我还是在做错事,在网上查询之后,我发现我并不是唯一遇到此问题的人。经过一些深入的研究,我最终才发现了实体系统(请参阅:googlefu) 当我开始阅读它时,我能够看到它能够多么清晰地解决我的带有组件的传统OOP层次结构所遇到的问题。这些是一读。当我偶然发现更多……“激进”的ES方法时,例如T-machine上的方法。 我开始不同意他们使用的方法。一个纯粹的组件系统似乎要么过大,要么不直观,这可能是OOP的优势。作者甚至说ES系统与OOP相反,尽管它可以在OOP中使用,但实际上不应该。我并不是说这是错误的,但是我只是觉得自己不想实施一个解决方案。 因此,对我来说,为了解决我在帖子开头所遇到的问题,而又不违背我的直觉,那就是仍然使用层次结构,但是它不会像我以前使用的那样是一个整体的层次结构,而是一种多片的(我找不到与单片相反的单词),它由几棵较小的树组成。 下面的示例说明了我的意思(这受我在《游戏引擎体系结构》第14章中找到的示例的启发)。 我会有一棵小树供车辆。根车辆类别将具有渲染组件,碰撞组件,位置组件等。 然后,坦克(车辆的子类)会从中继承这些组件,并被赋予自己的“加农炮”组件。 角色也是如此。角色将拥有自己的组件,然后让Player类继承它,并被赋予Input控制器,而其他敌人类将从Character类继承并被赋予AI控制器。 我真的看不到这种设计有任何问题。尽管没有使用纯的实体控制器系统,但是冒泡效果的问题和大根类的问题是通过使用多树层次结构解决的,繁重的代码复制叶子的问题也消失了,因为叶子没有有任何代码开始,只有组件。如果需要对叶级别进行更改,则就像更改单个组件一样简单,而不是将代码复制粘贴到任何地方。 当然,像我一样没有经验的人,当我刚开始使用单一层次结构,繁重的继承模型时,我没有看到任何问题,因此,如果我当前正在考虑实现的模型存在问题,我不会能够看到它。 您的意见? PS:我正在使用Java,因此无法使用多重继承来实现此功能,而不是使用常规组件。 PPS:组件间通信将通过相互链接相关的组件来完成。这将导致耦合,但是我认为这是一个不错的权衡。


2
渲染图块时如何处理凹凸不平的图块?
这是我不确定要处理的地图。如您所见,顶壁比底壁和侧壁要大得多(这也是我的角落的问题,这些角落是奇怪的形状(更像是L,然后是正方形),以及比我当前的瓷砖大40x40px )。 我还附加了我要用于瓷砖的瓷砖板,以向您展示与其余瓷砖相比,边角和顶部的外观。 我在想的是,如果我使用图块的宽度和高度而不是设置的WxH,我也许可以使用与我相同的数组绘制它们?我不知道这将如何运作,但是具有不同值的方块会成为玩家/ NPC无法踩到的方块,那么这可能不是问题,再次我甚至不确定那是否可行解。 我的代码,以防您想了解我当前的处理方式:Map.java(pastebin)(edit:im 未处理它,意味着我目前在处理地图) tl; dr-如何获取2d外观的地图并更改为其他大小的地图?还是有更好的方法来做我想做的事情?谷歌搜索时应该寻找一种方法的名称吗?
13 2d  java  tiles  maps 

2
如何应对自上而下的RPG运动?
我有一个用Java编写的游戏。这是自上而下的RPG,我正在尝试处理世界上的运动。这个世界在很大程度上是程序性的,我很难解决如何处理角色在世界各地的移动以及如何将更改呈现到屏幕上。我将世界加载到包含所有图块的块中。 我该如何应对角色移动? 我很沮丧,无法弄清楚应该去哪里。 编辑:好吧,我对手头的问题很抽象。 现在,我只能想到将所有内容严格地粘贴到2D数组中并在块中保存块ID和播放器偏移,否则我可以“浮动”所有内容并在块之间移动。
13 java  tiles  rpg  movement 

2
Java for JRE与Java for Android有何不同?
我对开发这款游戏还是陌生的,并且我开始学习Java,因为有人告诉我这是一个很好的入门方法。我想稍后再为android市场创建游戏,并希望得到大家的好感,所以我知道我到底在处理什么。 我确实意识到Android开发具有不同的体系结构,但没有什么不同(这是一个很好的说法吗?) 谢谢!
13 java  android 

3
如何制作扩展的子弹图案形状?
我想制作一系列可扩展的子弹图案,以形成正方形,三角形等形状。在下面的视频中可以看到我所追求的一个例子,当收集星星时,子弹会以膨胀星: https://youtu.be/7JGcuTWYdvU?t=2m41s
12 java  libgdx 

3
LibGDX游戏与ApplicationAdapter
当我创建一个新的LibGDX项目时,Core项目的主类扩展了ApplicationAdapter。这是它的样子。 package com.marimba.apptest; import com.badlogic.gdx.ApplicationAdapter; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.GL20; public class AppMain extends ApplicationAdapter { @Override public void create () { } @Override public void render () { Gdx.gl.glClearColor(1, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); } } 因此,如果要调用setScreen方法以便在屏幕之间切换,则必须将ApplicationAdapter更改为Game。那么ApplicationAdapter的用途是什么?我什么时候使用?
12 java  libgdx 

4
如何在LibGDX中渲染具有透明性的PNG?
我正在用LibGDX构建一个简单的井字游戏示例。我有简单的图像:十字,圆圈和木板,所有这些都是png使用GIMP在透明背景下创建的。 如何使它们呈现为Texture具有透明度? 我已经尝试使用GL10启用功能,但似乎无法正常工作。

1
什么时候以及为什么需要一个Pool类来保存对象?
我一直在研究opengl es,我看到的一个示例是使用“ Pool”类来跟踪触摸和键盘事件。 有人可以解释为什么以及为什么需要泳池课程。从我阅读的内容来看,它与垃圾收集和限制输入类的数量有关。 这对我来说似乎有点抽象,所以如果有人可以解释发生了什么,我将不胜感激,我将在此处粘贴一些代码: public Pool(PoolObjectFactory < T > factory, int maxSize) { this.factory = factory; this.maxSize = maxSize; this.freeObjects = new ArrayList < T > (maxSize); } public T newObject() { T object = null ; if (freeObjects.isEmpty()) object = factory.createObject(); else object = freeObjects.remove(freeObjects.size() - 1); return …

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.