Shell 07-07-2023, 23:35
Buenas!.

Les subo un ejemplo bien breve. Seguro que a "más" de uno le gusta. Tongue

[Imagen: 39GTFPr.png]

La transformación!!. Big Grin

Por cierto, ¿ transparencia, opacidad o translucidez ?. Traslucida, vamos.
Es que no iba a poner una foto de una chica algo ligera de ropa, ejem.

Código fuente.

Código:
Private gambas As New Image
Private python As New Image

Public Sub Form_Open()

  gambas = Image.Load("Gambas3.png")  
  python = Image.Load("python3.png")
 
End

Public Sub DrawingArea1_Draw()

  Paint.DrawImage(gambas, 0, 0, gambas.W, gambas.H, Slider1.Value / 100)
  Paint.DrawImage(python, 0, 0, python.W, python.H, 1 - Slider1.Value / 100)
 
End

Public Sub Slider1_Change()
 
  DrawingArea1.Refresh

End

El control slider se encarga de la opacidad.
Cita: 
Opacity : the opacity used for drawing the image, between 0.0 (fully transparent, nothing is drawn) and 1.0 (fully opaque). By default, the image is drawn fully opaque.

Saludos
Archivos adjuntos
.gz
Opacidad-0.0.1.tar.gz (Tamaño: 57.81 KB Descargas: 1)
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
Páginas (560):    1 150 151 152 153 154 560   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 288
Último miembro: shoUsho
Temas del foro: 1,729
Mensajes del foro: 8,987
Últimos temas
Paren...WAIT !!!
Foro: Aplicaciones/Fragmentos de Código
Último mensaje por: guizans, 25-08-2025, 14:49
Respuestas: 3 - Vistas: 448
GambOS
Foro: General
Último mensaje por: guizans, 20-08-2025, 13:58
Respuestas: 0 - Vistas: 310
Gambas y Wayland
Foro: General
Último mensaje por: guizans, 20-08-2025, 13:56
Respuestas: 6 - Vistas: 589
Odio a gb.Report
Foro: General
Último mensaje por: guizans, 19-08-2025, 10:40
Respuestas: 8 - Vistas: 939
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.