-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscenes.py
More file actions
46 lines (37 loc) · 1.41 KB
/
scenes.py
File metadata and controls
46 lines (37 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import pygameui as ui
class LoadingScene(ui.Scene):
def __init__(self):
super().__init__()
label = ui.label.Label(self.frame, "Loading ...")
self.add_child(label)
class MapScene(ui.Scene):
def __init__(self, map):
super().__init__()
self.map = map
self.map.on_update_player.connect(self.update_player)
self.add_child(self.map)
self.user = {}
self.label = {}
id_to_frame = {
"1" : (0, 500, 250, 30),
"2" : (250, 500, 250, 30),
"3" : (0, 530, 250, 30),
"4" : (250, 530, 250, 30),
"5" : (0, 560, 250, 30),
"6" : (250, 560, 250, 30),
"7" : (0, 590, 250, 30),
"8" : (250, 590, 250, 30),
}
for id, frame in id_to_frame.items():
self.label[id] = ui.label.Label(ui.Rect(*id_to_frame[id]), "foo %s" % id)
self.add_child(self.label[id])
def update(self, dt):
for player in self.user.values():
self.label[player.id].text = "{} {} {}".format(player.id, player.name, player.points)
super().update(dt)
def update_player(self, player):
if player.name not in self.user:
pass
self.user[player.name] = player
self.label[player.id].text = "{} {} {}".format(player.id, player.name, player.points)
self.label[player.id].background_color = player.color