标签: 2d

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

我和Unity3d一起工作了一段时间,发现它是OnGUI()或GUITextures的2D部分太笨拙.此外,即使在Unity3d上完成的最小游戏也至少下载10MB,这对2D游戏来说太过分了.

所以,我目前正在寻找2D引擎.我已经尝试过Cocos2D,但它只是iOS,我不想将所有内容重写为Android的另一种语言(因此,例如,Android的Cocos2d的Java端口不是一个选项).相反,我想编写一次代码,并且最简单的麻烦在iOS,Android和Windows Phone 7上进行部署.我同时拥有Mac和Windows.

为了更详细,以下是我对引擎的要求:

  • 必须是跨平台的
  • 必须高效
  • 应该是C++,Java,C#或Objective C因为我对它们感到满意而不是 Flash,Javascript,HTML5,因为我不是Web开发人员
  • 必须有一个大型社区,教程,其他库,涵盖了你在iOS或Android上直接开发时所拥有的大部分内容(应用程序内结算,Facebook等)
  • 最终交付的包裹不能太大
  • 引擎可以免费,但我也不介意付出合理的价格

我找到了以下引擎:

  • Marmalade(和它上面的IwGame引擎) - C++,发现对Marmalade的整体非常积极的评论,但对IwGame不确定.编辑(2013年3月):看起来Marmalade SDK现在包括Cocos2Dx和一些内置的IDE,这使得它更好(并且对于indie dev而言每年花费150美元,这对我来说是好的).
  • Corona SDK - Lua(效率值得怀疑),还需要互联网连接才能编译代码
  • Cocos2d-x - C++收到了很多来自开发人员的评论,其中大多数都是积极的,许多人认为它最适合2D
  • 粒子代码 - Java + Eclipse,未找到评论或评论
  • Moai - Lua,没有找到任何评论/意见
  • 猴子引擎 - 似乎功能太少
  • Haxenme - 它是Flash,我从来没有使用它而且不想
  • 使用Unity3d,但使用像2D Toolkit这样的2D软件包
  • SDLAndroid(也在这里)和iOS的端口- 看起来没有太多支持或当前开发(?)
  • GLBasic - 基本语言,我不喜欢它
  • playN - 似乎是发展的早期(?)
  • Gamvas - HTML5,对我来说看起来不像是一个成熟的引擎
  • Ignifuga - Python,也看起来不成熟
  • ORX - 不确定它是否仍然开发(?)
  • 构造2 - 提醒GameMaker,可能适用于快速原型,但绝对不适用于行业级别的游戏
  • XNA然后使用ExEn …

android 2d game-engine ios marmalade

258
推荐指数
9
解决办法
13万
查看次数

SurfaceView和View之间的区别?

什么时候有必要,或者更好地使用SurfaceView而不是View

graphics android 2d

207
推荐指数
6
解决办法
10万
查看次数

绘制等距游戏世界

在2D游戏中绘制等距图块的正确方法是什么?

我已经阅读了一些参考文献(例如这篇文章),它们建议以一种在地图的二维数组表示中对每一列进行锯齿形的方式渲染图块.我想它们应该以钻石方式绘制得更多,其中被绘制到屏幕上的内容更接近于2D阵列的外观,只是旋转了一点.

两种方法都有优缺点吗?

2d isometric

177
推荐指数
2
解决办法
12万
查看次数

图像到ASCII艺术转换

序幕

这个主题不时出现在SO上,但通常是因为写得不好的问题而被删除.我看到很多这样的问题,然后在请求附加信息时从OP(通常的低代表)中沉默.如果输入对我来说足够好,我决定回答一个问题,它通常会在活动时每天获得一些投票,但几周之后问题就会被删除/删除,并且所有问题都从一开始就开始.所以我决定写这个Q&A所以我可以直接引用这些问题,而不会一遍又一遍地重写答案......

另一个原因也是这个META线程针对我,所以如果你有额外的输入随意评论.

如何使用C++将位图图像转换为ASCII艺术

一些限制:

  • 灰度图像
  • 使用单倍间距字体
  • 保持简单(不要为初级程序员使用太高级的东西)

这是一个相关的Wiki页面ASCII艺术(感谢@RogerRowland)

c++ 2d bitmap image-processing ascii-art

98
推荐指数
1
解决办法
2万
查看次数

