Autor Tema: Desplazamiento Wheels  (Leído 3159 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Hackerman

  • Usuarios normales
  • *
  • Mensajes: 33
  • Gracias 1
  • Pais: Gotham
  • Iniciales nick: RGE
Desplazamiento Wheels
« en: Agosto 14, 2021, 11:12:23 am »
Advertisement
A ver si me podéis ayudar con esto por que no doy con el código para crearlo o donde ponerlo o como (cosas de noob), etc...Yo quiero conseguir un desplazamiento como se hace con el módulo animate, pero darle ese movimiento a las wheels o rueda. Yo tengo las wheels puestas en horizontal y quiero conseguir un efecto de movimiento que cuando comience AM aparezcan desde la parte baja de la pantalla hasta donde las tengo puesta ahora, vamos en el centro, un desplazamiento vertical (ojo no confundir con desvanecer). Ese efecto se lo he aplicado al background o fondo del layout con el modulo animate (aparece desde la parte baja de la pantalla hasta ocuparla toda) pero al intentar hacer lo mismo con las wheels pues no funciona. Lo he intentado de varias formas pero mi conocimiento es muy limitado con estos códigos :(. Os paso el código y el archivo con el layout que llevo hasta ahora a ver si me dais alguna idea como hacerlo o si tengo algo mal puesto pues también me lo decís. Querría preguntaros varias cosas más pero ya lo pondré en otro post. https://mega.nz/file/arYHTCBC#h4t5G8eX-fh71ZXj1E1ke0ShArDlJbA3g7mbyRDdsFQ
Código: [Seleccionar]
//
// Mi Layout
//

class UserConfig
{

}
local my_config = fe.get_config();

//Main Screen
local flx = fe.layout.width;
local fly = fe.layout.height;
local flw = fe.layout.width;
local flh = fe.layout.height;

/////////////////////////////////////////////////////////
//
// Global variables
//
///////////////////////////////////////////////////////

//modules
fe.load_module( "conveyor_helper");
fe.load_module("animate");


//background
local bg = fe.add_image("infinito.jpg" 0, 0, flw, flh);                 //Fondo del layout imagen video o gif y su posicion en pantalla


//background move
local bg_rise_cfg = {                                             //rise es el efecto de la animacion hay muchas:fall,bottom,etc
    when = When.StartLayout,                                      //Cuando se muestra la animacion
    when = Transition.ToNewList,                                  //Tipo de transicion
    property = "position",                                        //Propiedad hay varios tipos como rise segun la propiedad diferente codigo
start = { x = 0, y = "1080" },                                //Donde comienza la animacion posicion x e y
    end = { x = 0, y = "0" },                                     //Donde finaliza la animacion posicion x e y
    time = 350                                                    //duracion antes que se muestre
delay = 0                                                     //la velocidad a la que se muestra
tween = Tween.Linear,                                         //tween es otro tipo de efecto este caso en linea
}


animation.add( PropertyAnimation( bg, bg_rise_cfg ) );


//system bar
local snap = fe.add_artwork( "bg.png", 0, 691, 1920, 119 );


//system bar move
local snap_rise_cfg = {
    when = When.StartLayout,
    when = Transition.ToNewList,
    property = "position",
start = { x = 0, y = "1080" },
    end = { x = 0, y = "491" },
    time = 350
delay = 0
tween = Tween.Linear,
}


animation.add( PropertyAnimation( snap, snap_rise_cfg ) );

////////////////////////////////////////////////////////////////////////////////////////////
// Wheel and Position //
local hList = MyGameList();
{
// ----------- General List Options -----------
hList.type = ch.Linear_Horizontal; // OPTIONS: ch.Spinwheel / ch.Linear_Vertical / ch.Linear_Horizontal
hList.bend.direction = ch.Left;  // OPTIONS: ch.Left / ch.Right
hList.x = -1854;     // En ""ch.Left" cuanto menor es el numero mas se desplaza a izquierda y al contrario / en ch.Right funcionara al reves
hList.y = 602; // Cuanto menor es el numero mas arriba se desplaza
hList.width = fe.layout.width + 1920            // OPTIONS: linear game list total width in pixels
hList.height = 0;                 // OPTIONS: linear list's height in pixels
hList.ms_speed = 400; // Cuanto mayor es el numero mas suave/lento se desplaza
       
// ----------- Linear List options -----------
hList.linear.padding = 130;                     // the amount of padding in pixels between each gamelist item

// ----------- List Item  Options -----------
hList.item.count = 10; // Numero de wheels/artwork que aparecen en pantalla
hList.item.sizeScaling.low = 0.58; // Tamaño de la parte derecha de las wheels
hList.item.sizeScaling.high = 0.58; // Tamaño de la parte izquierda de las wheels
hList.item.sizeScaling.currentlySelected = 0.70;    // Tamaño de la parte central de las wheels
hList.item.alphaScaling.low = 90; // Opacidad de la parte derecha 0-255
hList.item.alphaScaling.high = 90;     // Opacidad de la parte izquierda 0-255
hList.item.alphaScaling.currentlySelected = 255; // Opacidad de la parte central 0-255
hList.item.height = 156; // Altura de cada elemento de gameList en píxeles
hList.item.width = 434;     // Anchura de cada elemento de gameList en píxeles

// ----------- List Item Content: User Defined Artwork -----------
hList.artwork.type = "wheel"; // Nombre de la carpeta que quieres que se muestre/snap/boxart/wheel/flyer/etc
hList.artwork.preserveAspect = true; // OPTIONS: true / false
hList.show();                                  // Muestra la lista horizontal



///////////////////////////////////////



Desconectado empardopo

  • Admin
  • *
  • Mensajes: 21728
  • Gracias 761
  • Espero mejorar al KungFu Master!
    • Mi canal de Youtube
  • Ciudad: Norte de África
  • Pais: Escoña
  • Iniciales nick: EPP
Re: Desplazamiento Wheels
« Respuesta #1 en: Agosto 16, 2021, 12:17:38 pm »
A ver si me podéis ayudar con esto por que no doy con el código para crearlo o donde ponerlo o como (cosas de noob), etc...Yo quiero conseguir un desplazamiento como se hace con el módulo animate, pero darle ese movimiento a las wheels o rueda. Yo tengo las wheels puestas en horizontal y quiero conseguir un efecto de movimiento que cuando comience AM aparezcan desde la parte baja de la pantalla hasta donde las tengo puesta ahora, vamos en el centro, un desplazamiento vertical (ojo no confundir con desvanecer). Ese efecto se lo he aplicado al background o fondo del layout con el modulo animate (aparece desde la parte baja de la pantalla hasta ocuparla toda) pero al intentar hacer lo mismo con las wheels pues no funciona. Lo he intentado de varias formas pero mi conocimiento es muy limitado con estos códigos :(. Os paso el código y el archivo con el layout que llevo hasta ahora a ver si me dais alguna idea como hacerlo o si tengo algo mal puesto pues también me lo decís. Querría preguntaros varias cosas más pero ya lo pondré en otro post. https://mega.nz/file/arYHTCBC#h4t5G8eX-fh71ZXj1E1ke0ShArDlJbA3g7mbyRDdsFQ
Código: [Seleccionar]
//
// Mi Layout
//

class UserConfig
{

}
local my_config = fe.get_config();

//Main Screen
local flx = fe.layout.width;
local fly = fe.layout.height;
local flw = fe.layout.width;
local flh = fe.layout.height;

/////////////////////////////////////////////////////////
//
// Global variables
//
///////////////////////////////////////////////////////

//modules
fe.load_module( "conveyor_helper");
fe.load_module("animate");


//background
local bg = fe.add_image("infinito.jpg" 0, 0, flw, flh);                 //Fondo del layout imagen video o gif y su posicion en pantalla


//background move
local bg_rise_cfg = {                                             //rise es el efecto de la animacion hay muchas:fall,bottom,etc
    when = When.StartLayout,                                      //Cuando se muestra la animacion
    when = Transition.ToNewList,                                  //Tipo de transicion
    property = "position",                                        //Propiedad hay varios tipos como rise segun la propiedad diferente codigo
start = { x = 0, y = "1080" },                                //Donde comienza la animacion posicion x e y
    end = { x = 0, y = "0" },                                     //Donde finaliza la animacion posicion x e y
    time = 350                                                    //duracion antes que se muestre
delay = 0                                                     //la velocidad a la que se muestra
tween = Tween.Linear,                                         //tween es otro tipo de efecto este caso en linea
}


animation.add( PropertyAnimation( bg, bg_rise_cfg ) );


//system bar
local snap = fe.add_artwork( "bg.png", 0, 691, 1920, 119 );


//system bar move
local snap_rise_cfg = {
    when = When.StartLayout,
    when = Transition.ToNewList,
    property = "position",
start = { x = 0, y = "1080" },
    end = { x = 0, y = "491" },
    time = 350
delay = 0
tween = Tween.Linear,
}


animation.add( PropertyAnimation( snap, snap_rise_cfg ) );

////////////////////////////////////////////////////////////////////////////////////////////
// Wheel and Position //
local hList = MyGameList();
{
// ----------- General List Options -----------
hList.type = ch.Linear_Horizontal; // OPTIONS: ch.Spinwheel / ch.Linear_Vertical / ch.Linear_Horizontal
hList.bend.direction = ch.Left;  // OPTIONS: ch.Left / ch.Right
hList.x = -1854;     // En ""ch.Left" cuanto menor es el numero mas se desplaza a izquierda y al contrario / en ch.Right funcionara al reves
hList.y = 602; // Cuanto menor es el numero mas arriba se desplaza
hList.width = fe.layout.width + 1920            // OPTIONS: linear game list total width in pixels
hList.height = 0;                 // OPTIONS: linear list's height in pixels
hList.ms_speed = 400; // Cuanto mayor es el numero mas suave/lento se desplaza
       
// ----------- Linear List options -----------
hList.linear.padding = 130;                     // the amount of padding in pixels between each gamelist item

// ----------- List Item  Options -----------
hList.item.count = 10; // Numero de wheels/artwork que aparecen en pantalla
hList.item.sizeScaling.low = 0.58; // Tamaño de la parte derecha de las wheels
hList.item.sizeScaling.high = 0.58; // Tamaño de la parte izquierda de las wheels
hList.item.sizeScaling.currentlySelected = 0.70;    // Tamaño de la parte central de las wheels
hList.item.alphaScaling.low = 90; // Opacidad de la parte derecha 0-255
hList.item.alphaScaling.high = 90;     // Opacidad de la parte izquierda 0-255
hList.item.alphaScaling.currentlySelected = 255; // Opacidad de la parte central 0-255
hList.item.height = 156; // Altura de cada elemento de gameList en píxeles
hList.item.width = 434;     // Anchura de cada elemento de gameList en píxeles

// ----------- List Item Content: User Defined Artwork -----------
hList.artwork.type = "wheel"; // Nombre de la carpeta que quieres que se muestre/snap/boxart/wheel/flyer/etc
hList.artwork.preserveAspect = true; // OPTIONS: true / false
hList.show();                                  // Muestra la lista horizontal



///////////////////////////////////////

A ver si se pasa algún crack del AM aunque son también malas fechas, jeje!

Por cierto, tendrías algún video o algo visual de lo que quieres hacer porque me estoy haciendo mayor y sinceramente no me he enterado del todo ...

Desconectado machiminax

  • VIP
  • *
  • Mensajes: 1849
  • Gracias 112
  • Ciudad: indefinida
  • Pais: desconocido
Re: Desplazamiento Wheels
« Respuesta #2 en: Agosto 16, 2021, 04:40:31 pm »
https://arcadespain.info/Foro/index.php?topic=6334.0

Me parece que quiere hacer algo parecido a esto.

UPDATE:

Creo que iotero usa el carrier module
http://forum.attractmode.org/index.php?topic=1517.0
https://github.com/oomek/AttractMode-Carrier
Tu usas conveyor_helper que incluye la opcion de fade out pero no veo por ningun lado el  aplicarle desplazamiento.

Código: [Seleccionar]
2017.11.19
- [FEATURE]: added the ability to fade the wheel after navigating use: fade_after_nav, fade_delay, fade_selected and fade_speed


UPDATE2:No veo el layout de iotero para descargar, si no publica el codigo aqui tienes mas  menos como hacer el movimiento de las wheels.

http://forum.attractmode.org/index.php?topic=3778.30

Citar
The wheel moving in and out code was based on what I saw in the ioflat theme by iOtero from here http://forum.attractmode.org/index.php?topic=2481.0
If you look in the ioflat games layout.nut file the particular code are lines 895 through to 898.
Which was a modification based on the code in the silky theme by Oomek here http://forum.attractmode.org/index.php?topic=1517.0
layout.nut lines 112 through to 122.
So, it is using the property move function of the animate module.


« Última modificación: Agosto 16, 2021, 07:21:49 pm por machiminax »

Desconectado Hackerman

  • Usuarios normales
  • *
  • Mensajes: 33
  • Gracias 1
  • Pais: Gotham
  • Iniciales nick: RGE
Re: Desplazamiento Wheels
« Respuesta #3 en: Agosto 17, 2021, 01:01:04 pm »
 ;D Si la verdad ya me imagine que por estas fechas es dificil que contesten muchos pero bueno ya llegara la solucion.
Citar
Por cierto, tendrías algún video o algo visual de lo que quieres hacer porque me estoy haciendo mayor y sinceramente no me he enterado del todo ...
A ver en mi layout tengo las wheels en horizontal en lugal de vertical tipo hyperspin, y lo que queria es añadirle un desplazamiento vertical hacia arriba al comienzo del layout, osea cuando aparece el menu principal. No tengo ningun video subido pero vamos si descargas el enlace ya ves a lo que me refiero. Es el mismo desplazamiento que le he dado al background pero aplicandolo a las wheeels de sistemas.
Citar
Creo que iotero usa el carrier module
Si pero lo he intentado con ese modulo pero no consigo hacer todo lo que quisiera que con el modulo animate he conseguido mas o menos, pero vamos eso es otro post que pondre por que ya seria alargar demsiado y liarnos. ;D
El de iOtero ya lo tengo e intentado adaptarlo al mio pero no hace nada o se traba, ya que no se que linea poner o donde, que quitar, etc...El hace ese efecto pero a la inversa, osea las wheels las tiene en vertical y cuando pasan 5seg mas o menos sin tocar nada desaparecen por la derecha. Aqui te dejo el codigo, hecho por el, y el enlace al cual lo menciona.
https://arcadespain.info/Foro/index.php?topic=6303.0
Código: [Seleccionar]
// Wheel Move
if(my_config["set_hide"] == "move")
{
if(my_delay > 0 && (my_selector == "horizontal wheel"))
{

function wheel_a_move_transition(ttype, var, ttime)
{
if(ttype == Transition.ToNewSelection || ttype == Transition.ToNewList)
{
first_tick = -1;
}
}
fe.add_transition_callback("wheel_a_move_transition");

function wheel_a_move(ttime)
{
if(first_tick == -1)
{
stop_moving = false;
}

if(!stop_moving)
{
local elapsed = 0;

if(first_tick > 0)
{
elapsed = ttime - first_tick - my_delay;
}

local count = conveyor.m_objs.len();

for(local i=0; i < count; i++)
{
if(elapsed > 0)
{
if(i == count/2)
{
conveyor.m_objs[i].x = ((flx2) * (my_delay + elapsed)) / my_delay;
}
else
{
conveyor.m_objs[i].x = ((flx1) * (my_delay + elapsed)) / my_delay;
}
}
}

if(elapsed > my_delay)
{
stop_moving = true;
}

if(first_tick == -1)
{
first_tick = ttime;
}
}
}
fe.add_ticks_callback("wheel_a_move");


if(my_delay > 0 && (my_selector == "arc wheel"))
{
local flxr = flx*0.484;

function wheel_a_move_transition(ttype, var, ttime)
{
if(ttype == Transition.ToNewSelection || ttype == Transition.ToNewList)
{
first_tick = -1;
}
}
fe.add_transition_callback("wheel_a_move_transition");

function wheel_a_move(ttime)
{
if(first_tick == -1)
{
stop_moving = false;
}

if(!stop_moving)
{
local elapsed = 0;

if(first_tick > 0)
{
elapsed = ttime - first_tick - my_delay;
}

local count = conveyor.m_objs.len();

for(local i=0; i < count; i++)
{

if(elapsed > 0 && (my_selector == " wheel"))
{
switch(i)
{
case 0:
conveyor.m_objs[i].x = (((flxr*1.0479) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 1:                                                                     
conveyor.m_objs[i].x = (((flxr*0.9526) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 2:                                                                     
conveyor.m_objs[i].x = (((flxr*0.8745) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 3:                                                                     
conveyor.m_objs[i].x = (((flxr*0.8156) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 4:                                                                     
conveyor.m_objs[i].x = (((flxr*0.7797) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 5:                                                                     
conveyor.m_objs[i].x = (((flxr*0.7365) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 6:                                                                     
conveyor.m_objs[i].x = (((flxr*0.7802) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 7:                                                                     
conveyor.m_objs[i].x = (((flxr*0.8167) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 8:                                                                     
conveyor.m_objs[i].x = (((flxr*0.8755) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 9:                                                                     
conveyor.m_objs[i].x = (((flxr*0.9542) * (my_delay + elapsed)) / my_delay) + flxr;
break;
}
}
}

if(elapsed > my_delay)
{
stop_moving = true;
}

if(first_tick == -1)
{
first_tick = ttime;
}
}
}
fe.add_ticks_callback("wheel_a_move");

}



Desconectado machiminax

  • VIP
  • *
  • Mensajes: 1849
  • Gracias 112
  • Ciudad: indefinida
  • Pais: desconocido
Re: Desplazamiento Wheels
« Respuesta #4 en: Agosto 17, 2021, 06:18:01 pm »
No puedo probarlo pero mas o menos te guio con lo que tienes que hacer.
Si aparece por  aqui iotero y ya lo hizo en algun layout pues mejor pero si no tendras que ir probando.

Bajate su layout LCD

Busca esta parte:

Código: [Seleccionar]
// Vertical Wheel
local flx1 = flx*0.815;
local flx2 = flx*0.800;

if(my_selector == "vertical wheel")
{
local flyr = fly*0.5;
local flw1 = flw*0.5*0.18;
local flw2 = flw*0.5*0.24;
local flh1 = flh*0.5*0.11;
local flh2 = flh*0.5*0.168;
local dy   = fly*0.42;

  local wheel_x = [flx1, flx1, flx1, flx1, flx1, flx1, flx2, flx1, flx1, flx1, flx1, flx1,];
local wheel_y = [-flyr*0.22+dy, -flyr*0.11+dy, flyr*0.0+dy, flyr*0.11+dy, flyr*0.22+dy, flyr*0.33+dy, flyr*0.44+dy, flyr*0.61+dy, flyr*0.72+dy, flyr*0.83+dy, flyr*0.94+dy, flyr*1.05+dy,];
local wheel_w = [flw1, flw1, flw1, flw1, flw1, flw1, flw2, flw1, flw1, flw1, flw1, flw1,];
local wheel_a = [150, 150, 150, 150, 150, 150, 255, 150, 150, 150, 150, 150,];
local wheel_h = [flh1, flh1, flh1, flh1, flh1, flh1, flh2, flh1, flh1, flh1, flh1, flh1,];
local wheel_r = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,];
local num_arts = 8;


class WheelEntry extends ConveyorSlot
{
constructor()
{
base.constructor(::fe.add_artwork("wheel"));
}

function on_progress(progress, var)
{
local p = progress / 0.1;
local slot = p.tointeger();
p -= slot;
slot++;

if(slot < 0) slot=0;
if(slot >=10) slot=10;

m_obj.x = wheel_x[slot] + p *(wheel_x[slot+1] - wheel_x[slot]);
m_obj.y = wheel_y[slot] + p *(wheel_y[slot+1] - wheel_y[slot]);

m_obj.width = wheel_w[slot] + p *(wheel_w[slot+1] - wheel_w[slot]);
m_obj.height = wheel_h[slot] + p *(wheel_h[slot+1] - wheel_h[slot]);

m_obj.rotation = wheel_r[slot] + p *(wheel_r[slot+1] - wheel_r[slot]);
m_obj.alpha = wheel_a[slot] + p *(wheel_a[slot+1] - wheel_a[slot]);
}
};

local wheel_entries = [];
for(local i=0; i<num_arts/2; i++)
wheel_entries.push(WheelEntry());

local remaining = num_arts - wheel_entries.len();

// we do it this way so that the last wheelentry created is the middle one showing the current
// selection(putting it at the top of the draw order)
for(local i=0; i<remaining; i++)
wheel_entries.insert(num_arts/2, WheelEntry());

conveyor <- Conveyor();
conveyor.set_slots(wheel_entries);
conveyor.transition_ms = 50;
try {conveyor.transition_ms = my_config["set_spin_ms"].tointeger();} catch(e) {}

}

Ya te aviso que vas a tener que ir probando o esperar xq ya hace tiempo que no me pongo con esto y posiblemente no te funcione.

Para hacer una wheel horizontal tienes que cambiar estos parametros:

Código: [Seleccionar]
  local wheel_x = [flx1, flx1, flx1, flx1, flx1, flx1, flx2, flx1, flx1, flx1, flx1, flx1,];
local wheel_y = [-flyr*0.22+dy, -flyr*0.11+dy, flyr*0.0+dy, flyr*0.11+dy, flyr*0.22+dy, flyr*0.33+dy, flyr*0.44+dy, flyr*0.61+dy, flyr*0.72+dy, flyr*0.83+dy, flyr*0.94+dy, flyr*1.05+dy,];

A ver si me explico,

Citar
// Vertical Wheel
local flx1 = flx*0.815;

Hace que las wheel se te queden en vertical xq le asignas el valor 0.815 en el eje x a todas.
Como tu quieres que sean horizontales pues tendras que fijarle un valor fly1 por llamarle de alguna manera que sea fijo para todas y variar todos los flx1  ;D
No se si se me entiende...

Como quieres que esten ocultas y aparezcan al iniciar el layout pues deberas asignarle un valor y que este "fuera de plano"

Por ej. si usas:

Código: [Seleccionar]
local flx = fe.layout.width;
local fly = fe.layout.height;
local flw = fe.layout.width;
local flh = fe.layout.height;

Pues tienes que darle un valor por ej "fly1= flh + 300"
Puedes usar:

Código: [Seleccionar]
// Vertical Wheel
local fly1 = flh + 300;
local fly2 = flh - 200;

Luego vendría la parte de la animacion para que aparezca al arrancar el layout:

Código: [Seleccionar]
// Wheel Move
if(my_config["set_hide"] == "move")
{
if(my_delay > 0 && (my_selector == "vertical wheel"))
{

function wheel_a_move_transition(ttype, var, ttime)
{
if(ttype == Transition.ToNewSelection || ttype == Transition.ToNewList)
{
first_tick = -1;
}
}
fe.add_transition_callback("wheel_a_move_transition");

function wheel_a_move(ttime)
{
if(first_tick == -1)
{
stop_moving = false;
}

if(!stop_moving)
{
local elapsed = 0;

if(first_tick > 0)
{
elapsed = ttime - first_tick - my_delay;
}

local count = conveyor.m_objs.len();

for(local i=0; i < count; i++)
{
if(elapsed > 0)
{
if(i == count/2)
{
conveyor.m_objs[i].x = ((flx2) * (my_delay + elapsed)) / my_delay;
}
else
{
conveyor.m_objs[i].x = ((flx1) * (my_delay + elapsed)) / my_delay;
}
}
}

if(elapsed > my_delay)
{
stop_moving = true;
}

if(first_tick == -1)
{
first_tick = ttime;
}
}
}
fe.add_ticks_callback("wheel_a_move");


if(my_delay > 0 && (my_selector == "arc wheel"))
{
local flxr = flx*0.484;

function wheel_a_move_transition(ttype, var, ttime)
{
if(ttype == Transition.ToNewSelection || ttype == Transition.ToNewList)
{
first_tick = -1;
}
}
fe.add_transition_callback("wheel_a_move_transition");

function wheel_a_move(ttime)
{
if(first_tick == -1)
{
stop_moving = false;
}

if(!stop_moving)
{
local elapsed = 0;

if(first_tick > 0)
{
elapsed = ttime - first_tick - my_delay;
}

local count = conveyor.m_objs.len();

for(local i=0; i < count; i++)
{

if(elapsed > 0 && (my_selector == "arc wheel"))
{
switch(i)
{
case 0:
conveyor.m_objs[i].x = (((flxr*1.0479) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 1:                                                                     
conveyor.m_objs[i].x = (((flxr*0.9526) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 2:                                                                     
conveyor.m_objs[i].x = (((flxr*0.8745) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 3:                                                                     
conveyor.m_objs[i].x = (((flxr*0.8156) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 4:                                                                     
conveyor.m_objs[i].x = (((flxr*0.7797) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 5:                                                                     
conveyor.m_objs[i].x = (((flxr*0.7365) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 6:                                                                     
conveyor.m_objs[i].x = (((flxr*0.7802) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 7:                                                                     
conveyor.m_objs[i].x = (((flxr*0.8167) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 8:                                                                     
conveyor.m_objs[i].x = (((flxr*0.8755) * (my_delay + elapsed)) / my_delay) + flxr;
break;                                                                   
case 9:                                                                     
conveyor.m_objs[i].x = (((flxr*0.9542) * (my_delay + elapsed)) / my_delay) + flxr;
break;
}
}
}

if(elapsed > my_delay)
{
stop_moving = true;
}

if(first_tick == -1)
{
first_tick = ttime;
}
}
}
fe.add_ticks_callback("wheel_a_move");

}

Tendrías que cambiar esto lo primero:

Código: [Seleccionar]
if(ttype == Transition.ToNewSelection || ttype == Transition.ToNewList)
Por:

Código: [Seleccionar]
if (ttype == Transition.StartLayout)
Luego ya te toca ir cambiando todas las parte en las que ha usado movimientos en el "eje x" por movimientos en el "eje y"   8)

Nota:
1-No cambies "vertical wheel" de momento para no liarla por si en alguna funcion ya esta aplicado.
2-//modules
fe.load_module( "conveyor");
3-
Citar
if(my_config["set_hide"] == "move")
requiere que añadas la opcion al principio del layout
Código: [Seleccionar]
</ label = "Hide Mode",
help = "Select how to hide wheels and lists: move or fade",
options = "move,fade",
order = 4,
per_display = "yes"
/> set_hide = "move";

Desconectado Hackerman

  • Usuarios normales
  • *
  • Mensajes: 33
  • Gracias 1
  • Pais: Gotham
  • Iniciales nick: RGE
Re: Desplazamiento Wheels
« Respuesta #5 en: Agosto 17, 2021, 08:19:24 pm »
Vale te entendido un poco ;D ;D pero me surgen algunas dudas:
1- ¿el codigo de iotero lo pego completo despues de la ultima linea del mio?
2- ¿Tengo que quitar algo del codigo? lo digo por incompatibilidad ya que voy a cambiar x por y y puede que crashee el layout, ni idea.
3- Ire intentando cosas a ver si hace algo, ire poniendo los avances espero que sea alguno 🤣

Desconectado machiminax

  • VIP
  • *
  • Mensajes: 1849
  • Gracias 112
  • Ciudad: indefinida
  • Pais: desconocido
Re: Desplazamiento Wheels
« Respuesta #6 en: Agosto 17, 2021, 09:09:07 pm »
Yo que tu bajaria el LCD de iotero.

1 . Cambias la wheel a formato horizontal
2 . A partir de ahi sigues con lo de que aparezca en vez de desaparecer
3 . O bien pruebas a conseguir hacerla aparecer desde la derecha y luego la pasas a horizontal...

Mas que nada xq asi te aseguras de que al menos empiezas con un layout que ya funciona y vas probando cambios.
Yo le suelo cambiar el background por uno sin dibujo para ver donde queda cada cosa , pero bueno eso es opcional...

Desconectado Hackerman

  • Usuarios normales
  • *
  • Mensajes: 33
  • Gracias 1
  • Pais: Gotham
  • Iniciales nick: RGE
Re: Desplazamiento Wheels
« Respuesta #7 en: Agosto 18, 2021, 12:48:52 pm »
Código: [Seleccionar]
// Vertical Wheel
local flx1 = flx*0.815;
local flx2 = flx*0.800;
He puesto el layout de iotero como me dijiste para empezar desde ahi pero estoy hecho un lio y estoy tocando cosas a voleo y no se ni lo que hago. En esta parte que es lo que tendria que cambiar? ponerlo asi:
Código: [Seleccionar]
// Vertical Wheel
local fly1 = fly*0.815;
local fly2 = fly*0.800;
¿Tendria que cambiar tambien esos numero o los dejo tal cual?


Desconectado Hackerman

  • Usuarios normales
  • *
  • Mensajes: 33
  • Gracias 1
  • Pais: Gotham
  • Iniciales nick: RGE
Re: Desplazamiento Wheels
« Respuesta #8 en: Agosto 18, 2021, 07:57:36 pm »
 :( Nada he probado cambiando varias cosas, cambie x por y e sigue sin hacer nada.
Código: [Seleccionar]
local wheel_x = [flx1, flx1, flx1, flx1, flx1, flx1, flx2, flx1, flx1, flx1, flx1, flx1,];
local wheel_y = [-flyr*0.22+dy, -flyr*0.11+dy, flyr*0.0+dy, flyr*0.11+dy, flyr*0.22+dy, flyr*0.33+dy, flyr*0.44+dy, flyr*0.61+dy, flyr*0.72+dy, flyr*0.83+dy, flyr*0.94+dy, flyr*1.05+dy,];
Código: [Seleccionar]
// Vertical Wheel
local fly1 = flh + 300;
local fly2 = flh - 200;
Tambien lo he cambiado como me dijiste pero sigue en vertical, lo que a cambiado es el movimiento al cambiar de sistema y que esta mas desplazado a la izquierda.
🤔🤔🤔🤔🤔🤔🤔🤔
« Última modificación: Agosto 18, 2021, 08:39:48 pm por Hackerman »

Desconectado machiminax

  • VIP
  • *
  • Mensajes: 1849
  • Gracias 112
  • Ciudad: indefinida
  • Pais: desconocido
Re: Desplazamiento Wheels
« Respuesta #9 en: Agosto 18, 2021, 08:26:53 pm »
Una cosa, tu solo quieres que aparezcan al arrancar el layout o tambien quieres que desaparezcan al estar parada la wheel?
Si solo es lo primero tengo por ahi un layout que hace eso pero no queda tan chulo, es mas chapucero.

Código: [Seleccionar]
//----------------------------------------------------------------------- Wheel List
local surface = fe.add_surface(flw,flh);
surface.visible = true;

local w1 = surface.add_artwork( "wheel", flx*0.001, flh, flw*0.09, flh*0.09 );
w1.index_offset = -3;
w1.preserve_aspect_ratio = true;
w1.alpha = 155;
local w2 = surface.add_artwork( "wheel", flx*0.150, flh, flw*0.09, flh*0.09 );
w2.index_offset = -2;
w2.preserve_aspect_ratio = true;
w2.alpha = 155;
local w3 = surface.add_artwork( "wheel", flx*0.300, flh, flw*0.09, flh*0.09 );
w3.index_offset = -1;
w3.preserve_aspect_ratio = true;
w3.alpha = 155;
local w4 = surface.add_artwork( "wheel", flx*0.434, flh, flw*0.13, flh*0.13 );
w4.index_offset = 0;
w4.preserve_aspect_ratio = true;
local w5 = surface.add_artwork( "wheel", flx*0.600, flh, flw*0.09, flh*0.09 );
w5.index_offset = 1;
w5.preserve_aspect_ratio = true;
w5.alpha = 155;
local w6 = surface.add_artwork( "wheel", flx*0.750, flh, flw*0.09, flh*0.09 );
w6.index_offset = 2;
w6.preserve_aspect_ratio = true;
w6.alpha = 155;
local w7 = surface.add_artwork( "wheel", flx*0.900, flh, flw*0.09, flh*0.09 );
w7.index_offset = 3;
w7.preserve_aspect_ratio = true;
w7.alpha = 155;


local move_w_1 = {
    when = Transition.StartLayout,
property = "y",
start = flh,
end = fly*0.880,
time = 2000 easing = Easing.Out,
 }
 


local move_w_s_1 = {
    when = Transition.StartLayout,
property = "y",
start = flh,
end = fly*0.855,
time = 2000 easing = Easing.Out,
 }

 


animation.add( PropertyAnimation( w1, move_w_1 ) );
animation.add( PropertyAnimation( w2, move_w_1 ) );
animation.add( PropertyAnimation( w3, move_w_1 ) );
animation.add( PropertyAnimation( w4, move_w_s_1 ) );
animation.add( PropertyAnimation( w5, move_w_1 ) );
animation.add( PropertyAnimation( w6, move_w_1 ) );
animation.add( PropertyAnimation( w7, move_w_1 ) );

El autor es este

Citar
//
// Attract-Mode Front-End - Nostalgio
// version 1.0
// Design: Doc - fliper80s@me.com
// special thanks for: omegaman, verion, arcadebliss, kent79 and liquid8 to share their themes and codes...
//

Desconectado Hackerman

  • Usuarios normales
  • *
  • Mensajes: 33
  • Gracias 1
  • Pais: Gotham
  • Iniciales nick: RGE
Re: Desplazamiento Wheels
« Respuesta #10 en: Agosto 18, 2021, 08:41:33 pm »
Solo al inicio que aparezca y ya, y si has seleccionado un sistema por ejem nintendo 64 y al volver al menu sistemas que vuelva hacer el efecto. Mientras estas en la pantalla sistemas que no haga nada.

Desconectado Hackerman

  • Usuarios normales
  • *
  • Mensajes: 33
  • Gracias 1
  • Pais: Gotham
  • Iniciales nick: RGE
Re: Desplazamiento Wheels
« Respuesta #11 en: Agosto 18, 2021, 08:44:59 pm »
Vale, ¿ese theme se puede descargar en la pagina de AM?
si no se puede ¿como lo hago, copio el codigo lo pongo en un layout.nut nuevo y ya?
¿o lo añado alguna parte de mi codigo?
« Última modificación: Agosto 18, 2021, 08:46:56 pm por Hackerman »

Desconectado machiminax

  • VIP
  • *
  • Mensajes: 1849
  • Gracias 112
  • Ciudad: indefinida
  • Pais: desconocido
Re: Desplazamiento Wheels
« Respuesta #12 en: Agosto 18, 2021, 09:15:12 pm »
Código: [Seleccionar]
//
// Mi Layout
// Theme by Rafa

class UserConfig
{

}
local my_config = fe.get_config();

//Main Screen
local flx = fe.layout.width;
local fly = fe.layout.height;
local flw = fe.layout.width;
local flh = fe.layout.height;

/////////////////////////////////////////////////////////
//
// Global variables
//
///////////////////////////////////////////////////////

//modules
fe.load_module("animate");


//background
local bg = fe.add_image("infinito.jpg" 0, 0, flw, flh);                 //Fondo del layout imagen video o gif y su posicion en pantalla


//background move
local bg_rise_cfg = {                                             //rise es el efecto de la animacion hay muchas:fall,bottom,etc
    when = When.StartLayout,                                      //Cuando se muestra la animacion
    when = Transition.ToNewList,                                  //Tipo de transicion
    property = "position",                                        //Propiedad hay varios tipos como rise segun la propiedad diferente codigo
start = { x = 0, y = "1080" },                                //Donde comienza la animacion posicion x e y
    end = { x = 0, y = "0" },                                     //Donde finaliza la animacion posicion x e y
    time = 350                                                    //duracion antes que se muestre
delay = 0                                                     //la velocidad a la que se muestra
tween = Tween.Linear,                                         //tween es otro tipo de efecto este caso en linea
}


animation.add( PropertyAnimation( bg, bg_rise_cfg ) );


//system bar
local snap = fe.add_artwork( "bg.png", 0, 691, 1920, 119 );


//system bar move
local snap_rise_cfg = {
    when = When.StartLayout,
    when = Transition.ToNewList,
    property = "position",
start = { x = 0, y = "1080" },
    end = { x = 0, y = "491" },
    time = 350
delay = 0
tween = Tween.Linear,
}


animation.add( PropertyAnimation( snap, snap_rise_cfg ) );

//----------------------------------------------------------------------- Wheel List
local surface = fe.add_surface(flw,flh);
surface.visible = true;

local w1 = surface.add_artwork( "wheel", flx*0.001, flh, flw*0.09, flh*0.09 );
w1.index_offset = -3;
w1.preserve_aspect_ratio = true;
w1.alpha = 155;
local w2 = surface.add_artwork( "wheel", flx*0.150, flh, flw*0.09, flh*0.09 );
w2.index_offset = -2;
w2.preserve_aspect_ratio = true;
w2.alpha = 155;
local w3 = surface.add_artwork( "wheel", flx*0.300, flh, flw*0.09, flh*0.09 );
w3.index_offset = -1;
w3.preserve_aspect_ratio = true;
w3.alpha = 155;
local w4 = surface.add_artwork( "wheel", flx*0.434, flh, flw*0.13, flh*0.13 );
w4.index_offset = 0;
w4.preserve_aspect_ratio = true;
local w5 = surface.add_artwork( "wheel", flx*0.600, flh, flw*0.09, flh*0.09 );
w5.index_offset = 1;
w5.preserve_aspect_ratio = true;
w5.alpha = 155;
local w6 = surface.add_artwork( "wheel", flx*0.750, flh, flw*0.09, flh*0.09 );
w6.index_offset = 2;
w6.preserve_aspect_ratio = true;
w6.alpha = 155;
local w7 = surface.add_artwork( "wheel", flx*0.900, flh, flw*0.09, flh*0.09 );
w7.index_offset = 3;
w7.preserve_aspect_ratio = true;
w7.alpha = 155;


local move_w_1 = {
    when = Transition.StartLayout,
property = "y",
start = flh,
end = fly*0.880,
time = 2000 easing = Easing.Out,
 }
 


local move_w_s_1 = {
    when = Transition.StartLayout,
property = "y",
start = flh,
end = fly*0.855,
time = 2000 easing = Easing.Out,
 }

 


animation.add( PropertyAnimation( w1, move_w_1 ) );
animation.add( PropertyAnimation( w2, move_w_1 ) );
animation.add( PropertyAnimation( w3, move_w_1 ) );
animation.add( PropertyAnimation( w4, move_w_s_1 ) );
animation.add( PropertyAnimation( w5, move_w_1 ) );
animation.add( PropertyAnimation( w6, move_w_1 ) );
animation.add( PropertyAnimation( w7, move_w_1 ) );

 En tu layout funciona asi pero las wheels quedan abajo, no sabia q las querias en el centro...

P.D. Si usas el mismo layout para todos los sistemas no te cargara la animacion.
Tenia por ahi una plugin para recargar el layout pero tambien puedes simplemente hacer varios layuts iguales por ej layoutmd,layoutsnes...

Desconectado Hackerman

  • Usuarios normales
  • *
  • Mensajes: 33
  • Gracias 1
  • Pais: Gotham
  • Iniciales nick: RGE
Re: Desplazamiento Wheels
« Respuesta #13 en: Agosto 18, 2021, 11:01:56 pm »
Vale, ese es el efecto que queria pero al mover para seleccionar otro sistema hace un movimiento muy tosco, no se mi explico. Lo que quiero saber es si se puede suavizar ese efecto para dejarlo como el que tengo yo, cambiandole algunos valores a ese codigo o ¿tendria que añadir ya otra cosa?
Citar
P.D. Si usas el mismo layout para todos los sistemas no te cargara la animacion.
No que va solo lo usaria para el menu principal, ya para los otros snes, nes, genesis, etc... pues les pondria a cada uno el suyo pero no el mismo que el del menu principal, si es a lo que te refieres.
« Última modificación: Agosto 18, 2021, 11:10:14 pm por Hackerman »

Desconectado machiminax

  • VIP
  • *
  • Mensajes: 1849
  • Gracias 112
  • Ciudad: indefinida
  • Pais: desconocido
Re: Desplazamiento Wheels
« Respuesta #14 en: Agosto 19, 2021, 06:29:22 pm »
Al usar un modulo es mas complicado meterle animaciones asi que tocara esperar si alguien destripa el conveyor...

Si te sirve sin la animacion de inicio es muy sencillo ponerlo en horizontal.

Código: [Seleccionar]
//
// Mi Layout
// Theme by Rafa

class UserConfig
{

}
local my_config = fe.get_config();

//Main Screen
local flx = fe.layout.width;
local fly = fe.layout.height;
local flw = fe.layout.width;
local flh = fe.layout.height;

/////////////////////////////////////////////////////////
//
// Global variables
//
///////////////////////////////////////////////////////

// modules
fe.load_module("conveyor");
fe.load_module("fade");
fe.load_module( "animate" );


//background
local bg = fe.add_image("infinito.jpg" 0, 0, flw, flh);                 //Fondo del layout imagen video o gif y su posicion en pantalla


//background move
local bg_rise_cfg = {                                             //rise es el efecto de la animacion hay muchas:fall,bottom,etc
    when = When.StartLayout,                                      //Cuando se muestra la animacion
    when = Transition.ToNewList,                                  //Tipo de transicion
    property = "position",                                        //Propiedad hay varios tipos como rise segun la propiedad diferente codigo
start = { x = 0, y = "1080" },                                //Donde comienza la animacion posicion x e y
    end = { x = 0, y = "0" },                                     //Donde finaliza la animacion posicion x e y
    time = 350                                                    //duracion antes que se muestre
delay = 0                                                     //la velocidad a la que se muestra
tween = Tween.Linear,                                         //tween es otro tipo de efecto este caso en linea
}


animation.add( PropertyAnimation( bg, bg_rise_cfg ) );


//system bar
local snap = fe.add_artwork( "bg.png", 0, 691, 1920, 119 );


//system bar move
local snap_rise_cfg = {
    when = When.StartLayout,
    when = Transition.ToNewList,
    property = "position",
start = { x = 0, y = "1080" },
    end = { x = 0, y = "491" },
    time = 350
delay = 0
tween = Tween.Linear,
}


animation.add( PropertyAnimation( snap, snap_rise_cfg ) );

//----------------------------------------------------------------------- Wheel List


// SPINWHEEL
class SimpleArtStripSlot extends ConveyorSlot
{
m_p=null;
constructor( parent, artname )
{
m_p=parent;
base.constructor( ::fe.add_artwork( artname ) );
}

function on_progress( progress, var )
{
m_obj.width = m_p.m_width;
m_obj.height = m_p.m_height;
m_obj.x = m_p.m_x + progress * m_p.m_x_span;
m_obj.y = m_p.m_y + progress * m_p.m_y_span;
}
};

local my_strip = SimpleArtStrip( "wheel", 7, 0, 490,fe.layout.width, 120, 50 );
my_strip.preserve_aspect_ratio = false;
my_strip.transition_ms = 500;
my_strip.trigger = Transition.EndNavigation;
my_strip.zorder = 1

 


* Salón Recreativo #55 (27-04-2024 / 26-05-2024)  Autor: beaches Foro: Salón Recreativo FaseBonus 11/05/2024 (07:33)
* [N3DS] Red Viper - Emulando Virtual Boy como Dios manda  Autor: Zael Foro: Noticias de emuladores 10/05/2024 (13:48)
* Retro 320 - Wizard of wor  Autor: Zael Foro: Competiciones y concursos 06/05/2024 (20:43)
* Recopilatorio Retos: Desde el 1 hasta .....  Autor: montypepa Foro: Competiciones y concursos 05/05/2024 (21:30)
* ¿A qué estáis jugando ahora mismo?  Autor: jmpuk Foro: Offtopic 05/05/2024 (01:05)
* iojukebox Theme, un JukeBox para Attract-Mode  Autor: gucaza Foro: Themes AM 04/05/2024 (02:47)
* Nuevo miniPc para mi vieja recre y juegos Windows compatibles formato 4:3  Autor: jmpuk Foro: Offtopic 02/05/2024 (23:31)
* Homenaje a Locomalito  Autor: beaches Foro: Otros programas 02/05/2024 (23:03)
* La inteligencia artificial ha llegado a la música  Autor: jmpuk Foro: Offtopic 02/05/2024 (21:45)
* [Recomendación] Cine para los findes en casa (bueno, bonito y barato)  Autor: arquillos Foro: Offtopic 02/05/2024 (09:39)
* [Recomendacion] Series para ver  Autor: jmpuk Foro: Offtopic 01/05/2024 (21:54)
* Etpa8: El Reino Subterráneo  Autor: jmpuk Foro: ZX Spectrum 01/05/2024 (21:49)
* Stop the express  Autor: jmpuk Foro: ZX Spectrum 01/05/2024 (21:29)
* Amiga Games + 1.9.2  Autor: empardopo Foro: Emuladores 01/05/2024 (20:58)
* West Bank para ZX Spectrum  Autor: empardopo Foro: ZX Spectrum 01/05/2024 (20:07)
* Info sobre MARP  Autor: Zael Foro: Records y wolfmame 29/04/2024 (23:45)
* Patrocinador para el foro ArcadeSpain  Autor: empardopo Foro: Noticias 29/04/2024 (19:37)
* Aprende a hacerte un PORTABLE de tu juego arcade favorito  Autor: empardopo Foro: Records y wolfmame 29/04/2024 (19:27)
* Screenshot de empardopo  Autor: empardopo Foro: Otros programas 24/04/2024 (19:42)
* Concurso Bytemaniacos 2025  Autor: empardopo Foro: Creación de juegos 23/04/2024 (21:46)
* Retro Portable Maker ArcadeSpain (RPMA)  Autor: empardopo Foro: Otros programas 21/04/2024 (19:16)
* Van dos y se cae el del medio - Hilo de cachondeo general  Autor: empardopo Foro: Offtopic 21/04/2024 (18:47)
* Hacer fondos de pantalla con Excel para Spectrum  Autor: empardopo Foro: Creación de juegos 18/04/2024 (19:33)
* Salón Recreativo FaseBonus - Preparativos y Sugerencias  Autor: Zael Foro: Salón Recreativo FaseBonus 17/04/2024 (00:17)
* Retropixel 2024  Autor: Zael Foro: Eventos Arcades 14/04/2024 (12:24)
* Ofertas Amazon  Autor: empardopo Foro: Offtopic 11/04/2024 (20:29)

Countdown
Buscaunchollo.click