我想我还是不知道基维的位置。我有一个尺寸为(100,10)的吧台(hungerBar),我想把它放在窗户中间。该条将每秒更改其大小(-5,0)。然而,以我现在设置的方式,它的位置也随着大小的变化而变化。下面是部分代码。你知道吗
class HungerBar(Widget):
def hunger_dec(self):
if (self.size[0] > 0):
self.size[0] = self.size[0] - 5
def hunger_inc(self, increase):
if (self.size[0] + increase < 100):
self.size[0] = increase + self.size[0]
class ShootingGame(Widget):
hungerBar = HungerBar()
def __init__(self, **kwargs):
super(ShootingGame, self).__init__(**kwargs)
randX = random.choice([0.1, 0.2, 0.8, 0.9])
self.enemy = self.drawEnemy(randX)
Clock.schedule_interval(self.enemy.drawWalking, 1)
self.hungerBar = self.drawBar()
Clock.schedule_interval(self.hungerBar.hunger_dec, 1)
def drawBar(self):
bar = HungerBar()
self.add_widget(self.hungerBar)
return bar
class GameScreen(Screen):
def __init__(self, **kwargs):
super(GameScreen, self).__init__(**kwargs)
self.game = ShootingGame()
self.add_widget(self.game)
Clock.schedule_interval(self.game.update, 1.0 / 60.0)
sm = ScreenManager()
game_screen = GameScreen(name='game')
sm.add_widget(game_screen)
class ShootingApp(App):
def build(self):
return sm
if __name__ == '__main__':
ShootingApp().run()
kv文件:
<HungerBar>:
Color:
rgb: (0, 1, 1)
canvas:
Rectangle:
pos: root.width/2, 30
size: 100, 10
谢谢你!你知道吗
您定义了与
HungerBar
大小相关的位置:X
是宽度的一半。root
这里指的是顶层元素HungerBar
。你知道吗相关问题 更多 >
编程相关推荐