# Define the fireball effect # this consists of a colorshift that has changes to hue, saturation and intensity # the use of the OUT_CIRC shape is used to make most of the change happen # right away, then slowly complete the rest # the add shift take a start, end, duration, and shape fireball_duration = 2 fireball = ColorShift() # we don't want the effect to loop back, so we disable the default looping fireball.set_loop(None) # change from yello to red over the duration of the effect fireball.add_hue_shift(.13, 0, fireball_duration, shape=tween.OUT_CIRC) # at the beginning, start as white, and in the first 1/8th of the effect # fade from white to full current hue fireball.add_saturation_shift(0, 1, fireball_duration/8, shape=tween.OUT_CIRC) # keep full intensity over the first third of the effect fireball.add_intensity_shift(1, 1, fireball_duration/3) # then for the next two thirds, fade out fireball.add_intensity_shift(1, 0, (fireball_duration/3) * 2, shape=tween.OUT_CIRC) # add the effect to our single test element single.effects.append(fireball) show.add_element(single, network=dmx3) # now we create a chase of elements, and apply the effect to each element # the result is that the effect is painted over time chase = Chase(name='fireball streak') elementid = 0 for i in range(1, 300, 3): elementid += 1
# right away, then slowly complete the rest # the add shift take a start, end, duration, and shape fireball_duration = 2 fireball = ColorShift() # we don't want the effect to loop back, so we disable the default looping fireball.set_loop(None) # change from yello to red over the duration of the effect fireball.add_hue_shift(.13, 0, fireball_duration, shape=tween.OUT_CIRC) # at the beginning, start as white, and in the first 1/8th of the effect # fade from white to full current hue fireball.add_saturation_shift(0, 1, fireball_duration / 8, shape=tween.OUT_CIRC) # keep full intensity over the first third of the effect fireball.add_intensity_shift(1, 1, fireball_duration / 3) # then for the next two thirds, fade out fireball.add_intensity_shift(1, 0, (fireball_duration / 3) * 2, shape=tween.OUT_CIRC) # add the effect to our single test element single.effects.append(fireball) show.add_element(single, network=dmx3) # now we create a chase of elements, and apply the effect to each element # the result is that the effect is painted over time chase = Chase(name='fireball streak') elementid = 0