举报

为什么运行后没有成功加载图片?

0

跟着B站上的课程做了个推箱子的程序,但是为什么运行后用initgraph()开出的窗口里没有加载我准备的图片全是黑色的啊?我是一个C语言小白,真的真的谢谢大佬们答疑解惑,谢谢谢谢谢谢

#include <iostream>
#include <algorithm>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <easyx.h>
IMAGE mat[6];
char file[50];
void load() 
{
	
	for (int i = 0; i < 6; i++)
	{
		sprintf_s(file, "mat%d.bmp", i);
		loadimage(&mat[i], file);
	}
}
void draw(int a[][10])
{
	for (int i = 0; i < 10; i++)
	{
		for (int j = 0; j < 10; j++)
		{
			int x = i * 64;
			int y = j * 64;
			putimage(x, y, mat + a[i][j]);
		}
	}
}
int main()
{
	int M = 0;
	initgraph(640,640);//创建窗口
	load();
	while (1) {
		show(a[M]);
		draw(a[M]);
		if (isGameover(a[M])) {
			M++;
			if (M >= 3) {
				printf("恭喜你通关了!!!");
				break;
			}
			printf("恭喜你过关了!!!\n");
			printf("按任意键进入下一关");
		}
		playGame(a[M]);
		system("cls");
	}
	
}
ava
梓晨

2023-12-8

0

现有条件无法判断。这个和很多因素有关,例如,图片的路径、代码对文件名的处理、文件权限、图片的格式、项目字符集等等。

所以通常情况下,代码不要这样一口气跟着敲出来,而是写一点验证一点。比如加载图片,先写个简单的程序,只包含图片加载,然后试试,没问题的话再往后写,这样可以排除代码的问题造成图片无法加载。

ava
慢羊羊

2023-12-9

技术讨论社区