【发布时间】:2014-02-16 09:42:56
【问题描述】:
我正在创建一个类,它将返回一个带有正方形的表面和如下所示的文本:
方块(当前)显示游戏中用户的颜色,文本是玩家姓名。在从一组相似表面计算位置后,我将在屏幕上blit 这些表面。
我能够轻松生成text 表面。我不想将屏幕表面传递给pygame.draw.rect 的类;而是单独创建矩形;合并矩形和文本表面,然后返回这个分组表面。我当前的类定义很简单:
from pygame.locals import *
from pygame import font as pyfont, event as pyevent, display as pydisplay
from sys import exit
class Info:
GRAY = ( 214, 171, 127 )
def __init__( self, name, colour ):
pyfont.init()
self.name = name
self.colour = colour
self.font = pyfont.Font( None, 36 )
def generate( self ):
text = self.font.render( self.name, True, self.GRAY )
# The rectangle surface to be drawn here
return text
【问题讨论】:
-
@jonrsharpe 什么都没有。如果我将屏幕表面作为参数传递给类,我可以创建矩形,但正如我在问题中提到的那样;我不想那样做。我想把所有的位置计算留到以后。我还查看了
subsurface函数;但同样,我必须在初始化课程之前计算我的放置位置。
标签: python pygame rectangles pygame-surface