问题标签 [allegro]
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++ - 跟踪旧项目中的几个内存错误的软件?
我从 2 年前开始编写游戏。有时一些内存错误(即:一个函数返回垃圾而不是它应该返回的内容,或者只在 Linux 上发生的崩溃,而在 GDB 或 Windows 上永远不会发生)似乎是随机发生的。也就是说,我尝试修复它,几个月后,同样的错误再次困扰着我。
有一个软件(不是 Valgrind,我已经试过了......它没有找到错误)可以帮助我解决这个问题?或者解决这些错误的方法?我想永久修复它们。
c++ - Allegro 4.2.1,去除 bmp 背景色
我一直在 allegro 4.2.1 中构建游戏,需要帮助删除特定颜色以使其不可见。背景颜色为 (255, 0, 255)。我去过以下网站,但它们对我帮助不大:
http://www.allegro.cc/forums/thread/599210 , http://www.cpp-home.com/tutorials/258_1.htm
如果有人能给我举个例子,我会很高兴。
c - 纹理管理/指针问题
我正在为我的一个小型项目开发纹理管理和动画解决方案。尽管该项目使用 Allegro 进行渲染和输入,但我的问题主要围绕 C 和内存管理。我想在这里发布它以获得对方法的想法和洞察力,因为我在指针方面很糟糕。
基本上我要做的是将我所有的纹理资源加载到一个中央管理器(textureManager)中——它本质上是一个包含 ALLEGRO_BITMAP 对象的结构数组。存储在 textureManager 中的纹理大多是完整的精灵表。
从那里,我有一个 anim(ation) 结构,其中包含特定于动画的信息(以及指向纹理管理器中相应纹理的指针)。
为了给你一个想法,下面是我设置和播放玩家“行走”动画的方法:
渲染动画当前帧只是对存储在 textureManager 中的 sprite 表的特定区域进行 blitting 的情况。
作为参考,这里是 anim.h 和 anim.c 的代码。我敢肯定,出于多种原因,我在这里所做的可能是一种糟糕的方法。我想听听他们的消息!我是否正在向任何陷阱敞开心扉?这会像我希望的那样工作吗?
动画.h
动画.c
c - C/C++ Allegro 程序导致 Windows 7 切换到 Aero Basic
我只是在试用 allegro 库,这是我目前得到的代码:
它工作正常,但是当我运行它时,当程序的窗口打开时,Windows 7 将主题从 Aero 更改为 Aero basic。如果你不确定我的意思,会弹出这个(我从谷歌得到这个,这就是为什么它说 Vista 而不是 Windows 7):
(来源:suitcowboys.com)
- 为什么?
- 我怎样才能确保不会发生这种情况?
c++ - 将 int 转换为字符串以用于 allegro 函数
我正在尝试使用 allegro 运行以下代码。
textout_ex(屏幕、字体、numbComments 、100、100、绿色、黑色);
numbComments 是一个整数,这个函数的函数原型是
根据我的理解,我不能在第三位传递这个整数。
因此,我需要将整数转换为 char*s。
请帮忙?
当然,我不能更改实际的函数原型
c++ - C++:如何防止函数接受内联分配的指针?
无法弄清楚如何准确地表达问题,所以这里有一个例子:
给定这个函数原型:
我想防止这种用法:
而是需要一个先前创建的对象:
或者
谢谢。
编辑
这是一个明确的例子:
用户传入的任何图像都会被复制到对象的图像中。
如果我在复制后解除分配传入的图像并且图像在程序的其他地方使用,它将导致程序因访问冲突而崩溃。
如果他们在线分配存储而我没有释放它,则会发生内存泄漏。如果他们在运行程序的过程中多次调用 SetImage 方法,则问题会更加复杂。
关于使用替代库或 Allegro 库本身的评论将被忽略,我已经知道这很可怕。我别无选择。
c++ - 在 C++ 中渲染矢量图形 (.svg)
我和一个朋友正在开发一个 2D 游戏,其中的图形将是 .svg 文件,我们将通过首先对它们进行光栅化或直接在表面上渲染它们来适当地缩放它们(在某些时候仍然需要光栅化)。
问题是,我整天都在寻找一个库,它可以让我获取一个 .svg 文件并最终让它在 allegro 中呈现。据我所知,这将涉及将光栅化为 allegro 可以读取的某种格式,然后 allegro 可以渲染“扁平化”图像。
那么,我可以使用哪些 C++ 库来获取 .SVG 文件并将其“展平”以便渲染它?该库显然也需要支持缩放,因此我可以缩放矢量图形然后对其进行光栅化。
我正在使用 Windows 和 Visual C++ Express 2010。
我试过 Cairo,但它只允许写入 .svg 文件,不允许读取 .svg 文件。我还研究了与 Cario 一起使用的 librsvg,但我在让它在 Windows 上正常工作时遇到了很多麻烦(因为它有很多 GNOME 依赖项)。如果您有任何指南可以让这些工作(在 Windows 上),那也很棒。
c++ - C/C++ Allegro 程序无法运行
不会加载我的图片我的默认错误消息“错误加载图片.bmp”每次都会弹出并且不会运行
visual-c++ - 无法使用 Visual C++ 编译快板
我刚刚下载了快板库
我创建一个新的空项目,然后添加一个源文件
我添加这行代码:
我编译并得到以下错误:
c:\allegro\include\allegro5\internal\alconfig.h(28) : 致命错误 C1083: 无法打开包含文件: 'allegro5/platform/alplatf.h': 没有这样的文件或目录
所以我进入 alconfig.h 并更改:
至:
它现在给了我这个错误:
c:\allegro\include\allegro5\platform\alplatf.h.cmake(2) : 致命错误 C1021: invalid preprocessor command 'cmakedefine'
所以我摆脱了它然后说的#include "../../allegro5/platform/alplatf.h.cmake"
声明:
c:\allegro\include\allegro5\internal\alconfig.h(57) : 致命错误 C1189: #error : 不支持平台
我不知道从那里去,我正在运行 Windows,所以我真的很难过