[GBA教程]新增(非替换)NPC的行走图

[GBA教程]新增(非替换)NPC的行走图

以行走图mingdi(冥帝)为例。

在event_objects.h中添加mingdi的枚举值,并更新NUM_OBJ_EVENT_GFX和的OBJ_EVENT_PAL_TAG_DYNAMIC值。

#define OBJ_EVENT_GFX_MINGDI                     243
#define NUM_OBJ_EVENT_GFX                        244
#define OBJ_EVENT_PAL_TAG_MINGDI                  0x1124
#define OBJ_EVENT_PAL_TAG_DYNAMIC                 0x1125

在object_event_graphics.h文件中添加新的精灵数据定义,为mingdi创建图像和调色板引用。

const u32 gObjectEventPic_Mingdi[] = INCBIN_U32("graphics/object_events/pics/people/mingdi.4bpp");
const u16 gObjectEventPal_Mingdi[] = INCBIN_U16("graphics/object_events/pics/people/mingdi.gbapal");

在event_object_movement.c文件的sObjectEventSpritePalettes数组中添加mingdi的色板条目,以便游戏能够加载和使用这个色板。

{gObjectEventPal_Mingdi,                OBJ_EVENT_PAL_TAG_MINGDI},

 

在object_event_pic_tables.h文件中为mingdi创建图像表,使用标准的行走动画结构。

static const struct SpriteFrameImage sPicTable_Mingdi[] = {
    overworld_ascending_frames(gObjectEventPic_Mingdi, 2, 4),
};

在object_event_graphics_info.h文件的末尾,在那里添加新的图形信息结构gObjectEventGraphicsInfo_Mingdi

const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mingdi = {
    .tileTag = TAG_NONE,
    .paletteTag = OBJ_EVENT_PAL_TAG_MINGDI,
    .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE,
    .size = 256,
    .width = 16,
    .height = 32,
    .paletteSlot = PALSLOT_NPC_1,
    .shadowSize = SHADOW_SIZE_M,
    .inanimate = FALSE,
    .compressed = FALSE,
    .tracks = TRACKS_FOOT,
    .oam = &gObjectEventBaseOam_16x32,
    .subspriteTables = sOamTables_16x32,
    .anims = sAnimTable_Standard,
    .images = sPicTable_Mingdi,
    .affineAnims = gDummySpriteAffineAnimTable,
};

在object_event_graphics_info_pointers.h文件中添加mingdi的指针引用。

[OBJ_EVENT_GFX_MINGDI] =                   &gObjectEventGraphicsInfo_Mingdi,

在object_event_graphics_info_pointers.h文件中添加gObjectEventGraphicsInfo_Mingdi的外部声明。

extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mingdi;

在spritesheet_rules.mk添加编译规则

$(OBJEVENTGFXDIR)/people/mingdi.4bpp: %.4bpp: %.png
	$(GFX) $< $@ -mwidth 2 -mheight 4

 

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容