Questions tagged «2d»

2D是指二维空间,其中的坐标用X和Y值表示。

2
将我的Pixel Art Platformer从720p缩放到1080p
我正在开发适用于PC和智能手机的像素艺术2D平台游戏,但仍然遇到了技术问题。 我选择了32x32瓦片分辨率和64x64字符精灵分辨率。将这些级别划分为多个部分,这些部分称为“屏幕”,在每个屏幕中,我都有40x22.5瓦片,大约为40x23,因此最低分辨率为1280x720。 在游戏中,我具有双重跳跃机制,因此我需要在每个“屏幕”上都具有良好的垂直视角范围。 问题来了:1280x720分辨率不是很高。在高清显示器上,窗口不会很大,如果将分辨率提高2倍,则分辨率将达到2560x1440,并且窗口将比实际的高清显示器大得多。如果我尝试将尺寸设置在1280x720到2560x1440之间,则图形会开始变得口吃或变形。 我该如何解决这个问题?有没有一种解决方案不需要我以16x16格式重新绘制所有图块和精灵?

1
如何创建多个2D聚光灯?
我正在寻找创建2D“聚光灯”效果,以允许在多个实体上聚光灯。即,好像几个精灵在握火炬。对于单个实体(一个聚光灯),我使用一种技术,其中叠加了渐变精灵,并使中心点追逐该实体。该技术对于单个聚光灯效果很好。这是一个截图,以说明我在说什么: 单一焦点-作品 我遇到的问题是该技术无法扩展到多个实体。如果叠加另一个聚光灯图像,则会遇到几个问题。这是一个模拟的屏幕截图: 多个聚光灯=问题 最明显的问题是可见的角。可以通过使聚光灯图像巨大地覆盖整个级别来解决此问题,但这并不正确。第二个也是更棘手的问题是,我正在用这种技术有效地增加黑暗度。因此,添加的每个精灵都会使其他所有人变暗。显然我正在错误地解决此问题。 有任何想法吗? 不断的努力 评论中已经有一些关于混合选项的讨论。这是我目前的想法。在上面的单个Spotlight示例中,我使用了一个看起来像这样的图像文件:(为了更易于说明,我将透明色替换为绿色) 如上所述,问题在于该图像与另一图像的Alpha混合不会产生所需的效果。相反,它将产生以下内容: 作为混合选项问题,这并不令我震惊。在我看来,问题在于这种图像具有透明遮罩和应隔离的图像(黑色正方形)。 因此,我应该使用在运行时针对黑色正方形使用的透明蒙版,而不是内置了切出的透明蒙版的黑色图像。这样做时,我仍然无法使用传统的白色和黑色透明蒙版,否则会遇到相同的问题。这是一个示例,这次白色和黑色代表白色和黑色: 看来,解决方案将是应用本身利用透明度的透明蒙版。像这样:(绿色=透明) 这样,可以将多个透明蒙版混合在一起,然后将其用作黑色正方形的透明蒙版。这是两个Alpha混合在一起的透明蒙版的示例: 无论如何,这就是我正在努力实现的方法。如果可行,我将发布结果。我目前不知道的是我是否可以使用本身具有透明度的透明蒙版。
12 2d  sprites  camera  lighting 

