问题标签 [allegro5]
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.
c++ - 在 Allegro 中创建光标?
我正在写一个基本的游戏。
我想要一个带有实际正确轮廓的光标图像,用于碰撞检测。这不适用于鼠标——我希望小光标在我的游戏中飞来飞去,我不希望它们的边界框是矩形。
但我是 Allegro 和图形编程的新手。我的第一个想法是使用 al_draw_polygon 来创建一个标准光标外观,但后来我意识到我完全不知道如何确定要喂它的顶点。有没有更好的方法来做到这一点?另外,在绘制多边形时计算顶点相对于彼此的坐标的标准方法是什么?你肯定不会在纸上画一个图表,然后每次都计算出来吗?
我想到的另一种方法是加载鼠标的图像,但它会是矩形的。我该如何正确地做到这一点?
注意:C++。这是一个给定的数字,但以防万一。
visual-studio-2010 - 为 Allegro 插件添加运行时依赖项?
我正在尝试使用一些 Allegro 插件库。
例如:
但是 MSVS10 告诉我我所引用的东西是未定义的。我得到了标准
工作得很好,现在我猜我还需要为插件添加更多运行时依赖项。但我不知道该怎么做,也找不到指南/列表来说明需要将哪些值添加到属性中的哪些值字段。
allegro5 - 包括 Allegro 5 期
我刚刚从终端安装了 Allegro 5,如下所述:http ://wiki.allegro.cc/index.php?title=Install_Allegro5_From_SVN/OSX#Preliminaries 。但是,当我尝试编写程序时,包含 allegro.h 时遇到问题。我试过了:
但是当我编译(使用 g++)时出现以下错误:
我也试过:
但是当我尝试编译时出现以下错误:
我知道 /usr/local/include/allegro5/allegro5.h 中的文件存在。我已经尝试过 #include <"/usr/local/include/allegro5/allegro.h"> 和 #include <"allegro5/allegro.h"> 以及所有类似的结果。我知道这是一个非常基本的问题,我只想能够编写一个可以成功包含 allegro 的程序。
timer - 如何在快板中使用多个计时器?
这是事件循环中用于检查传入事件是否为计时器事件的语句。
但是所有的定时器都会产生同样的事件,那么你如何让多个定时器同时运行呢?你如何区分它们?
c++ - 使用 Allegro 5 加载 .png 图像文件
我正在用 allegro 编写游戏,并想加载一些图像文件。但是,每当我调用 al_load_bitmap 时,都会得到一个空指针。我使用 XCode 4.1 作为我的 IDE。我会尝试使用 g++ 进行编译(以防它是路径问题)但是我不知道我需要做什么才能在命令行中使用 g++ 编译它(只是 g++ main.cpp 不起作用)。无论如何,这是我的代码:
我已经跑了:
我还提出:
在我文件的顶部。既不加载grass.png,也不加载dirty.png,它们与我的main.cpp 文件位于完全相同的目录中。我没有编译错误,但是当我尝试加载我的图像时,我总是得到空指针,所以当需要将它们绘制到显示器时,它们不会显示。请帮忙!
png - 如何在我的游戏中制作非矩形图像?
不要问问题,但基本上我的游戏有很多鼠标光标追逐玩家的光标。
我有一个黑色背景的小光标图像,我一直在使用它,但问题是它根本不是光标的形状。有微小的角落,当多个光标重叠时,它们会被.png背景的黑色部分部分隐藏。
如何剪切光标图像并具有实际的光标形状,从而实现更准确的视觉重叠和更准确的碰撞?
xcode4 - 如何使用 XCode 在 Mac oSX Lion 上安装 Allegro 5
我是 Mac 开发的新手,想知道如何在我的 Mac 上安装 Allegro 5。我想在 Xcode 中使用 allegro,我正在运行 Lion。如何安装快板?
c++ - 将扫描码转换为 ASCII
我正在用 C++ 实现我自己的文本编辑器。它会……好的。;P
我需要一种将键码(特别是 Allegro,他们称之为扫描码)转换为 ASCII 字符的方法。我可以轻松地完成 AZ,并且将它们转换为 az 也很容易。我目前所做的是在 Allegro 中使用一个函数,该函数从扫描码 (al_keycode_to_name) 中返回一个名称,这意味着如果按下的键是 AZ,它将返回“A”到“Z”。这很容易,但我不能简单地阅读特殊字符,如“,”,“;” 等等,这就是我遇到困难的地方。
有没有办法自动做到这一点?也许是一个这样做的图书馆?真正的诀窍是考虑不同的布局。
这是我到目前为止所拥有的,以防万一有人感兴趣。InputState 类基本上是 Allegro 输入状态的副本,具有附加功能(例如 keyDown、keyUp、keyPress):
c++ - 使用 Cairo 和 Allegro 5
新手程序员在这里,
我正在使用 Allegro 5 设计一个 2d 游戏,我注意到在使用 allegro 中的位图(实际上是从 photoshop 导出的 png 文件......)时,旋转的图像看起来不那么出色:旋转的流星
左边那个是原来的方向,右边那个旋转了10度。它们有点小,但边缘质量的差异很明显。
首先,我真的很想避免创建一个包含所有不同旋转位置的精灵表,原因如下:
我对流星和我正在创建的所有其他物体有不同的“效果”,这些物体需要在物体周围发光。我将在每个对象周围应用至少 6 种不同的发光颜色。现在,这些流星中的每一个都需要旋转 30 帧才能显得平滑。假设我想要在游戏中像这样工作的区区 10 个不同的对象;仅用于这些对象的文件就有 1800 个!
我宁愿专注于寻找一种更好的方式来显示旋转的图像,而不是花时间去做。
我已经尝试研究各种 Photoshop 技术,但我能想到的最好的方法是让 Photoshop 中的圆圈稍微小一点,然后让它“发光”相同的灰色阴影,这可以解决旋转问题,但它会使流星看起来很模糊.
然后我做了一些研究,发现 Allegro 5 中提供了各种混合选项。我已经尝试了 al_set_blender 中所有可能的选项 - 它们都没有解决锯齿状边缘的问题。
最后,我再次搜索如何处理这个问题并发现了这篇关于 Allegro 5 中抗锯齿的帖子。正如答案中指出的,有一个可用的抗锯齿选项,但主要限制是只能在绘制图元时工作到后台缓冲区。实际上实现这将是大量的工作,并且每次绘制所有必需的原语似乎效率很低。
然而,在另一篇文章中引起我注意的是这条评论:
顺便说一句,如果您不需要游戏的实时性能,您还可以连接到 libcairo 以绘制漂亮的矢量图形。将它连接到 Allegro 非常简单,但这是一个不同的话题。
因此,我再次对图形库以及它们如何解决我的问题进行了研究。我查看了 Cairo、SDL、Qt、ImageMagic 等,但最终我同意 Cairo 似乎是适合这项工作的工具。
最后我们得出这篇文章的原因:
我的问题是:如何将 Cairo 与 Allegro 5 “挂钩”?
现在,我还没有在 Cairo 上做过任何工作,所以我并没有被它束缚,但我想继续使用 Allegro,除非真的有充分的理由切换到其他东西。
Allegro 有一种简单直接的方式来创建显示并使用 allegro 命令对其进行绘图。但开罗有自己的处事方式,而且开罗似乎根本不管显示器。我可以想象两者一起工作的唯一方法是 Cairo 接收绘图命令,绘制图像,将图像保存为 png 文件,然后打开 allegro 函数并在该文件中读取 1 帧。这不可能是评论者的意思。
无论如何,请随意批评我的思维过程。我不会被冒犯的。如果有什么简单的你觉得我没看懂,请赐教。
c++ - Allegro 5 加载数据文件
我正在使用 Allegro 5 库。我想从 dat 文件加载字体。在 Allegro 以前的版本中,有一些有用的方法。例如“load_datafile”、load_dat_font。我怎样才能在 Allegro 5 中做到这一点?