Shell 07-07-2023, 14:44
Buenas!.

Pues este es el ejemplo que quería mostraros el efecto que hace la letra, cuando se añade más velocidad o menos velocidad, su scroll horizontal.

[Imagen: vvgL5i7.png]

Para cambiar la dirección del texto se tiene que cambiar en este lugar:
El primer indice es el que debe modificar, la x, la y no. Wink
Indice 0.

Código:
'Índice de velocidad negativo. El texto se desplaza a la izquierda
'Índice de velocidad positivo. El texto se desplaza a la derecha
Private velocidad As Integer[] = [3, 0]

Fuente:
Código:
Const TEXTO As String = "GAMBAS BASIC"
Const TAMAFUENTE As Integer = 36

Private posicion As Integer[] = [0, 0]
'Índice de velocidad negativo. El texto se desplaza a la izquierda
'Índice de velocidad positivo. El texto se desplaza a la derecha
Private velocidad As Integer[] = [3, 0]

Private fuente As New Font
Private lineacentralactiva As Boolean = False 'Activamos/Desactivamos linea horizontal que divide DrawingArea

Public Sub Form_Open()

  Dim ancho As Integer
  Dim alto As Integer

  With Me
    .Title = "MARQUESINA"
    .Background = Color.Black
    .Center()
  End With  
  Pizarra.Background = Color.Black
 
  fuente.Name = "Monospace"
  fuente.Size = TAMAFUENTE
  ancho = fuente.TextWidth(TEXTO)
  alto = fuente.TextHeight(TEXTO)

  posicion[1] = (Pizarra.H - alto) / 2

  Timer1.Delay = 16
  Timer1.Start

End

Public Sub DibujarTextoCentrado()

  Dim RS As RectF

  If lineacentralactiva Then
    Paint.LineWidth = 1
    Paint.MoveTo(0, Pizarra.H / 2)
    Paint.LineTo(Pizarra.W, Pizarra.H / 2)
    Paint.Stroke
  Endif

  Paint.Translate(posicion[0], posicion[1])
  Paint.Font = Font[fuente.Name & "," & Str(fuente.Size)]
  Paint.Background = Color.White
  Paint.AntiAlias = True
  RS = Paint.TextSize(TEXTO)
  Paint.Text(TEXTO, RS.X, RS.Y, RS.Width, RS.Height)

  posicion[0] += velocidad[0]
  posicion[1] += velocidad[1]

  If velocidad[0] < 0 Then
    'El texto reaaparecerá por la derecha del DrawingArea
    If posicion[0] + RS.W < 0 Then
      'Restamos al ancho del DrawingArea el ancho de una letra
      posicion[0] = Pizarra.W - Paint.TextSize("G").W
    Endif
  Else If velocidad[0] > 0 Then
    'El texto reaaparecerá por la izquierda del DrawingArea
    If posicion[0] + Paint.TextSize("G").W > Pizarra.W Then
      'Restamos al ancho de una letra el ancho total del texto
      posicion[0] = Paint.TextSize("G").W - RS.W
    Endif

  Endif

  Paint.Fill

End

Public Sub Pizarra_Draw()

  DibujarTextoCentrado

End

Public Sub Timer1_Timer()

  Pizarra.Refresh

End

He usado Paint.Antialias pero no sé si realmente hace algo.
Tendría que ver si el sitio donde lo he situado es el adecuado.

Hay momentos que la letra parece "desgarrarse". ( Diente de sierra )
Probar a cambiar la velocidad, a hacerla negativa, etc.

Os subo el ejemplo.

Supongo que son limitaciones.

Saludos
Archivos adjuntos
.gz
Marquesina-0.0.1.tar.gz (Tamaño: 12.7 KB Descargas: 2)
Shell 07-07-2023, 14:29
Buenas!.

Me gusta tener Python a un lado y Gambas a otro. Y poder convertir cosa de uno al otro.
Pero no me gusta el uso de tanta librería de Python para una cosa y luego es complicarse la vida
para pasarlo a Gambas.

Si por ejemplo en Python uso Pygame ( SDL2) para la creación de juegos sencillos 2D en Python.
En Gambas uso Paint. Por supuesto que no es lo mismo, me cuesta pero una vez aprendido "puedo"
convertirlo a Gambas.

El problema que me encuentro es que luego existe "extensiones" que usa PyGame de fondo.
Como puede ser PyZero, Cocos2d y ya lo máximo Arcade.

Arcade supera a PyGame en muchos aspectos. Resumiendo:
 
Cita: 
Both Pygame and Arcade are Python libraries for making it easy to create 2D games. Pygame is raster-graphics based. It is very fast at manipulating individual pixels and can run on almost anything. Arcade uses OpenGL. It is very fast at drawing sprites and off-loads functions such as rotation and transparency to the graphics card.

Arcade usa OpenGL. Y es la pera.

Pygame Comparison

He probado algunos ejemplos. Que por cierto tuve que crear un entorno virtual en Python (no es difícil, no sé por que por defecto me usa la versión de Python instalada en el sistema), pude usarlo con Visual Code. Me obligaba a usar un entorno virtual.
 
