gpt4 book ai didi

c - C 中的 Game Boy Advance Homebrew 图像问题

转载 作者:太空宇宙 更新时间:2023-11-04 04:43:16 24 4
gpt4 key购买 nike

我正在制作一款自制 gba 游戏只是为了好玩,我遇到了一个小问题,我可以在屏幕上绘制图像很好,而且我可以读取按键输入,期待我什么时候当用户按下映射到我正在使用的模拟器(Visual Boy Advanced)中的开始按钮的 ENTER 时尝试显示不同的图像没有任何反应,当我编译游戏时没有错误所以我不知道出了什么问题,请注意我才刚刚接触这个,我知道的不多,如果有人知道如何让它工作我会很高兴:D

这是我的代码:

typedef unsigned short u16; // two type definitions
typedef unsigned long u32;

#include "ppic.h"
#include "ui.h"
#include "keypad.h"

#define REG_DISPCNT *(u32*)0x4000000
#define MODE_4 0x4
#define BG2_ENABLE 0x400
u16* paletteMem = (u16*)0x5000000;
u16* videoBuffer = (u16*)0x6000000;

void PlotPixel(int x,int y, unsigned short int c)
{
videoBuffer[(y) *120 + (x)] = (c);
}

int main(void)
{
int x, y, blockX, blockY, loop;

REG_DISPCNT = MODE_4 | BG2_ENABLE;
for(loop = 0; loop < 256; loop++)
paletteMem[loop] = ppicPalette[loop];
while (1) // run forever
{
if(!((*KEYS) & KEY_START))
PlotPixel(x,y,uiData[y*120+x]);

for(y = 0; y < 160; y++)
{
for(x = 0; x < 120; x++)
{
PlotPixel(x,y,ppicData[y*120+x]);
}
}

}
return 0;
}

ui.h是我要显示的图片的头文件,ppic.h是我启动时显示的图片的头文件。

最佳答案

如果 if 语句中的条件为真,则不会遍历 xy 坐标,而是只获取一个像素放。此外,由于缺少 else,下面的循环(绘制 ppicData 的内容)的执行与条件无关;因此这个像素被覆盖。

关于c - C 中的 Game Boy Advance Homebrew 图像问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23823980/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com