def update_at_progress(self, cm, is_new): t_prog = 0.0 b_mod = 0.0 if self.progress < 0.5: # Heading towards max t_prog = self.progress * 2 sat = tween.easeInOutQuad(0, 1.0, t_prog) b_mod = tween.easeInOutQuad(0.2, 1.0, t_prog) else: # Heading from max towards min t_prog = (self.progress - 0.5) * 2 sat = tween.easeInOutQuad(1.0, 0, t_prog) b_mod = tween.easeInOutQuad(1.0, 0.2, t_prog) if is_new: self.hue = 0.0 if cm.modifiers[0]: self.hue = 0.66 if cm.modifiers[1]: self.hue = random.random() if cm.modifiers[2]: self.hue = master_hue # print "Use master_hue self.hue=%s" % self.hue b = 1.0 if cm.modifiers[4]: b = b_mod c = color.HSV(self.hue, sat, b) self.cells.set_cell(self.icicle, c)
def update_at_progress(self, cm, is_new): if self.progress < 0.5: # Heading towards max t_prog = self.progress * 2 sat = tween.easeInOutQuad(0, 1.0, t_prog) else: # Heading from max towards min t_prog = (self.progress - 0.5) * 2 sat = tween.easeInOutQuad(1.0, 0, t_prog) c = color.HSV(0.66, sat, 1.0) self.cells.set_cells(self.icicle, c)
def update_at_progress_in_step(self, progress, new_loop, loop_instance, step_progress, step_name): if new_loop: # Choose a new random location for the eyes to move to self.target_xy_pos = [ random.uniform(TARGET_ZONE[0][0], TARGET_ZONE[1][0]), random.uniform(TARGET_ZONE[0][1], TARGET_ZONE[1][1]) ] self.p_target = eyes.xy_to_pnt(self.target_xy_pos, True) self.b_target = eyes.xy_to_pnt(self.target_xy_pos, False) self.pe.clear() self.be.clear() c_pos = eyes.EYE_COLOR_WHITE if self.cm.modifiers[3]: c_pos = self.cm.chosen_colors_pos[0] if self.cm.modifiers[4]: c_pos = eyes.EYE_COLOR_RED self.pe.color_pos = c_pos self.be.color_pos = c_pos #print "Step %s %f" % (step_name, step_progress) if step_name == "setup": # Eyes off, move them to the target location self.pe.effect = self.closed self.be.effect = self.closed self.pe.pos = self.p_target self.be.pos = self.b_target return if step_name == "hey": # Strobe at the target # self.pe.effect = self.fast_strobe # self.be.effect = self.fast_strobe self.pe.pos = self.p_target self.be.pos = self.b_target return if step_name == "hey_off": # off self.pe.effect = self.closed self.be.effect = self.closed self.pe.pos = self.p_target self.be.pos = self.b_target return if step_name == "you": # Strobe at the target self.pe.effect = self.slow_strobe self.be.effect = self.slow_strobe self.pe.pos = self.p_target self.be.pos = self.b_target return if step_name == "you_off": # off self.pe.effect = self.closed self.be.effect = self.closed self.pe.pos = self.p_target self.be.pos = self.b_target return if step_name == "come": # Fade up with dimmer self.pe.effect = None self.be.effect = None self.pe.dimmer = step_progress self.be.dimmer = step_progress self.pe.pos = self.p_target self.be.pos = self.b_target return if step_name == "come_off": # Fade down with dimmer self.pe.effect = None self.be.effect = None self.pe.dimmer = 1.0 - step_progress self.be.dimmer = 1.0 - step_progress self.pe.pos = self.p_target self.be.pos = self.b_target return if step_name == "here": # Fade up with dimmer self.pe.effect = None self.be.effect = None self.pe.dimmer = step_progress self.be.dimmer = step_progress self.pe.pos = self.p_target self.be.pos = self.b_target return if step_name == "here_off": # Fade down with dimmer self.pe.effect = None self.be.effect = None self.pe.dimmer = 1.0 - step_progress self.be.dimmer = 1.0 - step_progress self.pe.pos = self.p_target self.be.pos = self.b_target return if step_name == "light_the_way": # L - shutter closed, position for beacon self.pe.effect = self.closed self.pe.pos = self.p_pos_beacon # R -Gobo, with gobo shake, traces a path back # to xy 0,0 xy_pos = [ tween.easeInOutQuad(self.target_xy_pos[0], 0, step_progress), tween.easeInOutQuad(self.target_xy_pos[1], 0, step_progress), ] self.be.effect = self.ltw_effect self.be.set_xy_pos(xy_pos, False) return if step_name == "beacon": # L - pointed straight up. Pulsing # R - pointed at 0, 0. Pulsing self.pe.effect = self.pulse_effect self.pe.pos = self.p_pos_beacon self.be.effect = self.pulse_effect self.be.pos = self.b_pos_beacon return