No se decirte exactamente el porqué pero a veces tengo que usar "object" para hacer estas funciones de show - hide
/////////////////////
// PopUpSnap
/////////////////////
::OBJECTS <- {
obg = fe.add_image ("black.png",0,0,flw, flh),
osbg = fe.add_image ("white.png", flx*0.249,fly*0.187,flw*0.501, flh*0.667),
osbg2 = fe.add_image("black.png", flx*0.252,fly*0.19,flw*0.496, flh*0.66),
osnap = fe.add_artwork("snap", flx*0.252,fly*0.019,flw*0.496, flh*0.66),
osoverview = fe.add_text("[Overview]", flx*0.05,fly*0.7,flw*0.9, flh*0.5),
oshadow = fe.add_image("oshadow.png", flx*0.252,fly*0.19,flw*0.496, flh*0.66),
oTitle = fe.add_text("[Title]",flx*0.01, fly*0, flw*0.26, flh*0.12),
}
OBJECTS.osnap.trigger = Transition.EndNavigation;
OBJECTS.osnap.preserve_aspect_ratio = true;
OBJECTS.osoverview.charsize = 18;
OBJECTS.osoverview.align = Align.Left;
OBJECTS.osoverview.word_wrap = true;
OBJECTS.osoverview.alpha = 255;
OBJECTS.oTitle.align = Align.Left;
OBJECTS.oTitle.word_wrap = true;
OBJECTS.oTitle.charsize = 24;
OBJECTS.obg.visible=false;
OBJECTS.osbg.visible=false;
OBJECTS.osbg2.visible=false;
OBJECTS.osnap.visible=false;
OBJECTS.osoverview.visible=false;
OBJECTS.oshadow.visible=false;
OBJECTS.oTitle.visible=false;
class displayPreview{
_trigger="Custom1";
constructor()
{
fe.add_signal_handler( this, "on_signal" )
_trigger=fe.get_config()["preview"].tolower();
}
function on_signal( signal )
{
if ( signal == _trigger )
{
local previewClick = fe.add_sound("previewClick.mp3")
previewClick.playing=true
display_preview();
return true;
}
return false;
}
}
displayPreview();
function display_preview()
{
if (OBJECTS.obg.visible == false) {
OBJECTS.obg.visible=true;
OBJECTS.osbg.visible=true;
OBJECTS.osbg2.visible=true;
OBJECTS.osnap.visible=true;
OBJECTS.osoverview.visible=true;
OBJECTS.oshadow.visible=true;
OBJECTS.oTitle.visible=true;
local shrink_ogb = {
property = "scale", start = 0.1 end = 1.0, time = 500 tween = Tween.Quad,
}
local alpha_ogb = {
property = "alpha", start = 0 end = 180, time = 1 time = 1000 tween = Tween.Quad,
}
local shrink_osbg = {
property = "scale", start = 0.1 end = 1.0, time = 1500 tween = Tween.Quad,
}
local move_osbg_y = {
property = "y", start = fly*2 end = fly*0.016, time = 300
}
local move_osbg2_y = {
property = "y", start = fly*2 end = fly*0.019, time = 300
}
local move_osnap_y = {
property = "y", start = fly*2 end = fly*0.019, time = 1000 tween = Tween.Quad,
}
local shrink_osnap = {
property = "scale", start = 1.4 end = 1.0, time = 1500 tween = Tween.Quad,
}
local move_osoverview_y = {
property = "y", start = fly*2 end = fly*0.63, time = 1000
}
local move_oshadow_y = {
property = "y", start = fly*2 end = fly*0.019, time = 300
}
local move_oTitle_y = {
property = "y", start = fly*2 end = fly*0.02, time = 1000 tween = Tween.Quad,
}
local move_oPreview_y = {
property = "y", start = fly*2 end = fly*0.165, time = 300
}
animation.add( PropertyAnimation( OBJECTS.obg, shrink_ogb ) );
animation.add( PropertyAnimation( OBJECTS.obg, alpha_ogb ) );
animation.add( PropertyAnimation( OBJECTS.osbg, shrink_osbg ) );
animation.add( PropertyAnimation( OBJECTS.osbg, move_osbg_y ) );
animation.add( PropertyAnimation( OBJECTS.osbg2, move_osbg2_y ) );
animation.add( PropertyAnimation( OBJECTS.osnap, shrink_osnap ) );
animation.add( PropertyAnimation( OBJECTS.osnap, move_osnap_y ) );
animation.add( PropertyAnimation( OBJECTS.osoverview, move_osoverview_y ) );
animation.add( PropertyAnimation( OBJECTS.oshadow, move_oshadow_y ) );
animation.add( PropertyAnimation( OBJECTS.oTitle, move_oTitle_y ) );
}
else if (OBJECTS.obg.visible == true) {
OBJECTS.obg.visible=false;
OBJECTS.osbg.visible=false;
OBJECTS.osbg2.visible=false;
OBJECTS.osnap.visible=false;
OBJECTS.osoverview.visible=false;
OBJECTS.oshadow.visible=false;
OBJECTS.oTitle.visible=false;
}
}
Esto lo tengo en el Layout , pero lo he despiezado para otras historias y suele funcionar mejor que "a pelo".
P.D. Hace un tiempo le pase yo una modificacion de su layout con el "cd" dando vueltas , creo que era esto lo que le puse , por si lo quereis añadir.
// Load image based up emulator
local system_art = fe.add_image("../../media/Jukebox/artist/[Extra]", flx*0, fly*0, flw, flh );
system_art.alpha=100;
system_art.preserve_aspect_ratio = true;
//cdart
//////////////////////////////////////
local cdart = fe.add_artwork("cdart", flx*0.1, fly*0.35 flw*0.45, flh*0.45);
cdart.preserve_aspect_ratio = true;
cdart.alpha = 255;
local cdart_rotation_onload = {
when = When.StartLayout|Transition.ToNewList ,property = "rotation", start = 0, end = 360, time = 3000, loop = true
}
local cdart_x_onload = {
when = When.StartLayout|Transition.ToNewList ,property = "x", start = flx*0.01, end = flx*0.1, time = 1500,
}
local cdart_rotation = {
when = Transition.EndNavigation ,property = "rotation", start = 0, end = 360, time = 3000, loop = true
}
local cdart_x = {
when = Transition.ToNewSelection ,property = "x", start = flx*0.01, end = flx*0.1, time = 1000,
}
animation.add( PropertyAnimation( cdart, cdart_rotation_onload ) );
animation.add( PropertyAnimation( cdart, cdart_x_onload ) );
animation.add( PropertyAnimation( cdart, cdart_rotation ) );
animation.add( PropertyAnimation( cdart, cdart_x ) );
//backbox
//////////////////////////////////////
local backbox = fe.add_artwork("backbox", flx*-0.05, fly*0.35 flw*0.45, flh*0.45);
backbox.preserve_aspect_ratio = true;
backbox.alpha = 255;