百度空间 | 百度首页 
 
查看文章
 
[libnge2]psp/windows开发库正式版发布
2009-02-14 00:18

一 nge2特点
nge2(nge是not a game engine的递归缩写,nge第一版原为制作中国象棋psp所写,第二版得到了更全面的强化)
是psp/win开发的一个程序库,不是一个游戏引擎,设计思想是简单易用,用来做各个显示程序或者游戏引擎,
nge2追求的是性能,所以全部用的c函数写,而显示函数也分为各个性能要求,提供不同的显示函数。

nge2的设计就是让开发人员不需要用psp调试就能开发出psp的应用程序。就是说在windows下调试,在psp上运行。
大大降低了psp调试程序浪费的时间。

libnge2支持PSP1000,PSP2000的3xx以上版本

libnge2采用LGPL发布源代码。使用本库建议加上nge2的logo,见图片

画图性能:单张图片
图片                                效率

512*512*16                         450fps

512*512*32                         250fps

特点:

1 支持16位(RGBA5650 RGBA5551 RGBA4444)/32位(RGBA_8888)显示。

2 支持JPG,BMP(24,32位),PNG,TGA(24,32位)图片读取,并转化到上述显示模式。

3 支持HZK,GBK点阵字体,FreeType字体显示。

4 支持高效的图片缩放旋转,alpha混色效果。

5 多种显示函数,提供不同的性能。

6 直线,矩形,三角形,圆形等几何图形的绘制。

7 音频支持,用于播放声音,mp3,wav,可扩展

8 视频支持,用于播放动画,pmp支持

9 支持各种图像裁剪,例如J2ME2的SetClip函数

二 如何编译:

VC6
1 将include和lib设置成VC6的包含和库目录
2 将win32depends/include和win32depends/lib设置成VC6的包含和库目录
3 打开win32builds/libnge2.dsw编译即可


vs2003,vs2005,vs2008:
0 将libjpeg_vc7里的libjpeg.lib替换win32depends/lib下的vc6版本的libjpeg.lib
1 将include和lib设置成VS200x的包含和库目录看图vs2005_include.jpg,vs2005_lib.jpg
2 将win32depends/include和win32depends/lib设置成VS200x的包含和库目录
3 打开win32builds/libnge2.dsw编译转换选全是即可

//如果不做0会链接时出现下面
链接时会出现这个错误:
libjpeg.lib(jerror.obj) : error LNK2019: unresolved external symbol __iob referenced in function _output_message
//该错误主要是由于静态库在VC6编译而主程序在VC2005编译,大家用的CRT不同。解决办法,在含main函数的主文件里(例如test.cpp)开头代码中增加
#ifdef __cplusplus
extern "C"
#endif
FILE _iob[3] = {__iob_func()[0], __iob_func()[1], __iob_func()[2]};
上述方法也可以解决,但是每次新建一个文件都要替换这部分代码,还不如换lib


WINDOWS下默认按键对应
#define PSP_BUTTON_UP            SDLK_w
#define PSP_BUTTON_DOWN          SDLK_s
#define PSP_BUTTON_LEFT          SDLK_a
#define PSP_BUTTON_RIGHT         SDLK_d
#define PSP_BUTTON_TRIANGLE      SDLK_i
#define PSP_BUTTON_CIRCLE        SDLK_l
#define PSP_BUTTON_CROSS         SDLK_k
#define PSP_BUTTON_SQUARE        SDLK_j
#define PSP_BUTTON_LEFT_TRIGGER SDLK_e
#define PSP_BUTTON_RIGHT_TRIGGER SDLK_u
#define PSP_BUTTON_SELECT        SDLK_v
#define PSP_BUTTON_START         SDLK_b
#define PSP_BUTTON_HOME          SDLK_n
#define PSP_BUTTON_HOLD          SDLK_m


技术支持:
topoc组论坛:
http://www.iacger.com/bbs/forumdisplay.php?f=35
程序员论坛:
http://www.devpsp.com/
TOPOC组 QQ群:5126002(已满暂时不加人,请到上述论坛)
开发
newcreat
cooleyes(音频库支持)
TOPOC成员

源代码下载:

http://www.iacger.com/topoc/download/libnge2rc43.rar


类别:程序组 | 添加到搜藏 | 浏览() | 评论 (6)
 
最近读者:
 
网友评论:
1
2009-02-14 00:34 | 回复
终于出正式版了,试用试用! :) 幸苦了!
 
3
2009-02-14 15:53 | 回复
先clean下工程就行了
 
4
2009-02-14 21:31 | 回复
我发现问题是由于执行步骤0的原故.因为SRC目录下没有WIN目录,我估计是应该将libjpeg_vc7里的libjpeg.lib替换win32depends\lib下的对应文件.替换后就会报这个错. 但如果不做替换则会出现说明里说的错误. 是不是因为你用的是VS2005编译的libjpeg.lib呢?可不可以用VS2008编译一下?现在用VS2008的还是很多啊.
 
5
2009-02-15 16:39 | 回复
恩,是这个问题,你先clean下所有工程,应该可以解决的 2005和2008应该可以用那个lib的: 解决方法2:在含main函数的cpp里的开头加上 #ifdef __cplusplus extern "C" #endif FILE _iob[3] = {__iob_func()[0], __iob_func()[1], __iob_func()[2]};
 
6
2009-02-16 12:59 | 回复
现在重新下载就行了,jpeg那个已经重新更新了2005,2008都可用了
 
7
2009-07-30 14:41 | 回复
下载不了啊!
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu