我觉得我已经尝试了一切,我越来越漂亮,现在再用厌倦了这....我是一个Python和pygame的小白努力使从头开始自己的比赛不看教程,但我不不知道如何解决这个问题,我一定错过了一些东西。不能让我的精灵碰撞?
这里是我的声明检查碰撞:
for c in cakes:
if pygame.sprite.collide_rect(jake, c) and c.eaten == False:
c.is_eaten()
score += 1
print score
c.draw()
c.update_pos()
所以游戏基本上是“赶上下降的事情” - 游戏。 我不知道我错过了...
这里是蛋糕类,它看起来几乎一样的播放器类:
class Cake(pygame.sprite.Sprite):
def load_image(self, image_name):
try:
image = pygame.image.load(image_name)
except pygame.error as message:
print ("Cannot load image: " + image_name)
raise SystemExit(message)
return image.convert_alpha()
def __init__(self, screen, x, y, speed):
self.image = self.load_image("cake.png")
self.screen = screen
self.x = x
self.y = y
self.rect = self.image.get_rect()
self.w, self.h = self.image.get_size()
self.rect.move(self.x, self.y)
self.rect.topleft = (self.x, self.y)
self.rect.bottomright = (self.x + self.w, self.y + self.h)
self.eaten = False
self.speed = speed
def draw(self):
if self.eaten == False:
self.screen.blit(self.image, (self.x, self.y))
def is_eaten(self):
self.eaten = True
def update_pos(self):
if self.eaten == False:
self.y += self.speed
我不是在找一个明确的或直接回答,只是在正确的方向推动,提前感谢。
谢谢你,我会保存这个答案,你一直很有帮助。 – Fatnomen 2015-03-02 15:49:45