Pygame - 一切似乎都在工作,但图像不会加载

时间:2016-01-23 09:13:01

标签: python pygame loading

我一直在创建一个简单的游戏,你可以移动角色,但即使没有错误信息,我的播放器图像也不会加载。请帮我看看我的代码。

select avg (v.visit_cost) as average_cost, s.st_fname, s.st_lname   
from      student s
inner join visitings v on s.st_id=v.st_id
group by s.st_id
having avg(v.amount_paid)>=500;

我刚刚开始在pygame中使用类,因此可能存在错误。任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:0)

你在错误的游戏中吸引玩家。

绘制背景后必须这样做。

# clear buffer
display.blit(background_img,(0,0))

# draw all objects
#player1.draw(display)
display.blit(player1.image, (player1.x, player1.y))   

# send buffer to video card (and video card draw it on monitor)
pygame.display.update()

-

不过:建议:

  • 使用类的CamelCase名称 - class Player
  • 不吸引player.update()
  • 创建player.draw(surface)方法
  • 使用pygame.Rect来保持玩家/物体的位置和大小,并使用它来绘制图像,检测碰撞。

# draw
blit(self.image, self.rect)

# check collision
self.rect.colliderect(enemy.rect)

更好地整理代码 - 在pygame.init()之前添加课程 - 例如simple templateother examples

答案 1 :(得分:0)

更正它,使其看起来像这样:

def update(self,pos):
        if pos != 0:
            self.x += pos
        display.blit(self.image,(self.x,self.y))
        pygame.display.update()

您的fps很大,因此将其更改为27,例如:

clock.tick(27)

但是您不需要。