我有一个小问题,它本身并不是什么大问题,但仍然困扰着我。考虑下面的代码。
import pygame
class vector:
def __init__(s, x, y):
s.x = int(x)
s.y = int(y)
s.t = (s.x, s.y)
def __add__(s, n):
return vector(s.x + n[0], s.y + n[1])
size = vector(10, 10)
pygame.Surface((size + (5, 5)).t)
将向量作为参数传递给 pygame.Surface 时,我必须使用“t”属性来访问存储在“size”中的元组。
有没有办法让它像这样简单?
pygame.Surface(size + (5, 5))
如果没有引用属性或方法,是否有返回值的魔术方法?
在 pygame 中,您可以定义一个像这样的向量v = pygame.math.vector2(10, 10)然后将该向量传递给像这样的表面 blit 函数someSurface.blit(sprite, v)并且不需要引用方法或属性来获取值,所以它似乎是可能的,虽然我猜 blit 函数可以将 vector2 作为参数处理是完全合理的?
谢谢你的时间。