GBA探索日记(二)

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

设置显示模式
如果你的程序里要用OBJ那么,
在设置显示模式的时候需要把DISP_OBJ_ON和DISP_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


下面就直接来看看OBJ在GBA中怎么实现的.
首先要说明的就是OBJ在GBA中显示也是由一个个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的工具来转换OBJ的Character.所以说BG和OBJ的数据结构基本是一样的.不过所有的OBJ总共的Character不能超过32K.
256色的OBJ能有512个Characters,每个Characters占8*8=64bytes.而16色的Characters能有1024个.每个Character占8*8/2=32Bytes.似乎比一个BG的256个Character多?但是BG可以有多个,不同的BG可以有不同的Character,而所有OBJ只能共用这512个Charater.
2.Palette
调色板就不用说了,它跟BG一样,支持一个256色调色板或16个16色的调色板.
3.OAM
OAM就是OBJ Attribure Memory的缩写.它就是控制OBJ属性的数据部分.比如OBJ的位置,大小等数据部分就放在这里.每个OBJ的OAM占8个字节,OAM是从内存中07000000h到070003FFh,共1024=8*128,所以OAM总共能有128个.

如何创建一个OBJ呢?
前面我就说过通过转换BG的工具也可以用于转换OBJ.
以前转换BG我建议使用的是AgbLib里的bmp2map.exe,同样,转换OBJ也同样用bmp2map.exe这个工具.
比如我把Character Data放到sprite_gfx这个数组里,把Palette放到sprite_pal里面.(OBJ中没有Map Data,你的转换时可以把Map data也转换进来,只不过后面用不着)
然后在程序里写入:

DmaArrayCopy(3, sprite_gfx,OBJ_MODE1_VRAM,32);
DmaArrayCopy(3, sprite_pal,OBJ_PLTT,32);

把sprite_gfx,sprite_pal拷贝到指定内存中去.
这里又设计到OBJ_MODE1_VRAM和OBJ_PLTT两个内存地址
还是看看AgbLib中是怎么定义它们的吧.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《口袋妖怪》是一款非常受欢迎的游戏,其中的GBA版本也备受玩家喜爱。在开发和设计游戏过程中,贴图素材起着重要的作用。 首先,所谓贴图素材,是指游戏中角色、场景以及各种物体的图像素材。在《口袋妖怪》GBA版本中,贴图素材主要用于呈现游戏中的角色形象、游戏地图、各种宝可梦的外观等等。这些素材不仅需要精美的画面,还需要适合游戏风格和游戏设定。 口袋妖怪GBA贴图素材可以分为几个大类,包括角色贴图、地图贴图、物品贴图等。角色贴图主要用于展现游戏中的主人公、NPC角色和宝可梦的形象,每个角色都有自己独特的造型和特点,这些贴图素材体现了它们的外观特性。地图贴图则用于构建游戏中的各个场景和地点,包括城市、森林、洞穴等等,通过不同的贴图素材营造了各种不同的游戏环境。物品贴图则用于表现各种道具、草丛、建筑物等,给玩家提供更加真实丰富的游戏体验。 对于游戏开发者来说,贴图素材的选择和制作对游戏的整体品质非常重要。他们会通过对游戏画面和情节的整体规划,以及对角色性格和游戏世界观的把握,来选择合适的贴图素材。同时,他们也会与美术设计师密切合作,不断改进和优化贴图素材,以提高游戏的视觉效果和玩家的游戏体验。 总之,口袋妖怪GBA贴图素材起着非常重要的作用,它们不仅是游戏视觉的重要组成部分,还为角色和游戏世界构建提供了必要的支持。通过合理的选择和设计,这些贴图素材可以为玩家呈现更加精彩和绚丽的游戏世界。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值