问题标签 [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++ - 如何从我的 Makefile 链接 Allegro 5?
我需要从我的Makefile链接 Allegro 游戏开发库。当我这样做时,编译器返回:
c++ - 使用 OpenGL 和 Allegro 5 绘制文本
如何在 C++ 中使用 openGL 和 Allegro 5 绘制 2d 文本?我希望能够指定要加载的字体文件,而不必手动将所有字符放入图像文件中。
c++ - Allegro5 - openGL:失败请求的主要操作码:55(X_CreateGC)
我一直在尝试让 Allegro5 在我的 Ubuntu 机器上运行。我编译了这段代码:
收到此错误:
尝试了这个解决方案: http ://www.allegro.cc/forums/thread/607530 (将 allegro5.cfg 更改为“config_selection=old”并安装了 mesa-utils)。
我不知道现在该尝试什么。
c++ - allegro 怎么会自动处理最小化按钮,而不是关闭按钮?
这是Allegro5 教程中的一个示例:(要查看原始示例,请点击链接,出于说明目的,我对其进行了一些简化。
如果我不手动检查ALLEGRO_EVENT_DISPLAY_CLOSE
,则无法关闭窗口或终止程序(无需通过任务管理器终止进程)。我明白这一点。但在这种情况下,如果没有我手动处理,我不明白最小化按钮是如何工作的。有人可以解释一下吗?
c++ - Allegro 编译错误:未定义对“PathFindOnPathA@8”的引用
我已经使用 MinGW 4.5.2 设置了 Allegro 5.0.4,并且我正在使用带有 Code::Blocks 的 GUN GCC 编译器。
当我尝试编译这个时:
我收到以下构建错误。
构建消息:
c++ - 如何将 Allegro 库与 Ubuntu Allegro 应用程序捆绑在一起?
我得到了 Allegro 开发库,编写并编译了一个简单的应用程序,然后在我的计算机上运行它,它运行良好。我有一个朋友测试它,但双击时它没有做任何事情。我认为问题在于他没有安装 Allegro 库,所以程序不起作用。是让他手动安装库和依赖项的唯一方法,还是有某种方法可以将必要的库与应用程序打包在一起?
编辑:对不起,我的意思是说我使用的是 Allegro 5。
multithreading - 通过设置亲和力在单核上运行多线程程序的性能?
简而言之:
在单核上运行多线程应用程序在什么情况下会破坏性能?
将多线程应用程序的亲和性设置为仅使用一个内核怎么样?
长篇:
我正在尝试在其自己的线程上运行 2D 引擎的物理特性。它工作正常,起初性能似乎正常,但我决定让游戏尝试以 10K FPS 和 120FPS 的物理速度运行,进入任务管理器并将亲和力设置为程序只能使用一个内核的位置。
在将亲和力设置为一个核心之前,FPS 大约为 1700,之后它达到了大约 70FPS。我没想到会出现这种下降。我告诉游戏尝试以 300 FPS 和 60 FPS 运行物理。
同样的事情发生了。
我没有多想,所以我只是继续修改引擎。后来我在更改了一些绘图代码后再次对其进行了测试,300 FPS,60FPS 用于物理。在允许所有内核的情况下,它可以很好地管理 300FPS,与单核 FPS 的亲和力下降到 4。现在我知道在单核上运行多线程应用程序不可能那么糟糕,或者我不知道发生了什么您将亲和力设置为单个核心。
这是关于渲染/物理如何运行的......
循环开始
收集输入直到 (1.0 / FPS) 通过。
来电更新。
锁定物理线程互斥体,因为游戏中的事物将使用物理数据,并且我不希望引擎更新任何内容,直到此更新调用中的所有内容完成。
更新游戏中可能发送 Draw 函数对象(保存要绘制的内容、绘制的位置、如何绘制)到渲染队列的所有内容。
解锁互斥锁。
渲染器在每个函数对象上调用 operator() 并将它们从队列中删除。
更新画面。
重复循环。
物理线程循环:
// 注意:自动互斥锁只是我创建的一个非常简单的对象,用于在构造函数中锁定互斥锁并在析构函数中解锁它。我正在使用 Allegro 5 的线程功能。
c++ - Allegro5 和 MS Visual Studio 2010
最近我想将 Allegro5 库添加到 Visual Studio 2010。我访问了 allegro.cc 并下载了名为:allegro-5.0.4-msvc-10.0 的包(按照名称,我认为它是正确的),提取后,我复制了:
当我尝试在我的项目中使用 Allegro 时,我可以包含 Allegro 的标头,但是当我尝试键入以下简单内容时出现错误:
它会产生一个错误(打字模式下的红色下划线):未定义的标识符“allegro_init”。有人能给我一个提示,这种配置可能有什么问题吗?我会很高兴所有的提示和解决方案。问候,
c++ - 如何快速将 IplImage(OpenCV) 转换为 ALLEGRO_BITMAP (A5)?
有没有一种最快的方法可以将 IplImage 类型从 OpenCV 转换为 Allegro 5.0.x 的 ALLEGRO_BITMAP 类型,而不仅仅是将每个像素从一个像素放置到另一个像素?
像这样的 2 for 循环: