Найти - Пользователи
Полная версия: помогите с ошибкой пожалуйста AttributeError: 'pygame.Surface' object has no attribute 'get'
Начало » Python для новичков » помогите с ошибкой пожалуйста AttributeError: 'pygame.Surface' object has no attribute 'get'
1 2
SemTimv12
впервые встречаюсь с этой ошибкой


Игра - комические защитники

space_game.py

import pygame
import sys
from gun import Gun


def run():

pygame.init()
screen = pygame.display.set_mode((1200, 800))
pygame.display.set_caption('Космические защитники')
bg_color = (0, 0, 0)
gun = Gun(screen)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()

screen.fill(bg_color)
gun.output()
pygame.display.flip()

run()

gun.py

import pygame

class Gun():

def __init__(self, screen):
‘инициализация пушки’

self.screen = screen
self.image = pygame.image.load(r'C:\Users\Home\PycharmProjects\pythonProject\game_space\images/file01.png')
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 output(self):
‘рисование пушки’
self.screen.blit(self.image, self.rect)

Ошибка:AttributeError: ‘pygame.Surface’ object has no attribute ‘get’

Помогите пожалуйста
AD0DE412
SemTimv12
Игра - комические защитники

space_game.py

 import pygame
import sys
from gun import Gun
def run():
    pygame.init()
    screen = pygame.display.set_mode((1200, 800))
    pygame.display.set_caption('Космические защитники')
    bg_color = (0, 0, 0)
    gun = Gun(screen)
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()
            screen.fill(bg_color)
            gun.output()
            pygame.display.flip()
run()
gun.py

 import pygame
class Gun():
    def __init__(self, screen):
        ‘инициализация пушки’
        self.screen = screen
        self.image = 
        pygame.image.load(r'C:\Users\Home\PycharmProjects\pythonProject\game_space\images/file01.png')
        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 output(self):
            ‘рисование пушки’
            self.screen.blit(self.image, self.rect)

Ошибка:AttributeError: ‘pygame.Surface’ object has no attribute ‘get’



Так пойдет?
FishHook
SemTimv12
Так пойдет?
сообщение об ошибке показывайте полностью
FishHook
хотя я уже кажется понял, что косяк вот тут
 self.screen_rect = screen.get.rect()
вот здесь же вы по другому писали
 self.rect = self.image.get_rect()
видите разницу?
SemTimv12
Traceback (most recent call last):
File "C:\Users\Home\PycharmProjects\pythonProject\game_space\space_game.py", line 22, in <module>
run()
File "C:\Users\Home\PycharmProjects\pythonProject\game_space\space_game.py", line 12, in run
gun = Gun(screen)
File "C:\Users\Home\PycharmProjects\pythonProject\game_space\gun.py", line 11, in __init__
self.screen_rect = screen.get.rect()
AttributeError: 'pygame.Surface' object has no attribute 'get'

Так?
SemTimv12
 self.rect = self.image.get_rect()
self.screen_rect = self.screen.get.rect()

Все равно выдает ошибку
 Traceback (most recent call last):
  File "C:\Users\Home\PycharmProjects\pythonProject\game_space\space_game.py", line 22, in <module>
    run()
  File "C:\Users\Home\PycharmProjects\pythonProject\game_space\space_game.py", line 12, in run
    gun = Gun(screen)
  File "C:\Users\Home\PycharmProjects\pythonProject\game_space\gun.py", line 11, in __init__
    self.screen_rect = self.screen.get.rect()
AttributeError: 'pygame.Surface' object has no attribute 'get'
FishHook
SemTimv12
ваше домашнее задание на сегодня, найти документацию к тому фреймворку который вы используете и конкретно pygame.Surface
py.user.next
SemTimv12
  
self.screen_rect = screen.get.rect()
Напиши там get_rect() .
SemTimv12
Я еще новичок в питоне и не понимаю некоторые вещи. Можете пожалуйста ответить на некоторые вопросы.

1 pyGame это по большей части библиотека или фреймворк?

2 Можно ли сказать что pyGame работает в программе как фреймворк?

3 В чем заключается моя ошибка? FishHook говорит поправить строку, а py.user.next говорит сделать как и было.

Извините если что то не правильно спросил, просто я только начинаю изучать программы.
Спасибо за помощь!



This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB