关于作者

用户名:hardblack
笔名:hardblack
地区:
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

在线留言



我的个人链接

广告

访问统计:
文章个数:6
评论个数:10
留言条数:0




Powered by BlogDriver 2.1

我的allegro之旅

 

呵呵,这里的感觉比较好,没有什么,以后就在这里安家了 不过速度有些慢,希望以后有改进,这里将记载我学习ALLEGRO游戏编程的历程,不知道哪一天我会对此失去兴趣,先一步步走下去,喉喉! 忘了说列,俺用的是dev-c++ (版本不断升级中)当然了还有allegro了,还有一些其他的关于allegro的如FONTS等,有兴趣一起来吧,新手共同进步,高手就请指教了,呵呵!^_^!

文章

激励员工“起锚
摘要:拥有上进心强的员工,对于保持公司的竞争优势至关重要。这一点在今天得到了最真实的印证,因为在这个时代,对于想保持基业长青的公司而言,它们面临的 挑战是捉摸不定的。这一严酷的基本事实可能还意味着,管理者不能完全像过去那样,依靠金钱驱使员工全身心地投入到工作之中。那么,怎样才能保持员工的上进 心和工作效率呢?..................... 查看全文

- 作者: hardblack 2006年04月5日, 星期三 16:47  回复(0) |  引用(0) 加入博采

Blog营销,做起来也不很美
摘要:大凡中国的企业,其内部的体制,对于拿Blog来搞搞新意思,依旧是一个比较饶头的挑战;部门之间不断的利益纷争,一味地争功夺利讨好老板,缺乏高效率市场团队的协调,等等,都会使得任何一个看起来简单的新科技工具应用,变的困难重重;最重要还在于,当那些陈旧的思维和灵魂采纳了新工具,他们完全是以旧有的出发点考虑来为固有的利益来服务的,比方说,你做了个企业Blog,公关的人会想着这东西如何能加大传播,销售的人也遐想下是否有可能促进销售,产品的人又想着能否研究下用户行为,等等,诸多不同的利益目的夹杂在一起,往往使Blog本身失去了它应有的魅力,这就是所谓的“Blog ROI”压力。这也意味着,企业固执的传统观念,会导致创新的失败。 查看全文

- 作者: hardblack 2006年04月5日, 星期三 16:45  回复(0) |  引用(0) 加入博采

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();的格式,一个消息输出筐。

今天就先写这么多,有点吃不消,原来写这么一点东西也要花很长时间,比看书学的时间还长,真是不容易


 


- 作者: hardblack 2005年03月3日, 星期四 03:00  回复(4) |  引用(0) 加入博采

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的世界了!这下爽呆了。


- 作者: hardblack 2005年03月2日, 星期三 04:13  回复(1) |  引用(0) 加入博采

ALLEGRO学习开始

最近对ALLEGRO感兴趣,所以来写写,希望大家能来共同学习一下,共同进步

allegro是一个c/c++的游戏库,免费,开源,最初作者是shawn hargreaves,他支持DOS,UNIX(Linux, FreeBSD, Irix, Solaris, Darwin), Windows, QNX, BeOS 还有 MacOS X.提供了大量的图形,声音,玩家输入(键盘,鼠标,游戏手柄),定时器等函数。它支持定点和浮点
数学函数,3D函数,文件管理函数,数据文件压缩,和GUI等功能。

Cross-platform support

  • Unix (Linux, FreeBSD, Irix, Solaris, Darwin)
  • Windows (MSVC, MinGW, Cygwin, Borland)
  • BeOS
  • QNX
  • MacOS X
  • Dos (DJGPP, Watcom)

Graphic functions

  • Vector drawing:
    • pixels, lines, rectangles, circles, ellipses, arcs, Bezier splines
    • shape fill, with or without pattern
    • polygons: flat, Gouraud, textured (3D) and translucent
  • Sprites:
    • masked, compressed and compiled sprites
    • blitting, rotation, stretching, reduction, alpha blending, Gouraud shading
    • native support for BMP, LBM, PCX and TGA files (others supported with library extensions)
  • Color palettes:
    • color palette manipulation (reading, writing, conversion)
    • conversion of color formats RGB <-> HSV
  • Text:
    • support for different encodings and conversion, default is UTF-8
    • bitmap fonts (masking, colouring, alignment)
  • Misc:
    • draw directly on the screen or on any-size memory bitmaps
    • hardware scrolling and triple buffering (where available), mode-X split screen
    • animation functions for FLI/FLC format

Graphic drivers

  • Unix:
    • X Window, DGA, fbcon
    • SVGAlib
    • VBE/AF
    • mode-X
    • VGA
  • Windows:
    • DirectX (windowed or full-screen)
    • GDI
  • MacOS X:
    • Quartz (windowed or full-screen)
  • BeOS:
    • BWindowScreen
    • BDirectWindow
  • Dos:
    • VGA 13h mode
    • mode-X (23 VGA resolution plus unchained 640x400 extended mode)
    • SVGA modes in 8, 15, 16, 24 and 32 bits per pixel
    • linear VBE 2.0 framebuffer access
    • hardware acceleration through VBE/AF API if supported
    • additional graphic drivers through FreeBE/AF project
  • OpenGL:
    • The AllegroGL addon allows to use OpenGL graphics with Allegro.

Sound functions

  • Midi:
    • native MIDI music format support (with 64 simultaneous effects)
    • dynamic control/response to music note on, note off, main volume, pan, pitch bend, and program change
    • uses General MIDI patches
    • you can read in wavetable patches for MIDI files (SF2 and GUS patches)
  • Wave:
    • native support of WAV and VOC file formats (playing looped forward, backwards or bidirectional)
    • streaming audio
    • modify volume, pan, pitch, etc during play

Sound drivers

  • Unix:
    • OSS
    • ALSA (0.5/0.9/1.0)
    • ESD
    • aRts
    • JACK
    • SGI AL
  • Windows:
    • DirectSound
    • WaveOut
    • MIDI system drivers
  • MacOS X:
    • Core Audio
    • Sound Manager
    • Core Audio MIDI
    • QuickTime MIDI
  • Dos:
    • Adlib, SB, SB Pro, SB16, AWE32
    • MPU-401
    • ESS AudioDrive
    • Ensoniq Soundscape
    • Windows Sound System

 

Math functions

  • fixed point arithmetic and trigonometric routines
  • precalculated trigonometric tables
  • vector/matrix/quaternions 3d manipulation (translation, rotation, scaling, projection)

Misc

  • mouse, keyboard and joystick management
  • high resolution interrupt timers (resolution of 10, 5 or less ms depending on platform)
  • vertical retrace simulation
  • manipulate configuration files
  • manipulate compressed files in LZSS format
  • manipulate multi-object resource-like compressed datafiles
  • tool for creating datafiles (grabber)
  • simple GUI for dialogs and file selector

- 作者: hardblack 2005年03月1日, 星期二 23:40  回复(5) |  引用(0) 加入博采

先测试一下,呵呵
只是一个测试,没有什么其他的,哈哈
这样不知道怎么样,呵呵,也许效果很好,先测试一下

- 作者: hardblack 2005年03月1日, 星期二 04:19  回复(0) |  引用(0) 加入博采