用c++玩过场动画
Playing cutscenes in c++
我使用SDL打开窗口并处理事件。OpenGL把我的物体渲染到屏幕上。SDL_mixer用于声音,SDL_ttf用于文本。现在我正在想办法把视频展示出来。比如游戏开始前的动画标志之类的。只是为了试验一下。在某些时候,我需要知道它…
我已经找到并尝试安装FFMPEG,我已经包含了"include"文件夹,并设置了"lib"文件夹。起初,我得到一个错误,告诉我它无法加载"inttypes.h"。所以我下载了一个包,并把它放在FFMPEG的include文件夹中。
现在我被这个错误卡住了,我似乎无法解决。
c: 程序文件 ffmpeg - 20140507 - git - 4 - cdea92 win64 - dev 包括 libavutil 构成(87):致命错误C1004:发现意外的文件结束符
另一个问题,是否有其他库可以更容易地用于显示简单的视频?我读到一些关于SDL能够做到这一点的东西,但是没有找到关于它的任何信息。
编辑:这是第78到96行:
#if FF_API_AV_REVERSE
extern attribute_deprecated const uint8_t av_reverse[256];
#endif
#ifdef HAVE_AV_CONFIG_H
# include "config.h"
# include "intmath.h"
#endif
/* Pull in unguarded fallback defines at the end of this file. */
#include "common.h"
#ifndef av_log2
av_const int av_log2(unsigned v);
#endif
#ifndef av_log2_16bit
av_const int av_log2_16bit(unsigned v);
#endif
像这样将你的#include <libav*.h>
包入block中:
#ifndef __STDC_CONSTANT_MACROS
#define __STDC_CONSTANT_MACROS
#define UNDEFINE_STDC_CONSTANT_MACROS
#endif
extern "C"
{
#include <libavdevice/avdevice.h>
#include <libavdevice/version.h>
}
#ifdef UNDEFINE_STDC_CONSTANT_MACROS
#undef __STDC_CONSTANT_MACROS
#endif
有可能一种使用UNDEFINE_STDC_CONSTANT_MACROS
hack的方法,但是我现在没有想到逻辑。
在VS2012上使用Zeranoe的32位ffmpeg开发二进制文件和msinttypes的inttypes.h
。
嗯,我找到了dll文件,它给了我一个64位库的链接错误。我改回32位和32位的dll,它工作得很好。我猜库会问你是否有32/64位的Visual Studio而不是Windows。
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 使用 GLUT 使用键停止动画?
- 使用对象数组对 SFML 进行动画处理
- (SFML)按下键时,播放器构造函数未使用正确的动画进行更新
- 如何减慢从 BVH 文件读取的 opengl 动画?
- 如何检测是否在缓冲绘画动画中绘制最后一帧?
- 从精灵表在 sfml 中为精灵制作动画
- Qt3D 骨骼动画
- ASCII 旋转光标 (TUI) 动画出现问题
- 带有 std::cout 的多线程控制台文本动画
- 有没有办法像动画一样移动控制台窗口?
- 围绕特定轴对 qt3d 旋转进行动画处理
- 如何在Qt中设置围绕固定点的线的动画
- 试图用c++制作一个动画加载圈
- 精灵动画查看器应该使用哪些Qt小部件
- 骨骼动画:变换矩阵(collada)之间的插值
- 使用增量时间的对象动画
- 精灵没有动画
- 使用 GDI+ 在C++中制作流畅的动画
- 是否可以在QT GUI应用程序中处理事件时播放加载动画指示器?