当前位置:电玩世界  >  GBA  >  掌机学院  >  掌机开发

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

[ 时间:2004-12-31 04:05:00 | 来源:tangl_99 金点时空 | 收藏本文 ]

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,每个

共7页 上一页 1 2 3 4 5 6 7 下一页
编辑推荐Top10
本栏热门Top10
玩家热点Top10