|
用户名:hardblack 笔名:hardblack 地区: 行业:其他 |
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
呵呵,这里的感觉比较好,没有什么,以后就在这里安家了 不过速度有些慢,希望以后有改进,这里将记载我学习ALLEGRO游戏编程的历程,不知道哪一天我会对此失去兴趣,先一步步走下去,喉喉! 忘了说列,俺用的是dev-c++ (版本不断升级中)当然了还有allegro了,还有一些其他的关于allegro的如FONTS等,有兴趣一起来吧,新手共同进步,高手就请指教了,呵呵!^_^!
激励员工“起锚
Blog营销,做起来也不很美
ALLEGRO学习++正式开始
现在正式来学习allegro啦!
首先要了解一下基本的东西,我自己用一个例子从关到尾说了!
#include <allegro.h> //ALLEGRO关文件,必需的
int main(int argc, char *argv[])
{
allegro_init(); //初始化ALLEGRO
install_keyboard(); //初始化键盘
set_gfx_mode(GFX_AUTODETECT, 800,600,0,0); //改变我们的图形模式为800 X 600,自己看着改了
readkey();//等待键盘输入
return(0);//main必须返回一个int值
}
END_OF_MAIN(); //这个是allegro结束main()必须的
好了,现在编译一下,可以运行了,但是什么也没有,只是一个黒黒的屏幕,
当然了,我们什么也没有作呢,只是设置了一下图形模式,其他什么都没有,不管怎么样,先看看再说吧。
#include <allegro.h>,这个是必须的头文件ALLEGRO在东西嘛,当然要他了。所有的 Allegro 函数,变量,数据结构都定义在 allegro.h 里
int allegro_init();
初始化 Allegro 库. 它除了设置一个全局变量,锁住一些内存, 将 allegro_exit() 加载到 atexit() 例程上以外没有做更多的事,但是你必须在做其它事之前调用它. 成功者返回 0,失败返回非0, (它不太可能调用失败).
和他类似的还有一个是install_allegro(SYSTEM_AUTODETECT, &errno, atexit);当然了这个要复杂点了,先不多说了,可以看ALLEGRO的帮助。
install_keyboard(); 初始化键盘,加载 Allegro 键盘中断处理程序.你必须在使用任何键盘输入例程前调用它.一旦 你设置了 Allegro 处理程序,就不再需要使用系统调用或者 C 库函数 来控制键盘了. 成功者返回 0,失败返回一个负数。
set_gfx_mode(GFX_AUTODETECT, 800,600,0,0); 改变我们的图形模式为800 X 600,你也可以是其他的,原形是这样的
int set_gfx_mode(int card, int w, int h, int v_w, int v_h);
参数 card 可以是以下值中的一个:
GFX_AUTODETECT :Allegro 选择一个合适的图形驱动程序
GFX_AUTODETECT_FULLSCREEN :Allegro 选择一个合适的图形驱动程序全屏模式
GFX_AUTODETECT_WINDOWED :Allegro 选择一个合适的图形驱动程序窗口模式
GFX_SAFE :ALLEGRO保证正确的设置一种模式
GFX_TEXT :返回文本模式
具体还得看帮助了。
readkey();等待键盘输入,前面install_keyboard()已经定义了。看readkey名字就知道什么意思了。
最后就是END_OF_MAIN(); 这个是ALLEGRO为了保证跨平台的兼容性。是一个宏,不过不用#ifdef 了,他自己作了处理。
最后再说一下开始测试时用的allegro_message("hello world");
原形是这样的void allegro_message(const char *text_format, ...);使用的是printf();的格式,一个消息输出筐。
今天就先写这么多,有点吃不消,原来写这么一点东西也要花很长时间,比看书学的时间还长,真是不容易
ALLEGRO学习开始下
说了一点什么是ALLEGRO以后,现在我们得知道去哪里得到他。
毫无疑问,当然是他的老家了http://www.talula.demon.co.uk/allegro/
当然啦,作为开元的,http://alleg.sourceforge.net/这里也少不了他的。
页面上有德语,西班牙语,意大利语,韩语等,可惜没有汉语的,可能我国高手对这个感兴趣的不多,我也不清楚,不过以前"云风"大侠曾写过过一个3。X的帮助文件,现在没有更新过了,很期待哪位高手能继续完成这个大工作量的工作(好象我的表达很有问题,希望大家能看懂了)
目前最新的版本的Allegro 4.1.18 WIP,呵呵,大家可以到上面说的页面下载,还有帮助文件等。不用看我这里的废话,这里只是我小菜鸟,写给自己娱乐呢。
现在知道什么是ALLEGRO了,也知道怎么下载到了,其实不用我废话,大家可能都比我厉害多了,早就装好了,不过为了有一个完整的过程,我还是要简单说一下地,因为我用的是DEV-C++,所以可以直接到http://sourceforge.net/projects/devpaks/ 或者 http://devpaks.org/ 下载一个DEVPAK,直接安装就能用了,那些地方还有很多好东西哦,看看也无妨!嘿嘿。
安装好了以后会有一个allegro目录里面有例子和说明。如果要下原代码的话,就要自己编译了,不过他已经写好了MAKEFILE了,自己根据自己的系统MAKE一下就搞定了,呵呵具体咱也不说了,谁叫我是用DEV-C++的呢,太简单方便了。如果你实在不会可以请教那些大侠了,不嫌弃的话,我也许也可以帮忙。以后我把具体各版本的安装也写一下,造福和我自己一样的广大菜鸟吧。
嘿嘿,安装好了,迫不及待的试试效果了,下面就用原ALLEGRO手册的里的测试程序测试了
新写一个C程序用DEV-C编译,当然了写大了得新键工程,这里就不用了,小小的还要工程,杀鸡用牛刀了。
#include <allegro.h>//必须的
int main() {
allegro_init();
allegro_message("Hello World!");
return 0;
}
END_OF_MAIN() //必须的
程序写好了,准备行动了,在开火之前还有事要做,DEV-C的LINKER选项里加-lalleg (或者debug模式加-lalld),准备完毕,FIRE IN THE HOLE!GO GO GO!
编译,运行。哇哈哈,弹出来一个HELLO WORLD,恭喜了,已经确定安装成功了,下面就可以正式进入ALLEGRO的世界了!这下爽呆了。
ALLEGRO学习开始
最近对ALLEGRO感兴趣,所以来写写,希望大家能来共同学习一下,共同进步
allegro是一个c/c++的游戏库,免费,开源,最初作者是shawn hargreaves,他支持DOS,UNIX(Linux, FreeBSD, Irix, Solaris, Darwin), Windows, QNX, BeOS 还有 MacOS X.提供了大量的图形,声音,玩家输入(键盘,鼠标,游戏手柄),定时器等函数。它支持定点和浮点
数学函数,3D函数,文件管理函数,数据文件压缩,和GUI等功能。
Cross-platform support