allegro 16.2中怎样测量任意两点的距离
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了allegro 16.2中怎样测量任意两点的距离相关的知识,希望对你有一定的参考价值。
选择display>measure(或者快捷键shitft+F4),在find栏不要勾选任何对象。把鼠标放在需要测量的点上,右键snap pick to>off-gird location,同样再选定第二点。 参考技术A shitft+F4, option里选择测量类型,然后鼠标点两点间就是测距离使用 Allegro5 在 C 中播放声音文件
【中文标题】使用 Allegro5 在 C 中播放声音文件【英文标题】:Playing sound file in C with Allegro5 【发布时间】:2015-05-14 12:12:18 【问题描述】:我正在尝试使用 allegro5 在 C 中播放 wav 文件,我编写了以下代码:
#include <stdio.h>
#include <allegro5/allegro.h>
#include <allegro5/allegro_audio.h>
#include <allegro5/allegro_acodec.h>
int main(int argc, char **argv)
ALLEGRO_DISPLAY *display = NULL;
if (!al_init())
fprintf(stderr, "failed to initialize allegro!\n");
return -1;
if (!al_install_audio())
fprintf(stderr, "failed to initialize audio!\n");
return -1;
if (!al_init_acodec_addon())
fprintf(stderr, "failed to initialize audio codecs!\n");
return -1;
if (!al_reserve_samples(1))
fprintf(stderr, "failed to reserve samples!\n");
return -1;
al_install_audio();
al_init_acodec_addon();
ALLEGRO_SAMPLE *sample = al_load_sample("bomb.wav"); //sample always NULL
al_reserve_samples(1);
if (!sample)
printf("Audio clip sample not loaded!\n");
return -1;
display = al_create_display(640, 480);
if (!display)
fprintf(stderr, "failed to create display!\n");
return -1;
/* Loop the sample until the display closes. */
al_play_sample(sample, 1.0, 0.0, 1.0, ALLEGRO_PLAYMODE_ONCE, 0);
al_rest(10.0);
al_destroy_display(display);
al_destroy_sample(sample);
return 0;
我在 Visual Studio 2013 中对此进行了调试,sample always NULL。 我尝试了一些不同的格式。
例如:ALLEGRO_SAMPLE *sample = al_load_sample("\\bomb.wav");
ALLEGRO_SAMPLE *sample = al_load_sample("Resource Files\\bomb.wav");
ALLEGRO_SAMPLE *sample = al_load_sample("\\Resource Files\\bomb.wav");
ALLEGRO_SAMPLE *sample = al_load_sample("C:\\bomb.wav");//after copied in C drive
ALLEGRO_SAMPLE *sample = al_load_sample("C:/bomb.wav");
等等
我很困惑。我怎样才能成功解决这个问题。提前致谢。对不起语言。
【问题讨论】:
如果我将“bomb.wav”放在当前目录中,第一个示例适用于我。您的声音文件相对于当前目录位于何处?声音可以在您的系统上播放吗(即不使用 allegro?) 完整路径为:C:\Users*************\Documents\Visual Studio 2013\Projects\AllegroSesTest\AllegroSesTest。是的,我正在用媒体播放器播放 wav 文件。al_filename_exists
是否为提供的路径返回 true?
if (al_filename_exists("bomb.wav")) printf("FILE IS READY");我显示 printf 的消息。但没有播放wav文件。 :/ @rcorre
我解决了这个问题。我在此处的链接中将 wav 文件转换为 ogg 文件:audio.online-convert.com/convert-to-ogg 然后将 ogg 文件添加到我的项目中(这是我的宝贝)。 :)) 谢谢大家。
【参考方案1】:
ALLEGRO_SAMPLE *sample = al_load_sample("bomb.ogg"); //convert to ogg file your link
它对我有用。
【讨论】:
以上是关于allegro 16.2中怎样测量任意两点的距离的主要内容,如果未能解决你的问题,请参考以下文章