所以我试着在Pygame中画一个简单的火炬图像。但问题是这个精灵和我所有的其他精灵都在10x10左右。所以我用比例尺实验性地画了这个:
import pygame, sys
class sprites:
class torch(pygame.sprite.Sprite):
def __init__(self, image_file, location):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load(image_file)
self.rect = self.image.get_rect()
self.rect.left, self.rect.top = location
self.image = pygame.transform.scale(self.image, ((100, 100)))
window = pygame.display.set_mode((300, 300))
width, height = window.get_size()
pygame.mouse.set_visible(True)
window.fill([0, 0, 0])
sprites.torch("torch.png", (50, 50))
pygame.display.flip()
while True:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
sys.exit()
我是pygame的新手,所以我不确定我做错了什么。另一个解决这个问题的办法是,如果我可以设置分辨率像100x100,但大小像500x500 提前谢谢各位! https://www.dropbox.com/s/38cy7a15jynes7c/torch.png
好吧,根据评论我没有画精灵,那我该怎么画呢?就像我说的,我是全新的,抱歉。你知道吗
从注释中可以看出,您的问题并不是缩放失败,而是代码实际上没有在任何地方显示您的sprite(缩放或其他)。你知道吗
如果是这样的话,那是因为你从来没有告诉皮加梅这么做。仅仅创建一个精灵实际上并不能绘制它。你知道吗
你真的应该通读这些教程,看看几个示例程序,而不是仅仅从参考文档中找出什么是必要的,什么不是必要的,什么时候,以什么顺序。你知道吗
基本思想是将} 的概述中对此进行了解释。你知道吗
Sprite
对象放入Group
对象中,然后在事件循环或帧速率循环中的某个地方,对每个Group
调用draw
方法,将window
传递给它。在^{在您的程序中,由于您实际上从不更新任何内容,只需呈现一个静态显示,然后
flip
它并永远等待按键,因此您应该能够只draw
一次:在许多类型的游戏中,将这样的静态对象} 文档并单击“搜索示例”,它将给出50个使用该方法的示例程序,您可以了解它们的组织方式。但是首先,我们来看看tutorials中真正基本的例子。你知道吗
add
本身添加到构造函数中的Group
是有意义的,反之亦然,在一些游戏中,甚至可以为静态对象创建一个特殊的组draw
本身进行构造。虽然这并不常见。再看一遍例子。如果您转到^{相关问题 更多 >
编程相关推荐