1
我如何干净,优雅地处理类之间的数据和依赖关系
我正在研究SFML 2中的2d自上而下的游戏,需要找到一种优雅的方式来使一切正常工作并融合在一起。 请允许我解释一下。我有许多类都继承自抽象基础,该基础为所有类提供了draw方法和update方法。 在游戏循环中,我调用update然后在每个类上绘画,我认为这是一种非常常见的方法。我有瓷砖,碰撞,播放器和包含所有瓷砖/图像/纹理的资源管理器的类。由于SFML中输入的工作方式,我决定让每个类在其更新调用中处理输入(如果需要)。 到目前为止,我一直根据需要传递依赖关系,例如,在按下播放键时在玩家类中,我在碰撞类上调用了一个方法来检查玩家想要移动到的位置是否是碰撞,并且只有在没有碰撞的情况下才移动播放器。 这在大多数情况下都可以正常工作,但是我相信可以做得更好,但我不确定如何做。 现在,我需要执行一些更复杂的事情,例如:玩家能够走到地面上的某个物体,按一下键来捡起/掠夺它,然后它就会显示在库存中。这意味着需要发生一些事情: 在按键时检查播放器是否在可放物范围内,否则不要继续。 查找项目。 将项目上的精灵纹理从其默认纹理更新为“掠夺”纹理。 更新项目的碰撞:它可能已更改形状或已完全移除。 需要使用添加的项目更新库存。 我如何使一切交流?在我当前的系统中,我的类将超出范围,并且方法调用到处都是。我可以将所有类捆绑在一个大管理器中,并为每个类提供对父管理器类的引用,但这似乎只好一点。 任何帮助/建议将不胜感激!如果有什么不清楚的地方,我很乐于扩展。
12 c++  2d  architecture  sfml 

