Я пытаюсь создать класс кнопок для своей игры, используя pygame.Но в классе кнопок я не могу вызывать методы, которые содержатся в самом классе.
Я новичок в классах, поэтому я могу упустить что-то важное, извините
Я пыталсядобавьте self в метод isHovering (), но он все еще не работает.
import pygame
class Button():
def __init__(self, pos, value, img, screen):
self.pos = pos
self.value = value
self.img = img
self.screen = screen
### Getters and Setters ###===============
### Get/Set Value : True/False ###
def setValue(self, value):
self.value = value
def getValue(self):
return self.value
### Get/Set Pos ###
def setPos(self, pos):
self.pos = pos
def getPos(self):
return self.pos
### Get/Set Img ###
def setImg(self, img):
self.img = img
def getImg(self):
return self.img
#==========================================
def isHovering(self):
pos = getPos()
imgRect = pygame.rect(pos[0], pos[1], 105, 105)
if imgRect.collidepoint(pygame.mouse.get_pos()):
return True
else:
return False
def update(self, screen):
if isHovering():
image = pygame.transform.scale(self.img(95, 95))
else:
image = pygame.transform.scale(self.img(105, 105))
screen.blit(image, self.pos)
Я думал, что когда в моем главном цикле вызывается update (screen), он вызывает isHovering () и возвращаетTrue или False, но вместо этого я получаю эту ошибку:
NameError: имя 'isHovering' не определено