Dobra szanowni, odpowiedzi padają dobre pod kątem uproszczonego problemu. W takim razie zaprezentuje właściwy problem bo zdaje się że chcąc ułatwić, trudniłem współpracę.
Kopiuj
import pygame
pygame.init()
class Figura:
def __init__(self):
selfi.prostokat = pygame.Surface((100, 200)) # tworzy pustą płaszczyznę o wymiarach 100x200
selfi.prostokat.fill((255, 0, 0)) # wypełnia płaszczyznę kolorem (czerwonym)
def GetButton(self):
return selfi.prostokat # Zwraca nasz prostokąt 100x200 w kolorze czerwonym
ekran = pygame.display.set_mode((800,600)) # tworzy puste okno 800x600
# ekran ma metodę blit(pygame.Surface,(pozycja))
# chciałbym zrobi tak
Fig1 = Figura()
ekran.blit(Fig1,(100,100))
# zamiast tak
Fig2 = Figura()
ekran.blit(Fig2.GetButton(),(300,400)) # Fig2.GetButton() zwraca nasz prostokąt który jest typu pygame.Surface
ekran.display.flip() # wyświetla ekran i jego zawartość
Czyli ostatecznie chciałbym żeby obiekt klasy Figura wywołany zwracał wewnętrzny obiekt pygame.Surface