Cita:Next you’ll need to setup a Virtual Environment. Arcade should always be installed with a virtual environment. Installing outside of a virtual environment can lead to unintended consequences and bugs with your system

¿ Qué rollo no ?.

Comprobé que algunos ejemplos creado con la librería Arcade "pueden" fallar. Aunque otros van genial. Ya se actualizará.

En cuanto a Cocos2D tiene su forma de hacer las cosas, va por "escenas".

En fin. Que me gusta la creación de juegos 2D pero no quiero realmente complicarme demasiado y sobre todo, sobre todo, no quiero alejarme de Gambas.
Me gusta Gambas. Me niego a romper "tanto" la compatibilidad o la facilidad de poder pasar de Python a Gambas (dentro de lo posible ).
Lo que no puedo es aprender métodos y métodos sin saber que esconden y complicarme tanto. No quiero complicarme tanto como un profesional de videojuegos.

Quiero tener los dos, pero no quiero llegar a dejar de usar uno por que no pueda convertir de uno al otro.
No dudo que Python en cuestión con estas librerías dedicadas a juegos supera a Gambas, indiscutiblemente.

Puedo encontrarme limitaciones con Paint pero para eso tengo que verlo.
Os mostraré en otro mensaje un ejemplo que hice y ya me daréis vuestra opinión.

Es complicado, ya sé que Python es muy famoso, pero a mi también me gusta Gambas.
Y tengo un dilema de tres pares.

Saludos
Shell 07-07-2023, 13:46
Buenas!

Acaba de salir la gambas 3.18.3

Manda huevos que se ha actualizada sola. Lo tenía en actualizaciones y no quería actualizar ahora mismo.
Por ejemplo ni siquiera se ha mostrado en el portal que novedades tiene. Y es una estable.

Antes de que se actualizará me fui al directorio donde tengo las fuentes de gambas estable e hice un git pull dentro del directorio gambas.
Os muestro la salida:
 
Cita: 
remote: Enumerating objects: 123, done.
remote: Counting objects: 100% (123/123), done.
remote: Compressing objects: 100% (72/72), done.
remote: Total 72 (delta 63), reused 1 (delta 0), pack-reused 0
Desempaquetando objetos: 100% (72/72), 109.82 KiB | 1.21 MiB/s, listo.
Desde https://gitlab.com/gambas/gambas
   41c0c88ca..75a125030  stable     -> origin/stable


ayuda: Hacer un pull sin especificar cómo reconciliar las ramas es poco
ayuda: recomendable. Puedes eliminar este mensaje usando uno de los
ayuda: siguientes comandos antes de tu siguiente pull:
ayuda:
ayuda:   git config pull.rebase false  # hacer merge (estrategia por defecto)
ayuda:   git config pull.rebase true   # aplicar rebase
ayuda:   git config pull.ff only       # aplicar solo fast-forward
ayuda:
ayuda: Puedes reemplazar "git config" con "git config --global" para aplicar
ayuda: la preferencia en todos los repositorios. Puedes también pasar --rebase,
ayuda: --no-rebase, o --ff-only en el comando para sobrescribir la configuración
ayuda: por defecto en cada invocación.

Entonces de esas opciones de uso, ¿ cuál se debería a usar ?. A parte que no sé lo que es rebase, merge y fast-forward.
La palabra mege me suena mucho, es como mezclar.

Pues una vez usada una de esas opciones. Ahora al hacer git pull de nuevo me dice:
 
Cita: 
fatal: No es posible hacer fast-forward, abortando.

Todo se puede buscar por Internet, lo sé.

Después para ver que había cambiado usé el comando find.
Supongamos que quiero ver que archivos han cambiado en el directorio de fuentes de gambas hace 10 minutos.

Código:
find -mmin -10

Apenas me muestra cambios en los directorios de las fuentes.
 
Cita: 
./.git/objects
./.git/FETCH_HEAD

Si muestra algo, está más el directorio de .git que en los directorios de las fuentes de Gambas.

Digo yo. La fecha de los directorios/carpetas, ¿ deberían cambiar al actualizarse su contenido ?.
En cuanto a esa actualización automática sin consentimiento pues se me ha sonado muy raro. Dejé marcada el aspa, ok, pero no le dije que actualizase.

Saludos
Páginas (557):    1 147 148 149 150 151 557   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 285
Último miembro: XLRG
Temas del foro: 1,719
Mensajes del foro: 8,923
Últimos temas
Un sistema de ayudas cont...
Foro: Videotutoriales
Último mensaje por: guizans, 22-06-2025, 19:55
Respuestas: 3 - Vistas: 214
Publicidad
Foro: Sobre gambas-es.org
Último mensaje por: Shordi, 18-06-2025, 07:35
Respuestas: 5 - Vistas: 215
Web con gambas, a ver si ...
Foro: WebApp/WebForms
Último mensaje por: jackrobot, 16-06-2025, 17:11
Respuestas: 40 - Vistas: 32,045
Crear una aplicación para...
Foro: Bases de Datos
Último mensaje por: Shell, 29-05-2025, 20:11
Respuestas: 11 - Vistas: 1,314
Paso de parámetros a una ...
Foro: General
Último mensaje por: guizans, 29-05-2025, 19:27
Respuestas: 9 - Vistas: 808
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.