def __init__(self): super(HelloScene, self).__init__() my_layer = ColorLayer(171, 75, 100, 1000) text = Label('Hello Everyone', font_name='Times New Roman', font_size=32, anchor_x='center', anchor_y='center') text.position = GameObj.my_director._window_virtual_width / 2, GameObj.my_director._window_virtual_height / 2 my_layer.add(text)
def __init__(self, player_score, player2_score): super(GameOver, self).__init__() gameover_layer = ColorLayer(0,0,0,255) size = director.get_window_size() game_over = Label("Game Over", (size[0] / 2,size[1] / 2), font_name = "David", font_size = 32) p1_score = Label("Player 1 score: " + str(player_score), (size[0] / 2,size[1] / 4), font_name = "David", font_size = 32) p2_score = Label("Player 2 score: " + str(player2_score), (size[0] / 2,size[1] / 6), font_name = "David", font_size = 32) gameover_layer.add(game_over) gameover_layer.add(p1_score) gameover_layer.add(p2_score) self.add(gameover_layer)
def __init__(self): super(TitleScene, self).__init__() my_layer = ColorLayer(171, 75, 100, 1000) text = Label('super dude', font_size=32, anchor_x='center', anchor_y='center') text.position = GameObj.my_director._window_virtual_width / 2, GameObj.my_director._window_virtual_height / 2 my_layer.add(text) my_layer.is_event_handler = True def new_on_key_press(self, key): GameObj.my_director.replace( FlipX3DTransition(GameScene(), duration=2)) my_layer.on_key_press = new_on_key_press self.add(my_layer)
class Dialogscene(BaseDialog): def __init__(self, text_list, text_source, map, w, h, info, size=200, callback=None, **kwargs): super().__init__(text_list, text_source) self.map = map self.w, self.h = w, h self.size = size self.callback = callback self.kwargs = kwargs self.info = info # dict of persons that stands for V or E # add background self.background = Sprite(map.scene, position=(w // 2, h // 2)) self.text_back = ColorLayer(0,0,200,255,w,h//3) self.add(self.background) self.add(self.text_back) # add img self.left = Sprite('ring.png', position=(w // 6, h // 2), opacity=0) self.right = Sprite('ring.png', position=(w * 5 // 6, h // 2), opacity=0) self.add(self.left) self.add(self.right) # add label self.label = Text(text=' ', position=(w // 6, h // 3), font_size=24) self.text_back.add(self.label) # add text self.text = Text(text=' ', position=(w // 2, h // 6), font_size=30) self.text_back.add(self.text) def excute(self): item = self.textsource[self.textlist[self.i]] super().excute() if 'Branch' in item.keys(): self.add(Branch(self.map, item['Branch'], self.callback)) director.window.remove_handlers(self) else: self.remove_layer() if item['Type'] is 'S': if item['Text'] is not None: self.text.element.text = item['Text'] if item['Left'] is not None: if item['Left'] is 'V': item['Left'] = self.info['V'].pic self.changeleft(item['Left']) if item['Right'] is not None: if item['Right'] is 'V': item['Right'] = self.info['V'].pic self.changeright(item['Right']) if item['Direction'] == 0: self.label.position = (self.w // 6, self.h // 3) else: self.label.position = (self.w * 5 // 6, self.h // 3) if item['Tag'] is not None: if item['Tag'] is 'V': self.label.element.text = self.info['V'].name else: self.label.element.text = item['Tag'] else: self.label.element.text = '' elif item['Type'] is 'N': if item['Text'] is not None: self.text.element.text = item['Text'] if item['Left'] is not None: if item['Left'] is 'V': item['Left'] = self.info['V'].pic self.changeleft(item['Left']) if item['Right'] is not None: if item['Right'] is 'V': item['Right'] = self.info['V'].pic self.changeright(item['Right']) else: self.source_error(item['Type']) self.return_layer() def remove_layer(self): self.remove(self.text_back) def return_layer(self): self.add(self.text_back) def changeleft(self, source): self.left.kill() if type(source) is str: self.left = Sprite(source, position=(self.w // 6, self.h // 2)) self.left.scale_x, self.left.scale_y = \ 480 / self.left.width, 640 / self.left.height else: self.left = Layer() pos1, pos2 = (300, self.h // 2), (640, self.h // 2) spr1, spr2 = Sprite(source[0], position=pos1), Sprite(source[1], position=pos2) spr1.scale_x, spr1.scale_y = 480 / spr1.width, 640 / spr1.height spr2.scale_x, spr2.scale_y = 480 / spr2.width, 640 / spr2.height self.left.add(spr1) self.left.add(spr2) self.add(self.left) def changeright(self, source): self.right.kill() if type(source) is str: self.right = Sprite(source, position=(self.w * 5 // 6, self.h // 2)) self.right.scale_x, self.right.scale_y = \ 480 / self.right.width, 640 / self.right.height else: self.right = Layer() pos1, pos2 = (self.w-640, self.h // 2), (self.w-300, self.h // 2) spr1, spr2 = Sprite(source[0], position=pos1), Sprite(source[1], position=pos2) spr1.scale_x, spr1.scale_y = 480 / spr1.width, 640 / spr1.height spr2.scale_x, spr2.scale_y = 480 / spr2.width, 640 / spr2.height self.right.add(spr1) self.right.add(spr2) self.add(self.right) def exit(self): director.pop() if self.callback: self.callback.__call__(**self.kwargs)