问题标签 [2d-games]

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 投票
1 回答
782 浏览

ruby-on-rails - 推荐 Gem 用 Ruby on Rails 构建一个非常简单的浏览器游戏

我正在用 Ruby on Rails 构建一个非常简单的游戏。两个玩家应该玩一个非常简单的游戏(你可以想象一个简单的游戏,比如井字游戏)。但预计会同时播放数以千计的井字游戏实例。我想知道满足我需求的最简单快捷的 Ruby Gem 是什么。我已经阅读了有关 ruby​​game 或 gosu 的信息,但它们似乎比我需要的更复杂。我很感激任何建议。请注意,我想将所有用户移动和所有游戏的结果存储在我的数据库中。

谢谢!

0 投票
1 回答
517 浏览

iphone - Iphone 2d 游戏开发和角色动画

我正在做一个 2d 游戏,我基本上让我的角色站在我的 iphone 舞台中间踢球。我将角色构建为矢量(使用插图画家),我想知道是否可以在后效中对其进行动画处理并以我可以在我的 iphone 游戏中使用的任何格式导出它(我知道我应该使用 .png )。角色不会与用户进行任何交互,并且基本上会循环(踢球)直到用户退出游戏。

谢谢卢卡

0 投票
3 回答
1114 浏览

iphone - cocos2d从后台恢复游戏后如何保持暂停?

我有一个切换菜单,当按下它时,它会在“暂停”和“恢复”这两个词之间切换,这也会暂停和恢复整个游戏。这意味着播放时,菜单将显示为“暂停”(点击此处暂停),暂停时菜单将显示为“恢复”(点击此处恢复)。

这就是问题所在,如果我在暂停游戏后点击主页按钮,然后返回,它会自行恢复并且暂停菜单显示为“恢复”。这对我来说没有意义。我想要的最好方法是在进入后台并从后台恢复时暂停游戏。我查看了以下方法,但它们并没有真正起作用:

我什至只是将 CCLOG 放在所有这些方法中,但没有调用任何内容。在使用这些方法之前,我需要放置/声明什么吗?

抱歉,阅读时间有点长。希望您能够帮助我。谢谢你。

0 投票
3 回答
2251 浏览

java - 游戏编程 - 无限循环的 CPU 使用率

我想创建一个简单的 2D 游戏。我不想使用线程。编程语言将是 Java(但可以是任何语言,并不重要......)。

while(true)...如果我使用像(无限循环)这样的主循环,是否可以避免高 CPU 使用率?

0 投票
1 回答
2288 浏览

scala - 与 Scala 一起使用的最简单的 2D 游戏库是什么?

我需要集成一个用于强化学习的 scala 库,该库适用于 scala 2.9.1 和 2D 游戏库。如果它使用 SBT,那就太棒了。

我正在查看 scage,但是当前的 master 分支已损坏,它可以在 maven 上运行,并且如何设置入门项目的示例根本不起作用。

我不反对直接使用 java 库,但我真的想尽量减少开始所需的工作量。

有什么建议么?

0 投票
0 回答
563 浏览

c++ - 使用 directx 绘制带纹理的三角形

我正在制作一个使用 directx 的 2D 游戏。目前,我有一个在屏幕上绘制的背景纹理(未来还会有更多)。但是,我只想要将纹理的一部分绘制到屏幕上。我知道我可以使用带有绘图功能的矩形,但我需要更大程度的控制。有没有办法从我的绘图中将几个三角形(使用自定义顶点)绘制到屏幕上?我浏览了互联网和这个网站,但似乎找不到我想要的东西。如果需要,我可以提供更多信息/代码。谢谢!

0 投票
1 回答
329 浏览

cmd - 如何在控制台中流畅地绘制我的简单 2D 游戏世界?

我想在控制台(cmd)中渲染我的 2D semi_text-based 游戏场景作为我的帧输出......

我通过打印展示我的游戏世界的简单角色的 2D 数组来做到这一点。(如“-”和“|”)

但每一帧(= 每个循环)我想清除屏幕以重新绘制我的矩阵。现在我使用 system("cls") ...但它太慢了!这是我的渲染功能:

我的主游戏循环是这样的:

任何想法有更平滑的渲染?

