我在网上找到的文档很模糊。我发现唯一一个很好的论坛是https://gbatemp.net/threads/ds-programming-for-newbies.322106/page-8#post-4445495。我按照屏幕上的代码,制作了一个精灵(16 x 16, 256 调色板)并编写了代码。精灵似乎没有显示,我得到的只是在我的物理 DSi 上顶部屏幕为黑色,底部屏幕为白色。Desmume 抛出“ROM 标头无效。对于提供的文件大小,设备大小已增加”。我错过了什么吗?因为我正在尝试为一个 15 岁的控制台编写代码,所以我真的找不到我缺少的东西,所以如果有人知道我做错了什么,请告诉我。nitrofiles 文件夹下的文件名为“stickman.img”和“stickman.pal”。这是我的代码:
#include <gl2d.h>
#include <nds.h>
#include <nf_lib.h>
#include <stdio.h>
int main(int argc, char **argv){
NF_Set2D(0, 0);
NF_SetRootFolder("NITROFS");
NF_InitSpriteBuffers();
NF_InitSpriteSys(0);
NF_LoadSpriteGfx("stickman", 0, 16, 16);
NF_LoadSpritePal("stickman", 0);
NF_VramSpriteGfx(0, 0, 0, false);
NF_VramSpritePal(0, 0, 0);
while(1) {
NF_SpriteOamSet(0);
swiWaitForVBlank();
oamUpdate(&oamMain);
}
return 0;
}