Android OpenGL ES和2D

嗯,这是我的要求.我不知道OpenGL,我不愿意学习它,我想直接学习OpenGL ES,因为我的目标是将我的开发定位到android.我想学习OpenGL ES以开发我的2D游戏.我选择它用于演出目的(因为基本的SurfaceView绘图在RT游戏方面效率不高).我的问题是:从哪里开始?我花了一个多月的时间浏览谷歌并阅读/尝试我在任何地方找到的一些教程/示例,但说实话,它没有多大帮助,这有两个原因:

  1. 我遇到的几乎所有文章/教程都是3D相关的(我只想学习如何进行2D Sprites绘图)
  2. 没有任何基础可以开始,因为所有文章都针对特定的事情,例如:"如何绘制三角形(带顶点)","如何创建网格"......等等.

我也尝试过阅读一些源代码(例如:replica island),但代码太复杂了,并且包含很多不必要的东西; 结果:我迷失了100个带有奇怪类名和东西的.java文件.

我想没有像我正在寻找的那样的课程,但是我会很高兴如果有人能给我一些指导和一些链接可能会了解我的目标(只有OpenGL ES 2D Sprites渲染!没什么3D ).

android 2d opengl-es

95
推荐指数
2
解决办法
5万
查看次数

2D跨平台游戏开发引擎

我已经使用Corona SDK工作了一段时间,并且喜欢使用Lua创建功能强大的应用程序的快捷方式.但它只能编译iOS和Android,现在感觉太少了.

我的主要兴趣是它能够编译到桌面和移动.至少对于以下内容:

  • 适用于桌面的Windows + Mac,作为独立应用程序.
  • iOS + Android移动版.

我更喜欢它更倾向于使用Lua类型的脚本而不是ActionScript,但是请随意发布您曾经使用过的任何内容和爱.