1
2D直升机游戏,如何创建走廊墙?
我正在研究改编经典的“直升机”游戏(即http://www.addictinggames.com/helicopter.html),但我还没有弄清楚如何创建墙生成引擎。 伪代码中有任何指针吗?我对中间的对象不是很感兴趣-只是随着游戏的进行而以增加难度(更多闭合,具有更多意外曲线)的方式生成边的方法。

2
我会为事件处理程序疯狂吗?我的设计是否走错了路?
我想我已经决定我真的很喜欢事件处理程序。我可能会因分析瘫痪而受苦,但是我担心会使我的设计变得笨拙,或者在我的设计决策中遇到其他无法预料的后果。 我的游戏引擎目前使用平移式高架摄像机进行基本的基于Sprite的渲染。我的设计看起来像这样: 场景处理程序 包含实现SceneListener接口的类的列表(当前仅限于Sprites)。每个刻度调用一次render(),并发送onCameraUpdate(); 消息发送给SceneListeners。 InputHandler 每个刻度轮询一次输入,然后将简单的“ onKeyPressed”消息发送给InputListeners。我有一个Camera InputListener,它包含一个SceneHandler实例并触发updateCamera();。基于输入的事件。 AgentHandler 每个刻度一次在任何代理(AI)上调用默认操作,并将检查堆栈中是否有已注册的任何新事件,并根据需要将它们分配给特定的代理。 因此,我有一些基本的Sprite对象,它们可以在场景中移动并使用基本的转向行为进行移动。我已经开始进行碰撞检测了,这是我不确定我的设计方向是否正确的地方。拥有许多小型事件处理程序是一种好习惯吗?我想我必须要实现某种CollisionHandler。 我会更好地使用一个更统一的EntityHandler来处理一个类中的AI,碰撞更新和其他实体交互吗?还是只是实现许多不同的事件处理子系统就可以了,它们会根据事件类型将消息传递给彼此?我是否应该编写一个仅负责协调所有这些子事件处理程序的EntityHandler? 我意识到在某些情况下,例如我的InputHandler和SceneHandler,它们是非常特定的事件类型。我的游戏代码很大一部分都不关心输入,而很大一部分则不关心纯粹在场景渲染中发生的更新。因此,我感到孤立那些系统是合理的。但是,我要问的是专门针对游戏逻辑类型事件的问题。

2
有关XNA游戏架构的问题
因此,我终于开始玩XNA了,并一直在制作2D游戏(我从iOS上开发它的朋友那里得到了很多美术资产) 许多事情似乎很容易做到,而且开箱即用,但是由于大多数文献(例如,我买的书)对2D的关注都不多,所以我一头雾水。 对于以下问题的任何澄清或指向更多信息,我将不胜感激: 游戏服务的意义是什么?我了解将对象注册为服务的全部习惯,以便任何其他GameComponent都可以抢占它,但是如何击败这个问题却仅仅是使其成为公共的还是静态的?例如,我的书建议在Game.cs类中注册SpriteBatch对象。我不确定将其简单地设置为公共/静态是多么可取,因为无论如何应该只存在一个Game实例(单个)? 我对何时应该从GameComponent或RenderableGameComponent继承感到困惑。我正在尝试遵循管理器/控制器的设计,以便所有实体都由一个管理器创建/拥有,其他事物也一样。我目前有每个Manager / Controller都继承自GameComponent,但是如何让Game对象拥有所有Manager并手动调用它们的更新并绘制呢? 我注意到初始化是在 ContentLoad()之前调用的,我发现这很烦人,因为在我的Initialize中我想创建一些实体(即Sprite,Player等),但是我无法为其加载它们由于尚未调用SpriteSheets或Textures,因此尚未进行调用。我可能是初始化不正确,还是人们只是在ContentLoad中进一步分配纹理? 那些似乎是我最大的“ WTF ”,不是很了解

3
有没有一种好的方法可以在XNA中获得像素完美的碰撞检测?
XNA中是否有一种众所周知的方法(或者也许是可重用的代码)用于像素完美碰撞检测? 我假设这还将多边形(框/三角形/圆形)用于首过,碰撞的快速测试,如果该测试表明有碰撞,则它将搜索每个像素的碰撞。 这很复杂,因为我们必须考虑比例,旋转和透明度。 警告:如果您使用的是来自以下答案的链接中的示例代码,请注意,矩阵的缩放比例已被注释掉,这是有充分理由的。您无需取消注释即可开始扩展。

3
将粒子绘制为平滑斑点
我是游戏/图形开发的新手,并且正在玩2D粒子。我想像液体/水一样将斑点彼此靠近地绘制为斑点。我不想绘制重叠的大圆圈,因为斑点不会很平滑(太大)。我不是很了解物理学,但是我想我想要的是看起来与表面张力相似的东西。 我无法在stackexchange或Google上找到任何内容(也许我不知道正确的关键字?)。到目前为止,我已经找到了两种可能的解决方案,但是我无法找到有关算法的任何具体信息。 其中之一是计算我认为是斑点的粒子的凹壳。我可以通过创建一个等效类(基于“彼此靠近”的关系)来计算blob。奇怪的是,我无法找到任何算法来解释如何计算凹面船体。许多文章(以及stackexchange中的文章)都链接到执行此操作的库或商业产品(我需要库才能在C#中工作),但从来没有任何算法。同样,此解决方案可能会遇到一个圆形的粒子问题,该粒子无法检测到中间的空白区域。 在研究凹壳时,我偶然发现了一种叫做alpha形状的东西。这似乎正是我想要做的,但是就像凹壳一样,我还没有找到任何解释它们实际工作原理的资料。我找到了一些演示材料,但还不够继续。就像我以外的每个人都知道的一个大秘密:-/ 计算凹壳或alpha形状后,我想使其成为贝塞尔曲线以使其平滑且美观。 尽管我确实发现自己的方法过于复杂,但是也许我正在尝试以错误的方式解决此问题?如果您可以对我的问题提出其他解决方案,或者解释我所缺少的内容,我将非常高兴和感激:-) 谢谢。

4
绘制大型2D Sidescroller级地形
我是一个相对不错的程序员,但是现在要为我的2D游戏添加一些基本级别,这有点困扰。 我想做的事情:我的游戏可以接受的大型(8000 * 1000像素)“绿色丘陵”测试等级。 我这样做的最佳方法是什么? 它不必看起来很棒,它看起来不应该是使用线条和油漆桶工具在MS油漆中制成的。 从根本上说,它应该只是在上面覆盖草的草泥上,草以某种形式的丘陵形成。 但是我应该如何绘制它呢?我不能仅仅拿出铅笔工具并开始逐个像素地绘制它,可以吗?

5
专注于有效创建视觉艺术资产的样式/技术
我主要是一名程序员,但是我希望能够在进行单独项目时在我制作的游戏的其他部分上胜任工作。 我在这里特别要问的是,我应该学习和使用哪种技术或样式来创建视觉资产,以便能够以最高的效率工作?基本上,考虑到开发中后期可能发生的变化,为其他项目创建的资产的重用等,最终将是整体上最少的工作。 我所说的“技术或风格”是指矢量艺术,数字绘画,像素艺术,多边形建模,雕刻等。 我最感兴趣的是整体比较各种技术。缺乏对每种技术进行实际工作的丰富经验,很难全面了解情况。另外,很明显,如果您要制作3D游戏,则需要制作3D资产,但是现在,让我们讨论为2D游戏创建资产的技术,其中资产可以是2D或3D。
12 graphics  2d  assets  art 

5
2D游戏开发人员和Java。除了OpenGL还有其他可能性吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 2年前关闭。 我最近开始用Java编写一些基本的OpenGL东西,但是OpenGL和DirectX对我来说难以处理和理解,我很快就感到无聊。 现在我想知道,除了OpenGL(或DirectX)之外,是否还有其他可能性来制作简单的2D图形并开始游戏开发,即使它有限。当我更有经验时,我可能仍会使用OpenGL。
12 2d  java 

5
2D关卡设计/编辑/保存问题[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我考虑过要制作一个像SuperMario这样的简单2D Sidescroller游戏。然后我想知道如何保存,加载或创建游戏关卡。我想到的第一件事是绘制一个简单的块状png来表示水平,这使玩家可以行走的所有部分都具有特殊的颜色(也许是淡紫色)。我将以块或图块的形式导入级别,以便检查碰撞。 所以我的问题是: 有更好的方法吗? 有哪些专业方法? 我应该使用Tiles和基于Tile的地图编辑器来做到这一点吗?(出于某种原因,我不喜欢这种方法,但是我想我是否会使用它的最佳方法) 基于图块的水准仪,您将如何认识坡度,以及如何检查坡口是否发生碰撞?

1
在均匀地形上进行2D,非网格移动的寻路
我正在寻找游戏中寻路的最佳解决方案。该地图最终是基于网格的,但是实体使用浮点定位,并且可以沿任何方向移动到地图上的任意点。我的游戏中的“地面”具有统一的移动成本,但是当然可能存在障碍。大多数障碍都是静态的,尽管游戏中还会有其他有生命的实体,但我可能会不考虑它们而逃脱-这是一款等距的主题医院风格战略游戏,因此没有战斗力。 我见过的大多数寻路文章都涉及3D或基于网格的2D运动。有什么建议可以涵盖我的用例吗?非常感谢。
12 2d  path-finding 

3
如何在不破坏美观的情况下旋转像素艺术精灵?
我现在正面临一个巨大的“游戏设计”问题。我正在制作一个像素艺术的游戏,使用双线性插值可以解决很多动画问题。另一方面,它不再是“像素游戏”。 如果我使用“双线性插值”,则动画可以工作,但看起来像“混合式”,并且失去了艺术风格。我要么弄乱动画,要么弄乱艺术风格。我不能拥有两者似乎。 还有其他解决方法吗?
12 2d  rotation  pixel-art 

2
2D降雨创建(和流体动力学)
我在一个我的游戏中试验天气条件,Starbound处理雨的方式给我留下了深刻的印象。基本上,当雨水撞击地面时,它要么水平分散(并被地面吸收),要么会产生一堆水(当雨滴落在地面上的洞中时)。 该视频清楚地展示了这一点:http : //imgur.com/gallery/CKCGKbG 我知道如何使雨水落下并检查雨水落在地面上的位置,但这就是我被卡住的地方。我的问题是:如何创建?怎样才能完美地模拟水流而又不影响性能呢? 提前致谢!

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.