Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/11/2010, 06:10
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 18 años, 6 meses
Puntos: 29
Respuesta: imagenes en vb6

Está complicado porque la funcion devuelve la matriz sin usar el elemento ni el valor 0, pero tambien te has complicado la vida creando 2 matrices para la posicion, y creo que eso es lo que genera tu problema de superposicion.

Te he creado este nuevo código que solo necesita añadirle la función "Generar_Aleatorio" que no la incluyo por no repetir. Lleva una matriz de 5 imagenes y un command1.

Código vb:
Ver original
  1. Private Type Posicion
  2.   X As Single
  3.   Y As Single
  4. End Type
  5.  
  6. Dim Posiciones(4) As Posicion
  7.  
  8. Private Sub Form_Load()
  9.  
  10.   Dim f As Integer
  11.  
  12.   Image1(0).Picture = LoadPicture("foto1.jpg")
  13.   Image1(1).Picture = LoadPicture("foto2.jpg")
  14.   Image1(2).Picture = LoadPicture("foto3.jpg")
  15.   Image1(3).Picture = LoadPicture("foto4.jpg")
  16.   Image1(4).Picture = LoadPicture("foto5.jpg")
  17.    
  18.   ' guardamos las posiciones
  19.  For f = 0 To 4
  20.     Posiciones(f).X = Image1(f).Left
  21.     Posiciones(f).Y = Image1(f).Top
  22.   Next f
  23.  
  24. End Sub
  25.  
  26. Private Sub Command1_Click()
  27.   Dim MatrizAleatoria() As Integer
  28.   Dim f As Long
  29.   ' cargamos la matriz
  30.  MatrizAleatoria = Generar_Aleatorio(5)
  31.  
  32.   ' recolocamos las imagenes
  33.  For f = 0 To 4
  34.     Image1(f).Left = Posiciones(MatrizAleatoria(f + 1) - 1).X
  35.     Image1(f).Top = Posiciones(MatrizAleatoria(f + 1) - 1).Y
  36.   Next f
  37.  
  38. End Sub
Saludos
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!

Última edición por pkj; 23/11/2010 a las 06:28