到目前为止我找到了以下引擎:

  • Marmalade Quick - 在进一步研究之后,Marmalade Quick只能为Mobile构建!
  • IwGame - 在橘子酱上工作,并表示可以使用Lua部署到桌面和移动设备.任何信息都非常感谢
  • sio2 - 称"SIO2是基于OpenGLES的iOS,Android,MacOS和Windows的跨平台2D和3D游戏引擎"和"该引擎还允许您在Mac Store和Windows上移植游戏.",但是他们的论坛和网络标题是"移动设备的游戏引擎".无法找到有关它是否可以部署到桌面平台的任何信息,任何信息都会再次受到高度赞赏.
  • Loom Engine - Loom类似于Haxe + OpenFL(试图吸引Flash开发人员),因为它使用类似ASAS的ECMAScript,但它不会从中构建本机代码.然而,它使用Cocos2D进行渲染,因此它理论上应该与Cocos2D一样快. - 感谢Bojan.
  • SDL - 我已经在多个地方读过SDL可以部署到几乎任何平台或设备并具有Lua绑定.但我无法找到它是如何工作的,因为它不是引擎.任何人都可以解释它是如何工作的,如果可能的话再一次,非常感谢.
  • SFML - "Windows,Linux,Mac OS X以及很快Android和iOS."不使用Lua但可以使用其他语言,如Java和Python等.任何人都有这方面的任何信息?
  • Torgue2D - "Torque 2D是在考虑OS X,Windows和iOS设备的情况下开发的,在所有平台上同样运行良好." 使用TorgueScript而没有Android =(
  • Sencha - 似乎编译到所有平台,我也知道使用Javascript.但即使使用V8 JS,与其他选项相比,这种方法还能表现得更好吗?
  • GameMaker - 我自己的脚本语言GML,我实际上记得这个作为非程序员的工具.它真的成长为一个真正的引擎,我的意思是认真的发展?
  • Construct2 - 与游戏制作者相同的问题
  • Corona - Lua但仅适用于移动设备(仅适用于Android和iOS)
  • Cocos2D - 看起来它有很多选项,但不确定使用相同的语言?好像你必须重新编写整个代码.任何信息,如果cocos2D可以使用几乎相同的代码部署到桌面+移动设备,将不胜感激.
  • Angel2D - 说它可以部署到Android以外的所有东西并使用Lua,以前有人用过这个吗?
  • libgdx ---我只看到了很好的事情.这是libgdx的基准测试,我看到它以60fps达到40k精灵.http://www.sparkrift.com/2012/1/love2d-vs-allegro-vs-clanlib-vs-libgdx-vs-cocos2d-x-vs-monogame-vs-xna-vs-sfml.看来libgdx实际上几乎没有超过30k.但仍然看起来很惊人.对于我来说这与Qt处于同一水平,几乎是完美的,除了我并不担心它的性能.libgdx可以为所有内容构建.
  • XNA + MonoGame --- MonoGame的性能似乎只比libgdx略低,可以构建到大多数平台.不过我对XNA知之甚少,听说它不会收到未来的更新,但是相当稳定?欢迎提供更多信息.
  • 柑橘 ---也没有关于柑橘的太多信息.AS3游戏引擎,可以为iOS,Android,Windows,Mac等构建.
  • Haxe + OpenFL --- …

windows mobile 2d cross-platform game-engine

82
推荐指数
4
解决办法
7万
查看次数

如何计算二维多边形的面积?

假设2d空间中的一系列点不是自相交的,那么确定结果多边形面积的有效方法是什么?

作为旁注,这不是作业,我不是在寻找代码.我正在寻找一个可以用来实现我自己的方法的描述.我有关于从点列表中拉出一系列三角形的想法,但我知道有一些关于凸多边形和凹多边形的边缘情况我可能无法捕捉到.

algorithm geometry 2d

75
推荐指数
4
解决办法
6万
查看次数

计算2D矢量的叉积

来自维基百科:

交叉乘积是对三维欧几里德空间中的两个向量的二元运算,其导致另一个向量垂直于包含两个输入向量的平面.

鉴于定义仅定义在三个(或七个,一个和零)维度中,如何计算两个二维向量的叉积?

我见过两个实现.一个返回一个新的向量(但只接受一个向量),另一个返回一个标量(但是是两个向量之间的计算).

实现1(返回标量):

float CrossProduct(const Vector2D & v1, const Vector2D & v2) const
{
    return (v1.X*v2.Y) - (v1.Y*v2.X);
}
Run Code Online (Sandbox Code Playgroud)

实现2(返回向量):

Vector2D CrossProduct(const Vector2D & v) const
{
    return Vector2D(v.Y, -v.X);
}
Run Code Online (Sandbox Code Playgroud)

为什么不同的实施?我将使用标量实现?我将使用矢量实现?

我问的原因是因为我自己编写了一个Vector2D类,并且不知道使用哪种方法.

language-agnostic math 2d vector

71
推荐指数
5
解决办法
12万
查看次数

将纬度/经度点转换为墨卡托投影上的像素(x,y)

我正在尝试将纬度/长点转换为2d点,以便我可以将它显示在世界的图像上 - 这是一个墨卡托投影.

我已经看到了各种方法来做这个以及关于堆栈溢出的几个问题 - 我已经尝试了不同的代码片段,虽然我得到了像素的正确经度,但纬度总是偏离 - 似乎越来越合理了.

我需要公式来考虑图像大小,宽度等.

我试过这段代码:

double minLat = -85.05112878;
double minLong = -180;
double maxLat = 85.05112878;
double maxLong = 180;

// Map image size (in points)
double mapHeight = 768.0;
double mapWidth = 991.0;

// Determine the map scale (points per degree)
double xScale = mapWidth/ (maxLong - minLong);
double yScale = mapHeight / (maxLat - minLat);

// position of map image for point
double x = (lon - minLong) * xScale;
double y …
Run Code Online (Sandbox Code Playgroud)

java math maps 2d mercator

65
推荐指数
3
解决办法
9万
查看次数

一种简单的多边形交叉算法

我正在寻找一种非常简单的算法来计算多边形交叉/裁剪.也就是说,给定的多边形P,Q我想找到的多边形T被包含在PQ,我希望T是最大的所有可能的多边形中.

我不介意运行时间(我有一些非常小的多边形),我也可以得到一个近似的多边形交叉点(也就是说,一个点数较少的多边形,但它仍包含在多边形的交叉点中).

但对我来说,算法将是简单的(更便宜的测试)并且最好是短(更少的代码)对我来说非常重要.

编辑:请注意,我希望获得一个代表交叉点的多边形.对于两个多边形是否相交的问题,我不需要一个布尔答案.

math geometry 2d polygon

63
推荐指数
6
解决办法
10万
查看次数