您现在的位置: 电玩巴士 >> GBA >> 掌机学院 >> 掌机开发 >> 文章正文

GBA探索日记(二):OBJ及OAM

OBJ就是指的一个个的精灵,或者说就是GBA中的小块小块的图片.它其实跟BG差不多.只是它要小一些.它也算个图层.比如GBA中的RPG游戏就喜欢把一个个的人物用OBJ来实现.这样方便控制他们的位置.当然,GBA探索日记(-)中也可以看到BG的控制其实也是很方便的.OBJBG的差别就是大小.

 

设置显示模式

如果你的程序里要用OBJ那么,

在设置显示模式的时候需要把DISP_OBJ_ONDISP_OBJ_CHAR_1D_MAP加进去

*(vu16 *)REG_DISPCNT = DISP_MODE_1 |  DISP_OBJ_ON | DISP_OBJ_CHAR_1D_MAP;

#define DISP_OBJ_CHAR_1D_MAP    0x0040      // OBJ Character Data 1D Mapping

#define DISP_OBJ_ON             0x1000      // OBJ ON

 

 

下面就直接来看看OBJGBA中怎么实现的.

首先要说明的就是OBJGBA中显示也是由一个个8x8的小图块拼成,BG一样.

共有下面12种大小.

0000: 8  x 8         1000: 8  x 16

0001: 16 x 16        1001: 8  x 32

0010: 32 x 32        1010: 16 x 32

0011: 64 x 64        1011: 32 x 64

0100: 16 x 8        

0101: 32 x 8        

0110: 32 x 16       

0111: 64 x 32       

OBJ的数据分三部分.

1.Character

它跟BG的数据格式是一样的,都是由8x8的小图块的图像数据.而且你也可以通过转换BG的工具来转换OBJCharacter.所以说BGOBJ的数据结构基本是一样的.不过所有的OBJ总共的Character不能超过32K.

256色的OBJ能有512Characters,每个

[1] [2] [3] [4] [5] [6] [7] 下一页

相关文章:
【编辑:admin】  【文章来源:tangl_99 金点时空】  【更新时间:2004-12-31 4:05:05】
巴士全站中的精华
24小时热点推荐
我们向您隆重推荐的内容