0 投票
1 回答
2558 浏览

android - 像月球着陆器或忍者跳跃游戏一样滚动背景 - Android

我正在使用 Canvas/Sur​​faceview 开发 2d 游戏,但在滚动背景图像时遇到问题。

查看游戏 - http://youtu.be/4Gi5rRqzZ3M

在 NinJump 游戏中,角色 Ninja 只是在 X 坐标中跳跃,背景图像以非常高的速度滚动,使 Ninja 看起来像是在运行。

我已经创建了基本设置,创建了忍者,添加了跳转功能,添加了背景。现在我想一遍又一遍地重复相同的背景。我怎样才能做到这一点?

以下是我的源文件 - 主要活动类

游戏板扩展 SurfaceView

主游戏循环

猴子班

0 投票
2 回答
2445 浏览

java - Java 中的 CardLayout 通过“卡片”之一中的操作进行更改

我正在使用JFrame. 我制作了一个简单的“开始”屏幕,它基本上由 aString和 a组成JButton。我正在使用该actionPerformed(ActionEvent e)方法单击按钮。我不知道如何使用按钮单击来更改卡片。这似乎是一个很容易解决的问题,但随之而来的是扭曲:我的主 JFrame、我的 StartScreen 和我的 JPanel 都在不同的文件中。我的主文件 Virus.java 是我创建JFrame. 我的文件 VirusGamePanel.java 是游戏发生的地方。我的文件 StartScreen.java 是带有按钮的屏幕。当玩家单击按钮时,我想将“卡片”更改为游戏屏幕。我怎样才能做到这一点?我的 StartScreen.java 文件:

我的 Virus.java 文件:

0 投票
1 回答
411 浏览

c++ - 寻找一种正确的“(快速而准确)的方法来查找检查 2d 游戏碰撞的内容。c++

我正在创建 2d rpg 游戏。对于地图,我使用 32x32 瓦片。像玩家和怪物这样的对象有不同的精灵掩码宽度和高度,它们移动的不是瓷砖,而是 x 和 y。所以我试图找到一种“正确”(快速而准确)的方法来查找检查碰撞的内容,在玩家和瓷砖之间、玩家和怪物之间、怪物和瓷砖之间、怪物和玩家之间。

对于碰撞检测,我使用:矩形到矩形、圆形到圆形(距离)、矩形到圆形和圆形到矩形碰撞检查。

例如,我有一张地图:1600x1600 的宽度和高度。将它除以 32,我有 50x50 的平铺地图。

我制作了一个二维布尔数组:

因此,对于每个非无碰撞瓷砖,它将保持 1,对于无碰撞瓷砖,它将保持 0。例如,如果玩家在 tile_area[1][1] 上并且想要向右移动,它会检查tile_area[2][1] 中的碰撞,如果 tile 没有碰撞,则它会移动。怪物也一样,这里的一切都很完美。

但是这种类型的碰撞检测在玩家和怪物、怪物和怪物等移动物体之间是不同的。如果在 1 张地图中我有 200-300 个移动对象,则检查主要移动对象与其他所有对象的每个移动像素的碰撞并不是一个好主意。

所以我想到了一个想法,也为对象划分区域图,所以现在我得到了一个 obj_area[x][y] 结构的二维数组。该结构包含对象结构的向量“vector obj_list;”,因为该区域中不仅可以有 1 个对象。

我相信我可以制作一个二维结构向量数组:D 不确定;D

因此,当玩家或怪物移动时,例如移动到 x 210 和 y 300,它将被添加到 obj_area[210/32=7][300/32=9] 并且如果它想向右移动,它会先检查tile_area[8][9] 如果空闲,则使用向量 obj_area[8][9] 中的所有对象。因此,如果它也是免费的,它会从 obj_area[7][9] 重新分配到 obj_area[8][9] <- 在这一点上,我不知道重新分配是否是个好主意,我需要删除它从旧向量中提取并将其添加到新向量中,这在移动的每一步中都需要。

我有另一个想法,但我不知道它是否会更好或可能,如果我有一个结构映射,并且 x,y 对作为它的键值,所以理论上每次对象移动时,都需要重新分配,我只需要更改该映射对的键值。

我将非常感谢您的任何想法,也许还有更好的想法:)