请问为何会出现centerx"has no attribute"的问题

新手上路,请多包涵

题目描述

把飞船放在底部中间的代码

题目来源及自己的思路

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

文件一(主体:aline_invasion.py

import sys
import pygame

from settings import Settings
from ship import Ship

def run_game():

pygame.init()
ai_settings = Settings()
screen = pygame.display.set_mode(
    (ai_settings.screen_width,ai_settings.screen_height))
pygame.display.set_caption('Alien Invasion')

ship = Ship(screen)

while True:

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()

    screen.fill(ai_settings.bg_color)
    ship.blitme()

    pygame.display.flip()

run_game()
文件二:
import pygame

class Ship():

def __init__(self,screen):
    #初始化飞船及其位置
    self.screen = screen

    #加载飞船图像并获得其外接矩形
    self.image = pygame.image.load('C:\\Users\\zx\\Desktop\\python程序港\\aline invasion\\images\\ship.bmp')
    self.rect = self.image.get_rect()
    self.screen_rect = screen.get_rect

    #将每艘飞船放在屏幕底部中央
    self.rect.centerx = self.screen_rect.centerx
    self.rect.bottom = self.screen_rect.bottom

def blitme(self):
    #在指定位置绘制飞船
    self.screen.blit(self.image,self.rect)

你期待的结果是什么?实际看到的错误信息又是什么?

错误信息:AttributeError: 'builtin_function_or_method' object has no attribute 'centerx'

阅读 3.2k
1 个回答
新手上路,请多包涵

已经解决了,不用劳烦诸位了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题