草庐IT

Graphics2D

全部标签

java - Slick2D 与直 LWJGL

我一直在研究使用Slick2D进行游戏编程,我开始怀疑从长远来看,了解LWJGL是否会更有帮助。一方面,Slick2D快速且简单,但LWJGL似乎更具适应性,因为它同时具有2D和3D功能。对于Java中级并且想要制作游戏的人来说,是否值得付出额外的努力来立即学习LWJGL? 最佳答案 我不认为这两者真的相关。我的意思是,我知道Slick是建立在LWGJL之上的,但这不是我要说的。Slick的存在是为了利用硬件图形和声音加速,并通过一组对2D游戏有意义的对象和类(sprites和tilemaps,而不是几何模型和3D坐标)为2D游戏提

java - 使用 Graphics2D 在 BufferedImage 上叠加文本并返回 BufferedImage

我检查了类似名称的问题,但他们没有回答这个用例。基本上,我是在给定坐标(x,y)处覆盖一些文本(文本)我在一个包中有以下函数;protectedBufferedImageProcess2(BufferedImageimage){Graphics2DgO=image.createGraphics();gO.setColor(Color.red);gO.setFont(newFont("SansSerif",Font.BOLD,12));gO.drawString(this.text,this.x,this.y);System.err.println(this.text+this.x+th

java - Graphics2D.drawString 中的换行问题

g2是Graphics2D类的一个实例。我希望能够绘制多行文本,但这需要换行符。以下代码在一行中呈现。Stringnewline=System.getProperty("line.separator");g2.drawString("part1\r\n"+newline+"part2",x,y); 最佳答案 drawString方法不处理换行符。您必须自己将字符串拆分为换行符,并使用适当的垂直偏移量逐行绘制:voiddrawString(Graphicsg,Stringtext,intx,inty){for(Stringline:t

java - 如何将 3D 点转换为 2D 透视投影?

我目前正在使用贝塞尔曲线和曲面来绘制著名的犹他茶壶。使用16个控制点的Bezier补丁,我已经能够绘制茶壶并使用“世界到相机”功能显示它,该功能可以旋转生成的茶壶,目前正在使用正交投影。结果是我有一个“扁平”茶壶,这是预期的,因为正交投影的目的是保留平行线。但是,我想使用透视投影来赋予茶壶深度。我的问题是,如何获取从“世界到相机”函数返回的3Dxyz顶点,并将其转换为2D坐标。我想使用z=0的投影平面,并允许用户使用键盘上的箭头键确定焦距和图像大小。我正在用java编程并设置了所有输入事件处理程序,并且还编写了一个处理基本矩阵乘法的矩阵类。我已经阅读了一段时间的维基百科和其他资源,但我

android - java.lang.NoClassDefFoundError : android/graphics/drawable/Icon

到目前为止,我只为一位使用Root手机(SM-G900R7Android4.4.2)的用户收到此错误。错误是这样的:FatalException:java.lang.NoClassDefFoundError:android/graphics/drawable/Iconatjava.lang.Class.getDeclaredMethods(Class.java)atjava.lang.Class.getDeclaredMethods(Class.java:656)atandroid.view.ViewDebug.getExportedPropertyMethods(ViewDebug.

Android OpenGL ES 和 2D

嗯,这是我的要求。我已经不知道OpenGL,也不愿意学习它,我想直接学习OpenGLES,因为我的开发目标是android。我想学习OpenGLES以开发我的2D游戏。我选择它是出于表演目的(因为在RT游戏中,基本的SurfaceView绘图效率不高)。我的问题是:从哪里开始?我花了一个多月的时间浏览Google并阅读/尝试了一些我在任何地方找到的教程/示例,但老实说,这并没有太大帮助,原因有两个:几乎所有我遇到的文章/教程都是3D相关的(我只想学习如何绘制2DSprites)没有任何基础,因为所有文章都针对特定的内容,例如:“如何绘制三角形(带顶点)”、“如何创建网格”......等

android - PorterDuff.Mode 在 android graphics 中是什么意思。它有什么作用?

我想知道PorterDuff.Mode在android图形中的含义。我知道这是一种传输方式。我也知道,它有DST_IN、Multiply等属性。 最佳答案 这是一篇由Google工程师提供的带有插图的优秀文章:http://ssp.impulsetrain.com/porterduff.htmlPorterDuff被描述为一种组合图像的方式,就好像它们是相互叠加的“不规则形状的纸板”,以及一种混合重叠部分的方案。Android的默认构图方式是PorterDuff.Mode.SRC_OVER,这相当于将源图像/颜色覆盖目标图像。换句话

android - 适用于 Android 和 iOS 的 2D 跨平台游戏引擎?

关闭。这个问题不满足StackOverflowguidelines.它目前不接受答案。想改善这个问题吗?更新问题,使其成为on-topic对于堆栈溢出。7年前关闭。Improvethisquestion我已经使用Unity3d工作了一段时间,发现它是带有OnGUI()或GUITextures的2D部分太笨拙了。此外,即使是在Unity3d上完成的最小游戏也至少需要10MB的下载量,这对于2D游戏来说太多了。所以,我目前正在寻找2D引擎。我已经尝试过Cocos2D,但它仅适用于iOS,我不想将所有内容重写为另一种Android语言(因此,例如,Android版Cocos2d的Java端口

c# - 为 Windows Phone 8 开发 2D 游戏

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我想为WindowsPhone8开发2D游戏。我白天是一名专业的应用程序开发人员,这似乎是一个有趣的爱好。但我一直失望地试图开始。2D游戏(绝大多数游戏)似乎没有可用的API。WindowsPhone制造商似乎不支持Direct2D。因此,除非您打算制作一个完全3D的应用程序,否则您很不走运。所以,如果您只是想制作一个漂亮的2D应用程序,这些是您的选择:使用Xaml和C#编写游戏(性能问题?)使用Dir

c++ - 为什么不能简单地初始化(带大括号)2D std::array?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:c++whyinitializer_listbehaviorforstd::vectorandstd::arrayaredifferent我定义了简单的二维数组(3X2):std::array,2>a{{1,2,3},{4,5,6}};我很惊讶这个初始化不起作用,gcc4.5错误:toomanyinitializersfor'std::array,2u>'为什么我不能使用这种语法?我找到了解决方法,一个非常有趣的额外大括号,但只是想知道为什么第一个最简单的方法无效?解决方法://EXTRABRACESstd: