问题标签 [2d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
11549 浏览

xna - 在连续二维空间中进行避障的基本寻路

我正在编写一个模拟,其中一个生物对象应该能够向环境中的其他任意对象移动,在障碍物周围滑动而不是进行任何智能寻路。我不想让它规划一条路径——只是朝着一个大方向移动,并绕过障碍物。

这是一个 2D 环境(俯视图),每个对象都有一个用于碰撞检测的边界矩形。没有网格,我不是在寻找 A* 解决方案。

我还没有找到任何关于这种“愚蠢的”基于碰撞的寻路的教程,所以我可能没有使用最常用的术语来描述这一点。

关于如何实现这个(或教程链接)的任何建议?

0 投票
2 回答
2324 浏览

c# - XNA:仅将 SpriteBatch.Draw(...) 颜色应用于非透明像素

我有一个从具有 alpha 通道的 PNG 加载的精灵。该图像包含一个不透明的磁盘,其余部分是透明的。

我想使用 的color参数SpriteBatch.Draw(...)来改变磁盘的色调。然而,默认的混合行为将颜色应用到整个精灵,所以我最终在有色圆盘周围形成了一个不透明的方形轮廓。

有没有办法改变混合模式,使透明像素不受color参数影响?

0 投票
6 回答
128143 浏览

2d - 绘制等距游戏世界

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

我已阅读参考资料(例如this one),这些参考资料建议以一种将地图二维数组表示中的每一列锯齿形呈现的方式呈现图块。我想它们应该更多地以菱形方式绘制,在屏幕上绘制的内容与 2D 阵列的外观更密切相关,只需旋转一点。

两种方法都有优点还是缺点?

0 投票
3 回答
911 浏览

layout - 在 2D 空间中为对象排列标签而不重叠

我需要将文本标签附加到随机分布在屏幕上并保持移动的对象上。

标签的默认和理想位置位于它所指对象的右侧。我需要一种动态重新排列(或可能合并)标签的方法,以使它们永远不会相互重叠或与其他对象重叠。

它们仍应尽可能靠近物体,并且不应在物体本身平稳移动的情况下表现出任何突然的抖动运动。

我不知道该怎么做,有这样的算法吗?

0 投票
7 回答
19371 浏览

java - 用于基于图块的游戏的 Java 2D 游戏引擎

谁能推荐一个好的Java游戏引擎来开发简单的基于瓷砖的游戏?我正在寻找一个引擎,它允许我使用 Tiled www.mapeditor.org 之类的东西来构建地图

Slick 正是我正在寻找的东西,slick.cokeandcode.com,但我无法让它在 Vista-64 上运行。我能做到的最好的是:无法在 AMD 64 位平台上加载 IA 32 位 .dll(在下载最新的 LWJGL 版本之后)。

谁能建议类似的东西可以在 64 位 vista 上运行?

0 投票
3 回答
4664 浏览

2d - 在等距世界中的瓷砖之间移动精灵

我正在寻找有关如何在等距游戏世界中移动(和动画) 2D 精灵的信息,但是在从一个瓷砖到另一个瓷砖的旅行时让它们的运动平滑地动画,而不是让它们从一个瓷砖的范围内跳跃到下一个的范围。

这方面的一个例子是在运输大亨游戏中,火车和马车通常一半在一块,一半在另一块。

0 投票
4 回答
15213 浏览

java - 2D 游戏中的跳跃数学

我在 J2ME 中工作,我的游戏循环执行以下操作:

所以它只是一个基本的游戏循环,该doLogic()函数调用场景中角色的所有逻辑函数并render(g, diff)调用场景animateChar中每个角色的animChar函数,然后,Character类中的函数将屏幕中的所有内容设置为:

这确保了我必须根据机器从一个周期到另一个周期所花费的时间来移动所有东西(记住它是一部手机,而不是游戏装备)。我确信这不是实现这种行为的最有效方法,所以我完全愿意在评论中批评我的编程技巧,但我的问题是:当我让我的角色跳跃时,我所做的就是把他的dy为负值,例如 -200,我将布尔跳转设置为 true,这使角色上升,然后我调用了这个函数checkGravity(),以确保上升的所有内容都必须下降,checkGravity同时检查角色是否在平台上,所以为了您的时间,我将把它删掉一点:

所以,问题是,这个函数会更新dy而不管diff,使角色在慢速机器中像超人一样飞行,我不知道如何实现diff因子,这样当一个角色跳跃时,他的速度减慢与游戏速度成正比的方式。谁能帮我解决这个问题?或者给我指点如何在 J2ME 中以正确的方式进行 2D 跳转

0 投票
1 回答
1769 浏览

java - Java中简单2D动画的框架/库?

我想用 Java 编写一个非常简单的游戏来演示我构建的无线控制器。我想到了诸如 Breakout 或 Pong 之类的东西。目前,我有一个原型 Pong 实现,它直接使用 AWT 功能执行所有动画。然而,这对编程来说有点尴尬,而且也是一个主要的 CPU 消耗。

我的问题:

有人可以推荐一个 Java 库来显示简单的 2D 动画吗?你在类似的项目中使用过什么?该库应该易于使用且直接使用——我不是在寻找像 Java3D 这样的东西。集成碰撞检测将是一个专业人士。

0 投票
7 回答
18524 浏览

java - 螺旋顺序的二维阵列

我正在尝试以螺旋顺序填充数组。到目前为止,我可以按螺旋顺序打印数组,但是有没有办法修改数组,以便我可以按螺旋顺序填充它,然后只打印数组?我希望它像倒计时一样按降序排列。请帮忙!

0 投票
9 回答
22600 浏览

c# - 使用 WPF 绘制数千个数据点的最高效方法?

我写了一个显示财务数据的图表。PathGeometry当我使用withPathFigureLineSegments绘制显示为连接线的少于 10.000 个点时,性能很好。但是现在我需要同时显示多达 100.000 个点(无需滚动),而且 50.000 个点已经很慢了。我在想StreamGeometry,但我不确定,因为它基本上与PathGeometry将信息存储为字节流相同。有没有人有想法让这个性能更高,或者也许有人已经做了类似的事情?

编辑:这些数据点一旦绘制就不会改变,所以如果有可能对其进行优化,请告诉我(线段现在被冻结)。

编辑:我试过 StreamGeometry。由于某种原因,创建图形需要更长的时间,但这不是问题。绘制完所有点后在图表上绘制仍然和以前的方法一样慢。我认为 WPF 需要处理的数据点太多了。

编辑:我做了一些实验,我注意到通过将以前的坐标转换为 int 来防止 WPF 抗锯齿子像素线,性能有所提高。

编辑:感谢所有建议减少线段数量的回复。我已经将它们降低到最多两倍的阶梯线水平分辨率和最多简单线的水平分辨率,现在性能非常好。