Articles of 快板

当试图建立我的程序时,“LNK2001:无法parsing的外部符号”

我在我的程序中得到以下错误,捕获鼠标,然后绘制一条线。 错误: 1>—— Build started: Project: Capture_Mouse_Line, Configuration: Debug Win32 —— 1> main.cpp 1>main.obj : error LNK2001: unresolved external symbol "public: static long * Line::yc2" (?yc2@Line@@2PAJA) 1>main.obj : error LNK2001: unresolved external symbol "public: static long * Line::xc2" (?xc2@Line@@2PAJA) 1>main.obj : error LNK2001: unresolved external symbol "public: static long * Line::yc1" (?yc1@Line@@2PAJA) 1>main.obj : error […]

编译Allegro时链接错误示例

我目前正在学习游戏开发工具,并决定使用Allegro和OpenGL作为初学者。 我在编译示例时遇到了一些问题。 看来allergro.h库链接不正确。 一些networkingsearch没有帮助。 这是我的示例代码: #include <stdio.h> #include <allegro.h> int main() { allegro_init(); //… return 0; } END_OF_MAIN(); 我运行这个命令来编译它: g++ allegroTemplate.cpp -o allegroTemplate 这是我得到的错误: /tmp/ccbpAXIY.o: In function `main': allegroTemplate.cpp:(.text+0x2a): undefined reference to `_install_allegro_version_check' collect2: ld returned 1 exit status 我在Ubuntu上运行这个。

事件不起作用(Allegro5)

我已经使用了快板一段时间了,计时器事件在我以前的所有项目中都有效,但是我不知道这次发生了什么,只要游戏正在进行,我想移动一块,一点都不移动,所以定时器事件不起作用,为什么呢? 我确定所有事件源都已注册。 这是重现问题的代码: int firstStuffXPos = 100; int firstStuffYPos = 100; ALLEGRO_EVENT_QUEUE *eventqueue; ALLEGRO_DISPLAY *display; ALLEGRO_TIMER *timer; int width = 800; int height = 600; int FPS = 60; bool donePlaying = false; class MyClass{ public: int getXPos() { return x; } int getYPos() { return y; } int x; int y; MyClass(int x, int […]

在Allegro 5中使用相机变换时创建静态背景

如果我使用相机转换将透视图应用于背景前面的位图,那么如何才能为Allegro 5graphics窗口的背景绘制静态位图,以便看起来它们在3D空间中? 如果我尝试在没有应用任何变换的情况下简单地绘制位图到后台缓冲区,然后在绘制其他对象时调用视图变换上的al_use_transform,则“背景”将随着变换一起移动。

问题与alleg42.dll /程序崩溃/快板和代码块

我有一个严重的问题与快板。 程序应该在屏幕上显示随机像素,当我建立并运行它时,我得到以下错误信息: 以下是我的程序的完整代码: #include <stdio.h> #include <stdlib.h> #include <time.h> #include "allegro.h" #define Text_Color_Red makecol(255,0,0) int main() { int ret; int color_depth = 32; int x; int y; int red; int green; int blue; int color; //init allegro allegro_init(); //install keyboard install_keyboard(); //set color depth to 32 bits set_color_depth(color_depth); //init random seed srand(time(NULL)); //init video mode […]

Allegro 5在Mac上与GCC编译

我有一个教程的下面的代码,我想在Mac上使用g ++ / gcc编译它,但每次它抱怨本地对话框,但我正确地引用图书馆,我认为 #include<allegro5/allegro.h> #include<allegro5/allegro_native_dialog.h> int main() { ALLEGRO_DISPLAY *display; if(al_init()) al_show_native_message_box(NULL, NULL, "Error", "Could not initialize Allegro 5", NULL, ALLEGRO_MESSAGEBOX_ERROR); display = al_create_display(800, 600); if(!display) al_show_native_messagebox(NULL, NULL, "Error", "Could not create Allegro 5 display", NULL, ALLEGRO_MESSAGEBOX_ERROR); al_destroy_display(display); return 0; } 我得到的错误是 main.cpp: In function 'int _al_mangled_main()': main.cpp:17: error: 'al_show_native_messagebox' was not declared in […]

我需要实现一个横向滚动屏幕,就像在经典的一些平台游戏中一样?

我正在为Allegro for C ++开发一款游戏。 我很难说如何滚动屏幕。 我试图让屏幕与玩家滚动,就像在超级马里奥兄弟(Super Mario Brothers)等经典的侧边滚动游戏中一样。 我应该采取什么方法来实施这样的行为?

Allegro游戏不会发射2D射弹

首先,我正在开发一个PSP应用程序,所以我不知道如何debugging一个PSP应用程序。 这并不意味着我不知道如何debugging期间。 无论如何,当我运行游戏时,一切运行良好,但是当我按下PSP上的Xbutton时,屏幕上看不到任何子弹正在被绘制或更新。 我知道问题并不在于垫,因为我按开始,它退出我的游戏,所以我不认为这是导致问题的垫。 也许子弹已经被抽出屏幕了。 但我不确定,因为我不能debugging也许有人可以看到我的代码中的缺陷。 main.cpp中 class Missile { private: static const double angle = (3.14159265358979323846 / 2); public: bool Alive; static const int V = 5; double X; double Y; void Init(bool alive, int x, int y) { Alive = alive; X = x; Y = y; } void Update() { Y -= […]

Allegro5中是否有“等待”function?

我正在用allegro5创建游戏,而且遇到了问题。 我有一个射击猎枪的角色,需要延迟才能再次射击。 枪的代码是在一个叫做的function fire_shotgun(); 我不能find一个方法来创造一个停顿,然后再射击而不停止整个游戏的使用 al_rest(); 我想知道是否有办法做到这一点。 PS我的游戏运行在60FPS定时器,如果这是任何使用。

处理键盘input

在游戏devise中,键盘input应该如何处理,为什么? 我是否答:每次迭代检查主循环中的键的状态? B:读取键并从事件队列中键入事件。 即时通讯使用allegro 5和使用事件队列模型ATM,但我看到了一些样品中的另一种方法..