我pygame.rect.move()
用来在实例化时将按钮移动到某个位置。然后从存在的对象列表中调用菜单按钮以及每帧需要调用的所有函数。按钮不动。
矩形应该完全适合按钮。
是我的使用pygame.rect.move()
不正确吗?
这是课程:
class menuButton(mainMenu):
def setpos(self):
self.r = self.r.move(self.p)
def __init__(self,i,e,s,p, ai, ao,sa):
self.t = "Menu Button"
self.i = pygame.image.load(i)
self.r = self.i.get_rect()
self.e = e
self.ai = ai
self.ao = ao
self.p = p
self.a = 0
self.i.set_alpha(sa)
pygame.transform.scale(self.i,s)
objects.append(self)
print "%s has been instantiated." % (self.t)
def logic(self):
pass
def animations(self):
if self.ai == "FADE_IN":
if(self.i.get_alpha() < 255):
self.i.set_alpha(self.i.get_alpha() + 1)
def update(self):
self.r = self.i.get_rect()
r = True
for obj in objects:
if isinstance(self,type(obj)) == False:
r = False
if r == True:
if self.a == 0:
self.setpos()
print self.r
self.a += 1
self.logic()
self.animations()
screen.blit(self.i,self.r)
pygame.display.flip()
我没有在图像导入结束时使用 .convert() ,因为它会破坏图像。
我没有使用精灵,因为我想要更多的控制。
我还编写了测试程序,它似乎有效,并且我已经重写了主菜单按钮类 3 次。同样的问题。