Quiero animar una shuflle list. Esta:
// List
if (my_config["wheel_type"] == "list")
{
fe.load_module("shuffle");
local list = Shuffle(10, "text", "[Title]");
list.slots[0].set_pos(flx*0.75, fly*0.17, flw*0.25, flh*0.042);
list.slots[0].set_rgb(R,G,B);
list.slots[0].charsize = font_list_size;
list.slots[0].align = my_align;
list.slots[1].set_pos(flx*0.75, fly*0.20, flw*0.25, flh*0.042);
list.slots[1].set_rgb(R,G,B);
list.slots[1].charsize = font_list_size;
list.slots[1].align = my_align;
list.slots[2].set_pos(flx*0.75, fly*0.23, flw*0.25, flh*0.042);
list.slots[2].set_rgb(R,G,B);
list.slots[2].charsize = font_list_size;
list.slots[2].align = my_align;
list.slots[3].set_pos(flx*0.75, fly*0.26, flw*0.25, flh*0.042);
list.slots[3].set_rgb(R,G,B);
list.slots[3].charsize = font_list_size;
list.slots[3].align = my_align;
list.slots[4].set_pos(flx*0.75, fly*0.29, flw*0.25, flh*0.042);
list.slots[4].set_rgb(R,G,B);
list.slots[4].charsize = font_list_size;
list.slots[4].align = my_align;
list.slots[5].set_pos(flx*0.75, fly*0.32, flw*0.25, flh*0.042);
list.slots[5].set_rgb(R,G,B);
list.slots[5].charsize = font_list_size;
list.slots[5].align = my_align;
list.slots[6].set_pos(flx*0.75, fly*0.35, flw*0.25, flh*0.042);
list.slots[6].set_rgb(R,G,B);
list.slots[6].charsize = font_list_size;
list.slots[6].align = my_align;
list.slots[7].set_pos(flx*0.75, fly*0.38, flw*0.25, flh*0.042);
list.slots[7].set_rgb(R,G,B);
list.slots[7].charsize = font_list_size;
list.slots[7].align = my_align;
list.slots[8].set_pos(flx*0.75, fly*0.41, flw*0.25, flh*0.042);
list.slots[8].set_rgb(R,G,B);
list.slots[8].charsize = font_list_size;
list.slots[8].align = my_align;
list.slots[9].set_pos(flx*0.75, fly*0.44, flw*0.25, flh*0.042);
list.slots[9].set_rgb(R,G,B);
list.slots[9].charsize = font_list_size;
list.slots[9].align = my_align;
class ShufflePow extends Shuffle
{
function select(slot)
{
slot.visible = true;
}
function deselect(slot)
{
slot.visible = false;
}
}
local my_pointer = my_config["set_marker_rgb"] + ".png";
local pow = ShufflePow(10, "image", "pointers/" + my_pointer);
pow.slots[0].set_pos(flx*0.7498, fly*0.18, flw*0.25, flh*0.026);
pow.slots[1].set_pos(flx*0.7498, fly*0.21, flw*0.25, flh*0.026);
pow.slots[2].set_pos(flx*0.7498, fly*0.24, flw*0.25, flh*0.026);
pow.slots[3].set_pos(flx*0.7498, fly*0.27, flw*0.25, flh*0.026);
pow.slots[4].set_pos(flx*0.7498, fly*0.30, flw*0.25, flh*0.026);
pow.slots[5].set_pos(flx*0.7498, fly*0.33, flw*0.25, flh*0.026);
pow.slots[6].set_pos(flx*0.7498, fly*0.36, flw*0.25, flh*0.026);
pow.slots[7].set_pos(flx*0.7498, fly*0.39, flw*0.25, flh*0.026);
pow.slots[8].set_pos(flx*0.7498, fly*0.42, flw*0.25, flh*0.026);
pow.slots[9].set_pos(flx*0.7498, fly*0.45, flw*0.25, flh*0.026);
// Sound
function fade_transitions(ttype, var, ttime) {
switch (ttype) {
case Transition.ToNewSelection:
case Transition.ToNewList:
local Wheelclick = fe.add_sound("pointers/clic.mp3")
Wheelclick.playing=true
break;
}
return false;
}
fe.add_transition_callback("fade_transitions");
}
Para animar un ListBox normal, uso objetos, como en este ejemplo, que la hace desaparecer a la derecha después de 5 segundos:
// Listbox
if (my_config["wheel_type"] == "listbox")
{
::OBJECTS <- {lbx = fe.add_listbox(flx*0.75, fly*0.2, flw*0.25, flh*0.8)}
OBJECTS.lbx.rows = 27;
OBJECTS.lbx.charsize = font_list_size;
OBJECTS.lbx.set_selbg_rgb(Rs,Gs,Bs);
OBJECTS.lbx.set_rgb(R,G,B);
OBJECTS.lbx.set_sel_rgb(R,G,B);
OBJECTS.lbx.sel_style = Style.Bold;
local my_delay = 5000;
local move_lbx1 = { when = Transition.ToNewSelection, property = "x", start = OBJECTS.lbx.x + OBJECTS.lbx.width, end = OBJECTS.lbx.x, time = 1 }
local move_lbx2 = { when = When.ToNewSelection, property = "x", start = OBJECTS.lbx.x, end = OBJECTS.lbx.x + OBJECTS.lbx.width, time = 595, delay=my_delay }
animation.add(PropertyAnimation(OBJECTS.lbx, move_lbx1));
animation.add(PropertyAnimation(OBJECTS.lbx, move_lbx2));
}
Quiero hacer lo mismo con la shuffle list, pero no sé cómo...
¿A alguien se le ocurre alguna idea?