好的,所以我有一个包含我的图块集的图像。然后我将我的 PictureBox 用作我的“游戏屏幕”。代码所做的只是获取我的瓦片集(瓦片)的片段并将其放置在游戏屏幕上。
这是我的代码。
private void picMap_Click(object sender, EventArgs e)
{
//screenMain = picMap.CreateGraphics();
// Create image.
//gfxTiles = Image.FromFile(@Program.resourceMapFilePath + "poatiles.png");
// Create coordinates for upper-left corner of image.
int x = 0;
int y = 0;
// Create rectangle for source image.
Rectangle srcRect = new Rectangle(16, 16, 16, 16);
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw image to screen.
screenMain.DrawImage(gfxTiles, x, y, srcRect, units);
screenMain.DrawImage(gfxTiles, 16, 0, srcRect, units);
screenMain.DrawImage(gfxTiles, 32, 0, srcRect, units);
screenMain.DrawImage(gfxTiles, 16, 16, srcRect, units);
}
这是我的输出:
为什么每个“瓷砖”之间的空间存在(这是一个 2 像素的间隙)?我可以使用 ghetto rig 代码,但我计划使用代数以编程方式找出瓷砖需要去的地方等等,所以 ghetto rig 可以工作,但在整个游戏中这样做会很麻烦,至少,草率。