我试图为从bgImages
创建的每个实例分配一个单独的函数,以便在调用instance.collisiontext
时,它调用该函数。我觉得我做错了什么。如果在构建中往下看,您可以看到一个示例,其中我创建了一个实例并将一个函数分配给collidetext
。你知道吗
collisiontext
方法的要点是调用分配给collidetext
的函数(对于每个实例,它将是不同的函数)。你知道吗
我做错什么了?你知道吗
另外,在为实例slom分配函数时,是否需要在“slumnotice”之后保留“()”?你知道吗
class BgImages(ButtonBehavior, Image):
def __init__(self, **kwargs):
super(Npcs, self).__init__(**kwargs)
self.collidetext=''
def collisiontext(self,**kwargs):
global collidetext
return collidetext()
class MainCharacter(Image):
def __init__(self, **kwargs):
super(MainCharacter, self).__init__(**kwargs)
self._keyboard = Window.request_keyboard(None, self)
if not self._keyboard:
return
self._keyboard.bind(on_key_down=self.on_keyboard_down)
self._keyboard.bind(on_key_up=self.on_keyboard_up)
elif keycode[1] == 'up':
for i in listofwidgets:
if i.collide_point(self.x,self.top):
self.y -=1
i.collisiontext()
class gameApp(App):
def build(self):
slum=BgImages(source='slum.png', collidetext=slumnotice())
listofwidgets=[]
listofwidgets.append(slum)
相当多。如果我纠正一下,你就知道我之后做了什么,那就容易多了:
这将取决于您是想使用
slumnotice
本身还是slumnotice()
的返回值。你知道吗相关问题 更多 >
编程相关推荐