问题标签 [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 和 Code::Blocks 的自动完成功能
我之前用 msvc++ 2010 尝试过 Allegro 5,它在输入像 al_map_rgb 这样的函数时为我提供了函数定义,而在 code::blocks 中我没有得到这样的东西。
我从一个问题中了解到 Allegro 使用宏来定义函数,因此 Code::Blocks 无法将其用于自动完成。
如何在 Code::Blocks 中启用该功能?[如果可能的话]
PS。http://forums.codeblocks.org/index.php?topic=15728.0,在这个讨论中,他们谈到为 Allegro 创建一个包含所有函数签名的单独头文件,我该怎么做?
c++ - 无法使用 Sublime Text 2 构建 Allegro 程序
尝试使用 Sublime Text 2 和 SublimeClang 编译和运行一个简单的 Allegro 程序。如果我g++ '/path/to/project/main.cpp' -o '/path/to/project/main' -I/usr/include/allegro5 -L/usr/lib -lallegro
在命令行上运行,它编译得很好。
C++.sublime-build 的内容
运行失败,Sublime Console 的输出为:
Running bash -c g++ '/path/to/project/main.cpp' -o '/path/to/project/main' && '/path/to/project/main' -I/usr/include/allegro5 -L/usr/lib -lallegro
似乎 Sublime 正在添加&& '/path/to/project/main'
,即使构建设置没有指定这样做。是什么导致 Sublime 添加这个&& '/path/to/project/main'
?以及如何删除它?
从更大的角度来看 - 这意味着 Allegro 将在所有 C++ 项目中链接,即使这些库没有被使用。有没有办法在我的系统上全局添加 Allegro 标志?抱歉,通常不是 C++ 开发人员。
visual-studio-2012 - 无法在 MSVC 2012 中构建 Allegro 5 解决方案
我花了几个小时在 Visual Studio 2012 中使用 Windows 7 x64 构建我的第一个 Allegro 5 应用程序。
我已按照本教程的所有步骤进行操作: http ://wiki.allegro.cc/index.php?title=Windows,_Visual_Studio_2010_and_Allegro_5#Download 这意味着 Allegro 目录位于 c:/allegro/ 中,并且所有库都已添加在调试和发布配置中。
我还将我的子系统更改为 Windows,所以现在它显示“Windows (/SUBSYSTEM:WINDOWS)”
c++ - Lua OOP 函数没有被调用?
我在 Allegro 5 中使用 Lua 和 LuaBridge。我决定将所有图形对象移植到 Lua,但遇到了一些问题:
被调用一次的字符类
从主程序调用函数的 Lua 脚本:
所以基本上,脚本用适当的坐标和图像初始化角色,并绘制它,但要么没有调用逻辑(它在逻辑循环中),要么改变 X 坐标的函数有问题。
此外,任务管理器建议每个周期存在约 30 KB 的内存泄漏,当我在 C++ 中使用图像对象时没有发生这种情况。
下面是通过 LuaBridge 导出到 Lua 的 Bitmap 结构的片段,以备不时之需:
更新:我能够弄清楚的一件事是内存泄漏来自CoreLogic;我在 C++ 中注释掉了对它的调用,内存泄漏消失了,但是当我保持调用不变,但注释掉CoreLogic的内容时,泄漏仍然存在。嗯……
第二次更新:内存泄漏已被缩小到与人工智能有关的东西,我没有发布:
在CoreLogic函数中,它会调用Foo.AI:DoBehavior(),这完全没有做任何事情并导致内存泄漏。
codeblocks - CodeBlocks 中是否有任何类型的“智能感知”?
我想知道 CodeBlocks 中是否有任何 Intellisense 行为。我问这个的原因是因为我正在使用 allegro 5 进行编码并且无法让代码完成插件与 allegro 5 库一起使用...谢谢
visual-studio - 在调试中运行 Allegro 项目时缺少 MSVCR100D.dll
我在 Windows 8 上使用 VS2012 设置了 Allegro 5,并尝试从 Allegro wiki 编译示例代码。我已经安装了 VC++ 2010 Redist。(x86 和 x64)并且我能够在发布中构建/运行项目就好了。
问题是,当尝试在调试中运行它时,它会崩溃并抱怨 MSVCR100D.dll 丢失。我的理解是这个 dll 的非调试和调试版本应该包含在 VC++ 2010 中吗?除了从某个地方下载 dll 并手动将其放入之外,关于如何解决此问题的任何想法?
c++ - Allegro 5 + MinGW:音频插件不起作用
我一直在做这个平台化的 Allegro 5 测试,稍后我将把它变成一个游戏。到目前为止,Allegro 的每个附加组件都运行良好,当时我尝试使用音频播放我在 Audacity 中制作的 .ogg 文件。我正在使用 MinGW 版本,并将所有内容与 Code::Blocks 静态链接。它只有一个文件 main.cpp:
当我尝试构建我的代码时,它给了我这个奇怪的错误序列,我在 Google 上没有找到任何解决方案:
我将发布Code::Blocks 项目,以便您可以看到我正在链接的内容,但我只是不明白为什么音频库是唯一不起作用的东西!
感谢您的帮助,
-尼尔
c - allegro5 - 如何在 Linux 上运行?
我设置了 Allegro 5,并且可以成功编译以下代码:
但是运行它之后,它失败并显示错误消息:
无法初始化 allegro:没有这样的文件或目录。
我不知道出了什么问题。我的操作系统是 Ubuntu,我已经成功编译了代码:
但无法运行它:
c - 多线程和互斥锁
我目前正在使用 Allegro 跨平台库开始开发 C 语言独立游戏。我想我会将诸如输入、声音、游戏引擎和图形之类的东西分离到它们自己独立的线程中,以提高程序的健壮性。没有任何多线程经验,我的问题是:
如果我在内存中有一段数据(例如,指向数据结构的指针),一个线程可以随意写入它,另一个线程随意读取它,还是每个线程都必须使用互斥锁锁定内存,然后读取或写入,然后解锁?
特别是,我在考虑游戏引擎和视频渲染器之间的交互。(这是二维的。)我的计划是让引擎处理用户输入,然后将适当的音频和视频输出到扬声器和监视器。我在想我会有一个指向要在屏幕上绘制的下一个位图的全局指针,游戏引擎和渲染器的代码将是这样的:
这似乎不稳定......也许在调用时会发生一些事情,al_clone_bitmap
但我不太确定如何处理这样的事情。我会在位图上使用互斥锁,但互斥锁似乎需要时间来锁定和解锁,我希望这两个线程(尤其是游戏引擎线程)尽可能快地运行。我还阅读了一种称为条件的东西,但我完全不知道条件将如何适用或有用,尽管我确信它们是。有人可以指点我关于互斥锁和条件的教程(最好是 POSIX,而不是 Windows),这样我就可以尝试解决所有这些问题吗?
c++ - Allegro DrawSprite() 无法正常运行 C++
简单的 x 和 O 游戏。如果按下 1-9 键,在棋盘的正确位置画一个 X 或一个 O:
7|8|9
4|5|6
1|2|3
代码如下,changePlayer() 函数只是更改播放器(不包括在内),我使用 board[0] 来保存它是哪个播放器。
当我运行程序板时,程序板显示正确,但按一个键时没有绘制 X 和 O。
我试图将所有内容绘制到缓冲区,然后将缓冲区绘制到屏幕但无法正常工作。如果我不使用缓冲区并直接将所有内容绘制到屏幕上 - 它可以完美运行!
我确定我遗漏了一些简单的东西:S 这是代码: