Python 可以在pygames中拉伸图像吗?
是否可以在pygame中使用事件来触发图像拉伸 比如说我有一个人,我希望他的眼睛像这样突出 当我按下一个按钮时,我正在使用Python 可以在pygames中拉伸图像吗?,python,pygame,Python,Pygame,是否可以在pygame中使用事件来触发图像拉伸 比如说我有一个人,我希望他的眼睛像这样突出 当我按下一个按钮时,我正在使用surface.blit(eyes=pygame.image.load('eyes'))作为眼睛 我可以像此链接中的图片一样拉伸眼睛图像吗?更好的方法是使用两个图像,一个用于实际图像,另一个用于拉伸眼睛。在需要时绘制第二个图像,而不是第一个图像 如上面的例子所示,我们获取不同姿势的图像(精灵),并在需要运动时播放它们 要开始并理解pygame,请从开始,并且有很好的API
surface.blit(eyes=pygame.image.load('eyes'))
作为眼睛
我可以像此链接中的图片一样拉伸眼睛图像吗?更好的方法是使用两个图像,一个用于实际图像,另一个用于拉伸眼睛。在需要时绘制第二个图像,而不是第一个图像 如上面的例子所示,我们获取不同姿势的图像(精灵),并在需要运动时播放它们
要开始并理解pygame,请从开始,并且有很好的API通过pygame处理精灵及其行为。更好的方法是使用两个图像,一个用于实际图像,另一个用于眼睛伸展的位置。在需要时绘制第二个图像,而不是第一个图像 如上面的例子所示,我们获取不同姿势的图像(精灵),并在需要运动时播放它们
要开始并理解pygame,请从开始,有很好的API通过pygame处理精灵及其行为。有一个解决方案可以让您将眼睛拉伸到所需的准确宽度,但这可能会使眼睛非常变形。。。(不管怎样,原始图像的眼睛还是很变形的。) 从上的Pygame文档: 比例(表面,(宽度,高度),表面=无)->表面 我们也使用图像。()所以用户不必自己获得高度 所以您可以这样做(包装在函数中):
这个问题有一个解决方案,可以让你把眼睛拉伸到你想要的准确宽度,但这可能会使眼睛非常变形。。。(不管怎样,原始图像的眼睛还是很变形的。) 从上的Pygame文档: 比例(表面,(宽度,高度),表面=无)->表面 我们也使用图像。()所以用户不必自己获得高度 所以您可以这样做(包装在函数中):
import pygame
from pygame.locals import *
screen = pygame.display.set_mode((540, 480))
runner1 = pygame.image.load('./runner1.jpg').convert()
runner1_rect = runner1.get_rect(center=(270, 240))
runner2 = pygame.image.load('./runner2.jpg').convert()
runner2_rect = runner2.get_rect(center=(270, 240))
screen.fill((0, 0, 0))
change = True
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
if event.type == MOUSEBUTTONDOWN:
screen.blit(runner2, runner2_rect)
pygame.display.update()
if event.type == KEYDOWN:
screen.blit(runner1, runner1_rect)
pygame.display.update()
def stretchEyes(image, newWidth):
return pygame.transform.scale(image, (image.get_height(), newWidth))
eyes = stretchEyes(eyes, image.get_width()*3) # Stretch to three times width
# Blitting takes in the top left position, so we don't need to do any maths here!
screen.blit(eyes, (x,y))