我正在制作游戏,我需要在特定图像区域内对象进行blit。我不想让我的表面搞砸这些图像。可能吗? (我正在使用pygame)
答案 0 :(得分:3)
将来会更好,如果你能解释一下你想要做些什么,因为它可以给你更多的答案:)
根据我的理解,你想将图像blit到另一张图像上:
要使此代码生效,请设置以下前提:
如果您遵循上述前提,我已经编写了以下代码:
import pygame
screen = pygame.display.set_mode([800, 800], 0, 32)
#initiates screen
image1 = pygame.image.load('testimage0.jpg')
#testimage0.jpg is loaded into the variable image1
image2 = pygame.image.load('testimage.png').convert_alpha()
#testimage.png is loaded into the variable image2
while True:
screen.fill([0, 0, 0])
#screen is filled with a black background
screen.blit(image1, [200, 200])
#here image1 is blitted onto screen at the coordinates (200,200)
image1.blit(image2, [0, 0])
#here image2 is blitted onto image1 at the coordinates (0,0) which starts at the upper left of image1
pygame.display.update()
#updates display, which you can just ignore
图像只是带有精灵或图片的表面。曲面的坐标系始终从左上角(0,0)开始,这就是为什么(0,0)的image1与屏幕的(0,0)不同。
我拍了一张该节目的照片并编辑了一些箭来解释我的观点:
希望这是一个帮助,如果你认为可以接受,请记住接受答案:)