Tag: 2d

Android OpenGL ES和2D

那么,这是我的要求。 我不知道OpenGL了,而且我不愿意学习它,但是我想直接学习OpenGL ES,因为我将自己的开发目标locking在了Android上。 我想学习OpenGL ES以开发我的2D游戏。 我select它作为表演的目的(因为基本的SurfaceView绘图在RT游戏方面效率不高)。 我的问题是:从哪里开始? 我已经花了一个多月的时间浏览Google,阅读/尝试一些我在其他地方find的教程/示例,但是说实话,这并没有多大帮助,这有两个原因: 几乎所有我遇到的文章/教程都是3D相关的(我只想学习如何做2D Sprites绘图) 因为所有文章的目标都是“如何画一个三angular形(顶点)”,“如何创build一个网格”等等,所以没有什么基础。 我也尝试过读取一些源代码(例如:副本岛),但代码太复杂,包含了很多不必要的东西; 结果:我迷失在100个.java文件中,并带有奇怪的类名和东西。 我想有没有像我正在寻找的路线,但我会很高兴,如果有人可以给我一些指导方针和一些链接,也许学习我所了解的(只有OpenGL ES 2D Sprites渲染!没有3D )。

绘制等距的游戏世界

什么是在2D游戏中绘制等angular拼图的正确方法? 我已经阅读过参考文献(比如这个 ),这些参考文献提出了这样一种方式,即在地图的二维数组表示中以锯齿形方式呈现这些图块。 我想他们应该更多地以钻石的方式画出来,画在屏幕上的东西更接近二维数组的外观,只是旋转了一下。 两种方法都有优点还是缺点?

SurfaceView和View的区别?

什么时候需要使用SurfaceView而不是View ?

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

我在Unity3d上工作了一段时间,发现它的OnGUI()或者GUITextures太笨拙了。 而且,即使是Unity3d上最小的游戏,也至less有10MB的下载量,这对于2D游戏来说太过分了。 所以,我现在正在寻找2D的引擎。 我试过Cocos2D,但它只是iOS,我不想重写所有的东西到Android的另一种语言(所以,例如Android的Cocos2d的Java端口不是一个选项)。 相反,我想编写一次代码,而且最less麻烦部署在iOS,Android和Windows Phone 7上。我同时拥有Mac和Windows。 为了更加详细,这里是我对引擎的要求: 必须是跨平台的 必须高效 应该是C ++,Java,C#或Objective C,因为我对他们很舒服,而不是 Flash,Javascript,HTML5,因为我不是一个Web开发人员 必须有一个大型的社区,教程和其他库,涵盖了你直接在iOS或Android上开发的应用程序(应用内结算,Facebook等) 最终交付的软件包一定不能太大 发动机可以免费,但我也不会介意付出一个合理的价格 我find了以下引擎: 果酱 (和它上面的IwGame引擎 ) – C ++,发现整体非常正面的果酱评论,但不知道IwGame。 编辑(2013年3月) :看起来像Marmalade SDK现在包括Cocos2Dx和一些内置的IDE,使得它更好(独立开发每年花费150美元,这对我来说还行)。 电晕SDK – Lua(效率可疑),也需要互联网连接来编译代码 Cocos2d-x – C ++收到了很多来自开发人员的评论,主要是积极的,许多人认为这是最好的2D 粒子代码 – Java + Eclipse,没有发现任何评论或评论 Moai – Lua,找不到任何评论/意见 猴引擎 – 似乎有太less的function Haxenme – 这是Flash,我从来没有用过,也不想 使用Unity3d,但使用2D工具包等2D软件包 SDL到Android (也在这里 )和iOS的端口 – 看起来没有太多的支持或当前的发展(?) GLBasic […]

烘焙转换成SVGpath元素命令

tl; dr总结 :给我资源或帮助修复下面的代码,以便通过任意matrix转换SVG <path>元素的path命令。 细节 : 我在写一个库来将任意的SVG形状转换成一个<path>元素。 当它在层次结构中没有transform="…"元素的时候,我已经工作了,但是现在我想将对象的局部变换烘焙到path数据命令本身中。 在处理简单的moveto / lineto命令时,这主要是工作(下面的代码) 。 但是,我不确定转换贝塞尔句柄或arcTo参数的适当方式。 例如,我可以将这个圆angular矩形转换为<path> : <rect x="10" y="30" rx="10" ry="20" width="80" height="70" /> –> <path d=​"M20,30 L80,30 A10,20,0,0,1,90,50 L90,80 A10,20,0,0,1,80,100 L20,100 A10,20,0,0,1,10,80 L10,50 A10,20,0,0,1,20,30" /> 在没有任何圆angular的情况下,我得到了一个有效的结果: <rect x="10" y="30" width="80" height="70" transform="translate(-200,0) scale(1.5) rotate(50)" /> –> <path d=​"M10,30 L90,30 L90,100 L10,100 L10,30" /> 然而,仅仅转换椭圆弧命令的x / […]

