Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: Leiray en 31 Julio 2017, 01:10 AM

Título: Deplazar imágen
Publicado por: Leiray en 31 Julio 2017, 01:10 AM
Nesecito hacer que una imágen se desplace por toda la pantalla y cuando llegue al borde reobote hacia otra dirección como si fuera el screensaver de los DVD

comencé hciendo esto pero no tengo idea de como seguir

X = GenNumRange(0, Screen.Width - imgLogo.Width)
Y = GenNumRange(0, Screen.Height - imgLogo.Height)

imgLogo.Left = X
imgLogo.Top = Y

Gracias
Título: Re: Deplazar imágen
Publicado por: Eleкtro en 31 Julio 2017, 06:30 AM
¿VB6, o VB.NET?.

En caso de ser en VB.NET, puedes traducir este ejemplo para C#:

Más ejemplos probablemente aquí:
Saludos
Título: Re: Deplazar imágen
Publicado por: tincopasan en 31 Julio 2017, 15:19 PM
más allá del lenguaje y de los ejemplos que te pasó Elektro estaría bueno ir analizando la lógica de lo que querés hacer y has hecho.
Teoría:
1) has determinado que X e Y es la posición en la que se encuentra la imagen, hacia la izquierda y la altura de la pantalla.
2) sumar a esa posición (X ó Y),a una sola para que el desplazamiento sea lineal, determinado valor(+10 por ejemplo), que es la nueva posición de la imagen, repetir esta operación hasta que X ó Y coincidan con el tamaño total de la pantalla
3)Si X ó Y es el tamaño máximo, cambiar la dirección y el ángulo (sumando o restando en la altura) y restando (-10 en lo líneal) hasta que se llegue nuevamente a los valores mínimos de la pantalla.
4)Repetir cambiar ángulo y el punto 2
Es una explicación muy mala y sin código, pero desde mi perspectiva si entendés esto después desde cualquier lenguaje averiguando lo mínimo, ya se puede hacer:
a)posición de x,y(variables)  b)mostrar una imagen en x,y c)sumar valores de variables d)obtener el tamaño de la pantalla e)comparar variables y actuar si se llega a igualdades o hasta que se llegue(bucles)
Saludos. 
Título: Re: Deplazar imágen
Publicado por: Leiray en 1 Agosto 2017, 13:42 PM
Este funcionó perfectamente en .Net, pero lo necesito para VB6. Voy a ver si lo logro pasar a VB6, sino vuelvo a postear. Gracias Elektro