Recent

Author Topic: Programar un panel de aeropuerto virtual  (Read 2163 times)

openscoreboard

  • New Member
  • *
  • Posts: 30
  • openscoreboard
Programar un panel de aeropuerto virtual
« on: September 13, 2022, 05:14:41 pm »
Buenos dias:

Llevo dias dandole vueltas a contruir una aplicacion que simule el panel de un aeropuerto "retro"

Algo similar a la imagen que adjunto.

He intentado varias aproximaciones...

He creado un array bidimensional que contiene en cada posicion un timage y tlabel.

Recorro el array para crear las imagenes y las etiquetas asignando los valores, el problema es al intentar "animar" la letras para conseguir el efecto (split-flap) que hacen estos tipicos paneles. Son tantas 5 x 60 = 300 que la animacion es muy lenta y no consigo el efecto deseando.

He probado con TGBAspriteanimate y tampoco va rapido....

Estoy pensando en descartar la Timage y usar solo Tlabel (eso tendria que acelerar el cambio de letras) pero no se como conseguir el efecto split-flap.

¿alguna idea?

Gracias
« Last Edit: September 13, 2022, 05:17:59 pm by openscoreboard »

mosquito

  • Full Member
  • ***
  • Posts: 138
Re: Programar un panel de aeropuerto virtual
« Reply #1 on: September 13, 2022, 09:00:18 pm »
Independientemente de la estructura de datos que uses para la matriz, yo renderizaría todo en un único bitmap sin pensarlo.

Si los elementos deben ser clickables también.
Si los elementos deben ser editables en tiempo de ejecución por el usuario me lo pensaría.
« Last Edit: September 16, 2022, 05:41:11 pm by mosquito »

Edson

  • Hero Member
  • *****
  • Posts: 1301
Re: Programar un panel de aeropuerto virtual
« Reply #2 on: September 13, 2022, 10:33:40 pm »
Yo animaria renderizando todo el panel en el Canvas.

Primero crearía una clase que haga la animación y dibuje en el lienzo. Luego crearía varias instancias de esa clase y haría que todas cambien su estado de manera síncrona, en paralelo a un método de refresco de toda la pantalla.

Tampoco parece tan complejo como para usar OpenGL o DirectX.
Lazarus 2.2.6 - FPC 3.2.2 - x86_64-win64 on Windows 10

KodeZwerg

  • Hero Member
  • *****
  • Posts: 2010
  • Fifty shades of code.
    • Delphi & FreePascal
Re: Programar un panel de aeropuerto virtual
« Reply #3 on: September 13, 2022, 11:05:29 pm »
For Delphi -> https://github.com/omarreis/FlapLabel
But i have not tried to convert and test that with FreePascal/Lazarus.

I hope it helps.
« Last Edit: Tomorrow at 31:76:97 xm by KodeZwerg »

openscoreboard

  • New Member
  • *
  • Posts: 30
  • openscoreboard
Re: Programar un panel de aeropuerto virtual
« Reply #4 on: September 17, 2022, 01:36:54 pm »
Gracias a todos por las respuestas.
Esta claro que mi planteamiento inicial era un disparate...  :-[
Estoy replanteandolo...

KodeZwerg sobre tu mención a Flaplabel... yo no he podido importarlo a Lazarus, estudiaré el código... quizás saque alguna idea.

Gracias otra... por ultimo mencionar, que aunque la idea original es un tablero como en el de un aeropuerto... realmente el fin es mas divertido  :D


mosquito

  • Full Member
  • ***
  • Posts: 138
Re: Programar un panel de aeropuerto virtual
« Reply #5 on: September 17, 2022, 04:22:51 pm »

🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺
Code: Pascal  [Select][+][-]
  1.    _    __   _____  _      _   ___
  2.   /_\   \ \ / / _ \| |    /_\ | _ \
  3.  / _ \   \ V / (_) | |__ / _ \|   /
  4. /_/ \_\   \_/ \___/|____/_/ \_\_|_\
  5.  
😵😵😵😵😵😵😵😵😵😵😵😵😵😵😵😵😵
« Last Edit: September 20, 2022, 06:10:10 pm by mosquito »

 

TinyPortal © 2005-2018