我正在尝试在pygame,Python 2.7中创建一个生存游戏。我正在使用面向课程的程序,但我不知道如何使用Surface
来制作树。是否有可以创建这种图像的功能?
这是我的代码:
class Tree(pygame.sprite.Sprite):
global green
global brown
def __init__(self):
super(Tree,self).__init__()
self.image=pygame.Surface([20, 20])
self.image.fill(green)
self.rect=self.image.get_rect()
答案 0 :(得分:2)
Surface允许您在屏幕上绘制和表示图像: https://www.pygame.org/docs/ref/surface.html http://www.cogsci.rpi.edu/~destem/gamedev/pygame.pdf
一旦有了更多信息,我会更新答案。你想画什么树? 它可以像绿色圆圈和棕色矩形树干一样简单,或者您需要精细的分形图像吗?
以下代码将为您提供一棵圣诞树:
def draw_a_tree(surface, leaf_size, (x,y), is_trunk=True):
if is_trunk:
rect = pygame.rect.Rect((x - 25, y - 30), (50,60))
pygame.draw.rect(surface, (102,68,34), rect)
draw_a_tree(surface, leaf_size, (x, y-30), False)
elif leaf_size <= 2:
return
else:
pygame.draw.polygon(surface, (0,200,0),((x-leaf_size/2,y),(x+leaf_size/2,y),(x,y-(2*leaf_size/3))))
draw_a_tree(surface, 3*leaf_size/4, (x, y-leaf_size/3), False)
答案 1 :(得分:0)
如果你想要一张树的普通图像,你可以使用blit:
image = pygame.image.load("tree.jpg")
screen = pygame.display.set_mode((500, 500))
screen.blit(image, (x1, y1))