def __init__(self, director, video_number, nextScene=None): super(Cutscene, self).__init__() self.director = director self.backscene = self.director.scene self.video_number = video_number self.videoDirectory = '../res/cutscenes/cutscene' + str( video_number) + '.mov' self.nextScene = nextScene print("loading: ", self.videoDirectory) self.skipped = False self.skippable = True # print self.vidLayer = VideoLayer(self.videoDirectory) back_button = Button(83, 638, '../res/main_left.png', self, self.back) back_button.setHasHighlight('../res/main_left_h.png') if self.skippable: # print("skippable") skip_button = Button(1187, 638, '../res/main_right.png', self, self.skip) skip_button.setHasHighlight('../res/main_right_h.png') self.add(skip_button, 1) self.add(back_button, 1) self.add(self.vidLayer, 0) self.vidLayer.play() th.start_new_thread(self.endChecker, (self.vidLayer.media_player, ))
def __init__(self, director, state): self.director = director self.state = state self.dna = GameBackground('../res/main_game_backgrounds/main.png') # self.bg = GameBackground('../res/main_game_backgrounds/background.png') super().__init__() self.save_dir = 'profiles/save.json' if self.state == 'newgame': self.profile = Profile() else: self.profile = Profile() if not os.path.exists( self.save_dir) else Profile.read_save(self.save_dir) self.popups = {} self.shown_popup = None # for name in os. self.popups['finish_helicase'] = cocos.sprite.Sprite( pyglet.image.load('../res/popups/finish_helicase.png'), position=(640, 360)) self.popups['fail_helicase'] = cocos.sprite.Sprite( pyglet.image.load('../res/popups/fail_helicase.png'), position=(640, 360)) self.popups['finish_pp'] = cocos.sprite.Sprite( pyglet.image.load('../res/popups/finish_pp.png'), position=(640, 360)) self.popups['fail_pp'] = cocos.sprite.Sprite( pyglet.image.load('../res/popups/fail_pp.png'), position=(640, 360)) self.popups['finish_ligase'] = cocos.sprite.Sprite( pyglet.image.load('../res/popups/finish_ligase.png'), position=(640, 360)) self.popups['fail_ligase'] = cocos.sprite.Sprite( pyglet.image.load('../res/popups/fail_ligase.png'), position=(640, 360)) for pop in self.popups.values(): self.add(pop, 4) pop.do(Hide()) self.case = self.profile.information['case'] self.pos = [600, 0] self.life_num = self.profile.get_lives() print('new life number', self.life_num) self.lives = cocos.sprite.Sprite( pyglet.image.load('../res/lives_' + str(self.life_num) + '.png'), position=(224, 637)) self.scroller = cocos.layer.ScrollingManager() self.MGLayer = MainGameLayer(self.director, self.scroller, self, self.case, self.profile, self.dna) back_button = Button(1199, 658, '../res/back_button.png', self, self.back) back_button.setHasHighlight('../res/back_button_h.png') left_button = Button(1050, 90, '../res/BUTTON LEFT.png', self, self.set_pos_left) left_button.setHasHighlight('../res/BUTTON LEFT HIGHLIGHTED.png') right_button = Button(1190, 90, '../res/BUTTON RIGHT.png', self, self.set_pos_right) right_button.setHasHighlight('../res/BUTTON RIGHT HIGHLIGHTED.png') self.add(back_button, z=1) self.add(left_button, z=1) self.add(right_button, z=1) self.add(self.lives, z=1) self.scroller.add(self.MGLayer, z=0) self.add(self.scroller, z=0) # initial view position self.scroller.set_focus(*self.pos)
class InventoryLayer(cocos.layer.ColorLayer): is_event_handler = False # init def __init__(self, scroller, target, width=1280, height=720): super().__init__(57, 67, 63, 0, width=width, height=height) picDir = '../res/inventory.png' self.scroller = scroller self.opacity = 0 self.target = target self.image = pyglet.image.load(picDir) self.spr = cocos.sprite.Sprite(self.image, position=(640, 360)) self.backButton = Button(1070, 627, '../res/inventory_back.png', self, self.hide) self.backButton.setHasHighlight('../res/inventory_back_h.png') self.highlight = False self.onHover = False self.highlight = True self.add(self.backButton, 1) self.add(self.spr, 0) self.spr.do(Hide()) self.backButton.spr.do(Hide()) # self.target.unshow() # setters/getters def setHasHighlight(self, picDir): self.highlight = True def setTarget(self, target): self.target = target # methods def on_mouse_motion(self, x, y, dx, dy): pass # x,y = self.scroller.screen_to_world(x,y) # if (not self.onHover) and self.target.contains(x,y): # self.onHover = True # if self.highlight: # self.opacity = 70 # # self.spr.do(Show()) # elif self.onHover and (not self.target.contains(x,y)): # self.onHover = False # if self.highlight: # self.opacity = 0 # self.spr.do(Hide()) def on_mouse_press(self, x, y, button, mod): # if self.onHover: # self.spr.do(Show()) pass def show(self): InventoryLayer.is_event_handler = True self.opacity = 70 self.spr.do(Show()) self.backButton.spr.do(Show()) def hide(self): InventoryLayer.is_event_handler = False self.opacity = 0 self.spr.do(Hide()) self.backButton.spr.do(Hide()) def setSprite(self, img): self.spr.image = img