图像到ASCII艺术转换

序幕 这个问题不时在这里popup来,但通常是因为写得不好而被删除。 我看到很多这样的问题,然后在请求附加信息时,从OP (通常的低代表)沉默。 有时候,如果input对我来说足够好,我决定回答一个答案,通常在活动时每天得到一些赞成票,但几个星期后问题就会被删除/删除,一切从头开始。 所以我决定写这个问答,所以我可以直接参考这些问题,而不必一遍又一遍地重写答案。 另一个原因是这个META线程针对我,所以如果你有额外的input随时发表评论。 题 如何使用C ++将位图图像转换为ASCII艺术 ? 一些限制: 灰度图像 使用单间隔字体 保持简单(不要为初学者级程序员使用太高级的东西) 这是一个相关的Wiki页面ASCII艺术 (感谢@RogerRowland)

如何使用Windows窗体创build一个幻方块?

我应该使用Windows窗体应用程序在2D中创build一个幻方。 它应该是这样的: 但是,用户应该能够决定正方形的大小(3×3,5×5,7×7等)。 我已经写了一个控制台应用程序的代码,但我不知道如何添加2Dgraphics。 有人已经问过这个问题( 我如何把我的结果放入一个GUI? ),其中一个答案是使用DataGridView ,但我不知道这是我在找什么,因为我不能做到这一点看起来像图片。 任何想法或build议?

在现有的圆上曲线文本

对于我正在build设的应用程序,我画了2个圈子。 一个比另一个大一点。 我想在这些行之间曲线文本,为我正在build立一个圆形的菜单。 我阅读了大多数关于弯曲文本的东西,你必须将文本分解成字符,并且以正确的angular度(通过旋转你正在绘制的上下文)绘制每个字符。 我无法将自己的头围绕在如何为我的angular色find正确的angular度和位置上。 我包括了目前菜单的样子。 只有我添加的文本从UIImageView中的图像加载。 我希望有人能在某些方面给我一些起点,说明如何在白圈中画出文字。 编辑:好的,我目前在这一点上: 我通过使用以下代码完成: – (UIImage*) createMenuRingWithFrame:(CGRect)frame { CGRect imageSize = CGRectMake(0,0,300,300); float perSectionDegrees = 360 / [sections count]; float totalRotation = 90; char* fontName = (char*)[self.menuItemsFont.fontName cStringUsingEncoding:NSASCIIStringEncoding]; CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); CGContextRef context = CGBitmapContextCreate(NULL, imageSize.size.width, imageSize.size.height, 8, 4 * imageSize.size.width, colorSpace, kCGImageAlphaPremultipliedFirst); CGContextSetTextMatrix(context, CGAffineTransformIdentity); CGContextSelectFont(context, fontName, 18, […]

Java Applet游戏2D窗口滚动

我正在尝试在Java Applet中开发2D RPG游戏。 现在我有一个简单的椭圆形,玩家可以使用Left,Right,Up和Down来移动,并且与applet边界的碰撞停止。 问题是,我想创造一个玩家可以移动的区域的巨大世界(2000x2000x)。 不过,我只希望他们一次只能看到600x400x的屏幕。 如果他们继续向右移动,我希望屏幕跟随他们,同样的上下左右。 谁能告诉我如何做到这一点? 这是我的代码到目前为止: import java.awt.*; import java.awt.event.KeyEvent; import java.applet.Applet; import java.awt.event.KeyListener; import javax.swing.*; public class Main extends Applet implements Runnable, KeyListener { private Image dbImage; private Graphics dbg; Thread t1; int x = 0; int y = 0; int prevX = x; int prevY = y; int radius = […]

通过MPI发送和接收二维数组

我想解决的问题如下: 我已经计算了一个大的2Dmatrix的C ++串行代码。 为了优化这个过程,我想分割这个大的2Dmatrix,并使用MPI在4个节点(比如说)上运行。 节点之间发生的唯一通信是在每个时间步骤结束时共享边缘值。 每个节点与其邻居共享边缘arrays数据A [i] [j]。 在阅读MPI的基础上,我有以下的计划来实施。 if (myrank == 0) { for (i= 0 to x) for (y= 0 to y) { C++ CODE IMPLEMENTATION …. MPI_SEND(A[x][0], A[x][1], A[x][2], Destination= 1…..) MPI_RECEIVE(B[0][0], B[0][1]……Sender = 1…..) MPI_BARRIER } if (myrank == 1) { for (i = x+1 to xx) for (y = 0 […]