我正在尝试制作超级马里奥兄弟的第一级,并且我正在增加xstart,这是图像的开始,速度恒定,因为马里奥向右移动但问题是每次马里奥继续比图像移动更快他的图像宽度增加了。
这是Bitmap的绘制
g.DrawImage(im,
new Rectangle(0, 0, this.Width, this.Height), //dest.
new Rectangle(xstart, 0, this.Width, this.Height), //src.
GraphicsUnit.Pixel);
我总是随着马里奥的运动增加xstart,我在这里看不到任何问题..
player.x += 5;
xstart += 5;
答案 0 :(得分:0)
我的猜测是你必须阅读https://msdn.microsoft.com/en-us/library/ms142040(v=vs.110).aspx
你似乎搞乱了参数。
也许您正在寻找类似的东西:
g.DrawImage(im,
new Rectangle(xstart, 0, xstart + im.Width, im.Height), //dest area in win.
new Rectangle(0, 0, im.Width, im.Height), //All the input img.
GraphicsUnit.Pixel);