def state_pulse(self, time): self.time = time self.text.text = str(time) for frame, total in Game.timer_ticks(30): self.text.scale = Game.lerp(1.2, 1.0, frame / total) yield yield self.switch_state("state_normal")
def execute(self, window): self.window = window self.text = Game.write_text(Game.screen_resolution[0] / 2, Game.screen_resolution[1] / 2, text = "d i a g o n e x", font = self.window.media.fnt['title_name'], alignment = ALIGN_CENTRE) self.text.z = -10 self.text.alpha = 0.0 self.window.media.mus['title'].sound.play(loops = -1) for frame, total in Game.timer_ticks(30): yield for frame, total in Game.timer_ticks(30): self.text.alpha = Game.lerp(0.0, 1.0, frame / total) yield self.text2 = Game.write_text(Game.screen_resolution[0] / 2, (Game.screen_resolution[1] / 2) + 200, text = "press start", font = self.window.media.fnt['title_press_start'], alignment = ALIGN_CENTRE) self.text2.z = -10 self.text2.alpha = 0.0 for frame, total in Game.timer_ticks(30): self.text2.alpha = Game.slerp(0.0, 1.0, frame / total) yield while True: if self.window.pressed_start(): self.window.media.sfx['pressstart'].sound.play() break yield for frame, total in Game.timer_ticks(20): self.text.alpha = Game.slerp(1.0, 0.0, frame / total) self.text2.alpha = Game.slerp(1.0, 0.0, frame / total) yield self.window.change_state(Window.STATE_SELECT_PLAYERS) self.destroy()
def execute(self, window): self.window = window self.time = self.parent.time self.text = Game.write_text((Game.screen_resolution[0] / 2), 30, font = self.window.media.fnt['timer'], text = str(self.time), alignment = ALIGN_CENTRE) self.text.z = -20 self.text.alpha = 0.0 self.text.scale_point = (self.text.text_image_size[0] / 2, self.text.text_image_size[1] / 2) for frame, total in Game.timer_ticks(30): self.text.alpha = Game.lerp(0.0, 1.0, frame / total) yield yield self.switch_state("state_normal")
def test_returns_correct_end_value(self): self.assertEquals(10.0, Game.lerp(5.0, 10.0, 1.0))
def test_returns_correct_start_value(self): self.assertEquals(5.0, Game.lerp(5.0, 10.0, 0.0))
def test_returns_correct_two_thirds_value(self): self.assertAlmostEquals(8.333, Game.lerp(5.0, 10.0, 1.0 / 3 * 2), 3)
def test_returns_correct_one_third_value(self): self.assertAlmostEquals(6.667, Game.lerp(5.0, 10.0, 1.0 / 3), 3)
def state_die(self): for frame, total in Game.timer_ticks(30): self.text.alpha = Game.lerp(1.0, 0.0, frame / total) yield self.text.destroy()