#文件blank.py
import sys
import pygame
from setting import settings
import heroes
import game_functions as g_f
def run_game():
pygame.init()
setting=settings()
screen=pygame.display.set_mode((setting.width,setting.high))
chenping=heroes.teacher_chen(screen)
pygame.display.set_caption("CP VS ZWW")
while True:
g_f.check_event(chenping)
heroes.teacher_chen.update_place() #这里报错,说没有传递self
g_f.update_screen(setting,screen,chenping)
run_game()
#文件heroes.py
import pygame
class teacher_chen():
def __init__(self,screen):
self.screen=screen
self.image=pygame.image.load('photos/chenping.bmp')
self.screen_rect=screen.get_rect()
self.moving="pause"
self.rect=[self.screen_rect.centerx,self.screen_rect.centery]
def update_place(self):
if self.moving=='right':
teacher_chen.rect[0]+=1
if self.moving=='left':
teacher_chen.rect[0]-=1
if self.moving=='up':
teacher_chen.rect[1]-=1
if self.moving=='down':
teacher_chen.rect[1]+=1
def blit(self):
self.screen.blit(self.image,self.rect)
1.模块heroes中teacher_chen类中不要用teacher_chen.rect[0]+=1,用self.rect[0]+=1
2.模块blank中 heroes.teacher_chen.update_place()用chenping.update_place(),你前面的类没有实例化