Questions tagged «2d»

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

2
如何在关卡编辑器中可视化视差图层?
我正在Unity中制作2D游戏,但这将适用于任何2D游戏引擎。 如果我使用正交摄影机实现多平面视差,则很难对背景图层的子画面进行布局,并知道它们将与其他图层中的子画面对齐的位置。 我的第一个直觉是使用多个摄像头,每个摄像头一个,然后为背景图层缩小摄像头的移动速度。这样避免了每帧都必须移动所有背景精灵。问题在于,在编辑器中查看时,以一半速度移动的图层将占用主图层的一半空间。因此,在布局游戏时,很难知道将子图形放置在何处。随着增加层数,该问题将成倍恶化。 我该如何解决?在编辑器中使用图层时,我曾尝试根据图层的预期移动速度对其进行逆缩放。这会将所有背景精灵放置在相对于主图层的正确位置,但是它们却被严重扭曲了。 我是否需要吸收它并不断在编辑器和正在运行的游戏之间切换以测试视差背景?

2
使用射线投射在二维网格上实现视线的更有效方法?
考虑一个2D的瓷砖网格,以及一个以视线为中心的近似坐标范围(以玩家为中心)。目标是将视线挡在障碍物(即墙)之外。 确定视野中是否有单个单元格是相对简单的:使用布雷森汉姆将光线从玩家投射到目标单元格-如果玩家和目标之间的重叠单元之一是障碍物,则目标单元格不可见。 现在,我的第一个想法是遍历视线中的所有网格单元-但这对我而言似乎效率很低。例如,如果玩家站在墙旁边,并且确定不可见墙外的单元,则可以确定射线之后的所有单元都不可见。 还考虑过将射线投射到视线范围内的每个单元格,然后沿着每个射线迭代每个单元格-但是我将不止一次处理一些单元格。 有更有效的方法吗? 虽然每圈迭代〜50个单元格是一个相对轻量级的计算,但我追求速度-目标是能够在自动播放中每秒循环几圈。因此,我可以做得越高效越好。

5
弹球游戏的2D碰撞检测
到目前为止,在以前的游戏中,我使用带有框的简单2D碰撞,然后在像素级别检查碰撞。 如果要在几乎很多帧中进行弹球游戏,那么球将与墙壁或其他表面接触,那么还有其他方法吗?

1
基于回合的JRPG战斗系统架构资源
在过去的几个月中,我一直在忙于使用SDL库用C ++编程2D JRPG(日式RPG)。探索模式或多或少已经完成。现在我要解决战斗模式。 我无法找到有关如何构造基于回合的经典JRPG战斗系统的任何资源。我发现的只是关于破坏公式的讨论。我尝试过谷歌搜索,搜索gamedev.net的留言板,以及在Stack Exchange上浏览与C ++相关的问题。我也尝试读取现有开源RPG的源代码,但是如果没有某种指导,就好像在大海捞针一样。 我不是在寻找D&D之类的规则或类似规则。我纯粹是在谈论代码和对象结构设计。战斗系统使用菜单要求玩家输入。接下来,当英雄和敌人执行其动作时,将执行战斗回合。 谁能指出我正确的方向?提前致谢。
9 c++  2d  architecture  sdl  rpg 

7
我可以使用受版权保护的精灵进行演示吗?
我有一个简短的问题,希望得到大家的意见。 我正在为自己的简历制作2D演示游戏,我想在网上发布该简历。我正在以程序员的身份申请,所以我真的没有自己的艺术。我正计划使用其他游戏中的精灵表和图块集,以便在演示中仅创建一个或两个关卡。我将在屏幕底部表示感谢,并声明这些精灵不是我自己的。 这是一个好主意,还是在非法意义上可能具有潜在的“危险”?

2
太阳运动功能?
因此,考虑到将太阳精灵设置在地平线上(x = 0,y = worldheight / 2),我试图设计一个使太阳升起然后掉落的函数。 最好的方法是使用sin函数,但我不知道如何使用它。 如果使用y = sin(x),则对于完整的曲线,x的范围必须在0到pi之间,而对于X的速度必须恒定。 有什么想法或建议吗? 编辑:谢谢大家!

1
将精灵设置为鼠标的正面方向
我正在构建一个html5 canvas游戏,我需要一种方法来让我的精灵面对鼠标光标。我有精灵的X和Y坐标,还有指针的X和Y坐标。我所坚持的只是使精灵面对指针的数学运算。一切都在2D世界中,所以我无法想象它会太复杂,但是我对这些东西的经验很少。 同样,有关此类事情的文章/博客文章的任何有用链接也都很棒(一般来说,二维游戏编程,而不是Javascript)。 作为补充,我应该注意,我需要一个角度(度数),该角度将使我使用其X和Y位置指向光标。 我怎么知道光标的坐标,这些东西都放在哪里?
9 2d  html5  html-canvas 


3
行进方格:在一个源场中找到多个轮廓?
原则上,这是对几周前某个问题的后续问题,尽管这通常是关于算法的,但并不适用于我的实际问题。 该算法基本上会从图片的左上方开始搜索图片中的所有线条,直到找到边界的像素为止。在伪C ++中: int start = 0; for(int i=0; i<amount_of_pixels; ++i) { if(pixels[i] == border) { start = i; break; } } 找到一个像素后,它将启动行进平方算法,并找到像素所属的任何对象的轮廓。 假设我有这样的事情: 除了白色以外的所有东西都是边框。 并找到了第一个斑点的轮廓点: 对于一般算法,已经结束了。它找到了轮廓并完成了工作。我怎样才能继续移动到其他两个斑点以找到它们的轮廓?
9 2d 

2
用C ++ / SDL制作2D Platformer。寻找教程/示例/资源[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 去年关闭。 我有很多C ++经验,但是没有游戏编程经验。今年夏天,我计划使用C ++ / SDL从头开始创建2D平台游戏,以提供学习体验。我正在寻找尽可能多的资源来帮助我入门。好的源代码,教程,任何东西。 我发现的最好的教程之一是已故的Florian Hufsky的非活跃的Jump'n'run开发教程。任何类似的教程吗?
9 c++  2d  sdl  platformer 

2
二维对象对齐包围盒相交测试
我有两个与对象对齐的边界框(即未与轴对齐,它们随对象一起旋转)。我想知道两个对象对齐的框是否重叠。(编辑:注意-我使用的是轴对齐的边界框测试来快速丢弃远处的对象,因此,quad例程是否稍慢一点都没有关系。) 我的盒子存储为四个x,y点。我一直在寻找答案,但是我无法理解示例中的变量名和算法以将其应用于我的特定情况。 有人可以帮助我以简单明了的方式告诉我如何进行吗?谢谢。(特定的语言并不重要,可以使用C样式的伪代码。)

4
2d Platformer中的“时间控制”
我正在制作一个2D平台游戏,玩家可以按下按钮并重新启动关卡,只有他们以前的角色也可以同时运行关卡,就像他们回到过去一样。 我知道其他游戏以前也这样做过,而我想到的方法是使游戏角色具有一系列动作(空闲,跳跃,向左走等),然后检测这些动作的变化并将其登录列表以及游戏时间。因此,当我需要角色自己再次运行关卡时,我可以浏览列表以在适当的时候更改其动作。 这是最好的方法吗?有人在这方面有经验吗? 谢谢。
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.