问题标签 [libgosu]

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 回答
338 浏览

ruby - 如何使用 Chipmunk 库创建地板

我正在使用 Ruby,当然还有与 Chipmunk 以及Chingu / Gosu游戏库的 Ruby 绑定。似乎语法不同,但我认为它与 Chipmunk C 相同。我该如何做地板?我尝试了以下方法:

发生的情况是物体撞到地板上并在瞬间摆动,然后直接穿过。我希望它们降落在地板上,甚至可以弹起一点(取决于物体)。但不要穿过地板。我该怎么做呢?

0 投票
0 回答
104 浏览

ruby - 使用 Chingu 创建可变大小的游戏对象

我正在尝试制作一个不使用 Gosu::Image 而是使用 Chingu::Rect 的 GameObject。这是我的课,省略了所有不重要的方法

但是碰撞检测不起作用。有谁知道如何告诉 bounding_box 使用特定的 Rectangle 而不是 Image?

0 投票
1 回答
159 浏览

ruby - 我想让对象相互交互。(红宝石)

我正在使用 Gosu 库在 Ruby 中制作游戏 Pong。现在,我正在尝试让球与棋盘互动。

在最后一行,我尝试将字段@Board1 传递给另一个类,以便@Ball 知道棋盘的坐标,看看它是否应该跳下。但它不断给我带来错误,比如

我该怎么办?

0 投票
1 回答
738 浏览

opengl - 在 Ubuntu 上安装 ruby​​-opengl 0.60.1?...为了添加“gl”、“glu”和“glut”扩展

如何在 Ubuntu 上安装 ruby​​-opengl-0.60.1?

我不断尝试

我遇到了以下错误:

也许我可以手动更改 Rakefile 中的“包任务”参数,然后尝试本地 gem 安装?...

我找到了以下网址,可以下载软件包以进行手动安装:

以下似乎是一个补丁或一个小的修改:

我尝试从启动板 url 下载 gem,然后从下载文件夹尝试 $ gem install ruby​​-opengl-0.60.1.gem,它给了我很多错误。

我最终尝试了: $ sudo apt-get install libopengl-ruby

这似乎有效,现在当我这样做时: $ gem list -r ruby​​-opengl 我得到:

我相信 i386-mswin32 是适用于 windows 的 0.60.1 版本。

使用此配置,我尝试运行 Sapphire.rb,但它仍然无法正常工作。

我已经安装了 ruby​​-opengl 版本 0.60.0 和 0.61.0,但我需要 0.60.1,因为它创建了运行某些 .rb 文件所需的“gl”、“glu”和“glut”扩展名我从其他人那里复制的。这些 .rb 文件是使用Gosu gem创建的视频游戏。

这是专门与 Gosu gem 一起使用的。更具体地说,我正在尝试运行蓝宝石游戏 (github.com/KoBeWi/Sapphire),这也需要Texplay gem

还是有另一种方法来激活“gl”、“glu”和“glut”扩展?

0 投票
2 回答
5596 浏览

ruby - 如何制作 Gosu Ruby 基本形状

我正在尝试在 gosu(红宝石)中制作一些简单的形状。我发现很难在哪里调用这些函数。是更新方法还是绘制方法。

请看一下,让我知道这是否是创建形状的正确方法。

0 投票
0 回答
54 浏览

xcode - 如何为 XCode4 项目添加 Gosu 框架?

在编译语言方面,我对链接和引用文件/资源​​知之甚少(我是一名 Ruby 程序员)。

我正在尽力使用有关“如何将框架添加到 XCode 4 项目”的一般教程,但我很难理解我应该如何做到这一点,因为我所做的一切最终都失败了。

我只是创建了一个新的可可应用程序,去构建阶段/链接二进制与库并在那里添加了 Gosu.framework。我没有做任何其他事情。

现在,当我尝试运行应用程序时,出现此错误:

我应该怎么办?

0 投票
1 回答
555 浏览

ruby - 在花栗鼠中设置简单的矩形碰撞时遇到问题

最近我一直在尝试创造一些我一直想要的东西,但从来没有技术和时间去做——电脑游戏。更准确地说,是我最喜欢的游戏之一的致敬/克隆。首先,我决定创建一个基于恶魔城系列的经典 2D 平台。

作为一名 Ruby 程序员,我决定使用Gosu。然后我决定我不想重新发明轮子,所以我要使用Chipmunk

几天后,我最终遇到了莫名其妙的碰撞检测问题。我添加了边界框绘图功能,只是为了看看到底发生了什么。

在此处输入图像描述

正如你所看到的,贝尔蒙特撞到了他无法触及的墙块。由于 gosu gem 附带的演示游戏运行良好,我一定是做错了什么,我可能真的不明白如何Shape定义多边形并将其添加到空间中。我很确定这不是我画它的地方。

该游戏有一个公共 repo,因此您可以看到墙壁 ( Brush < Entity) 和玩家 ( Player < Entity) 是如何定义的,并且它们确实具有简单的矩形多边形形状。墙不会添加到空间中(它们是流氓),只有玩家是。我试过调试游戏,看看body位置在哪里,但一切看起来都很好。

https://github.com/ellmo/castellvania

玩家慢慢跌倒,但你可以用上/左/右箭头控制他。波浪号按钮 ( ~) 显示边界框,并且碰撞框应该始终可见。

我需要一些帮助来了解我做错了什么。

0 投票
2 回答
665 浏览

ruby - 使用 Ruby 的 Gosu 绘图程序中的高 CPU 使用率

我一直在修补使用 Ruby 在 Gosu 中制作绘图应用程序,但我遇到了一些高 CPU 使用率。我知道一个可能的原因。

首先,我只是在每次用户单击鼠标按钮时(或者如果他们按住鼠标按钮,则每次屏幕刷新时,我认为这大约每秒发生 60 次)时向哈希添加一个原语。每次屏幕重绘时,我都会让程序循环遍历哈希并重绘所有基元。如果有人按住鼠标按钮,它只会将重叠的图元保持在彼此之上,而在其他情况下,图元只是分层。我可以看到这最终会如何消耗散列中的一堆内存。

我觉得最好的解决方案是使用某种较低级别的函数,该函数只需为屏幕上的像素着色,而不必将它们存储在哈希中。我不确定Gosu是否支持。有人可以在 Gosu 中帮我解决这个问题,还是建议使用不同的方法和/或其他程序?谢谢!

(以下是我的程序的完整代码。)

0 投票
1 回答
301 浏览

ruby - Gosu:使图像指向光标

我在 Ruby 1.9.3 MRI 上使用Gosu

我有一个 Player 类,它有自己的 x/y 变量,还有一个 Cursor 类。考虑到 Player 和 Cursor 类在运动上没有区别并且值相同,我如何计算与#draw_rot玩家的角度?

窗口的屏幕截图 上图:游戏窗口的屏幕截图。

顺便说一下,光标是以实际操作系统光标为中心的图像。

0 投票
1 回答
1598 浏览

ruby - Gosu:如何调整图像大小以适应窗口?

使用 Ruby Gosu,我以这种方式绘制图像:

图像比窗口大,有没有办法神奇地调整它的大小以适应窗口?我试图避免硬编码factor_xfactor_y.