Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/07/2014, 07:02
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: scroll bar en win 32 aplicación de windows

Te he echo este código.

Es algo sencillo pero te va servir para comprender el problema y para que veas las soluciones que le puedes dar.
Código C++:
Ver original
  1. #include "miniwin.h"
  2. #include <iostream>
  3. #include <cmath>
  4.  
  5. using namespace miniwin;
  6.     int ancho = 800;             //anchura de la ventana
  7.     int alto  = 600;             //altura de la ventana
  8.     float x     = ancho/2;       //coordenada x inicia en medio de la ventana
  9.     float y     = alto/2;        //coordenada y inicia en medio de la ventana
  10.     float rx;                    //variable para guardar coordenada x del raton
  11.     float ry;                    //variable para guardar coordenada y del raton
  12.     float distancia;             //variable para guardar la distancia del centro del circulo y el raton
  13.     int borde_izquierdo = 0;     //borde izquierdo es el inicio del lado derecho de la ventana y es 0
  14.     int borde_derecho   = ancho; //borde derecho es e el contrario y es igual que el ancho que elejimos antes
  15.     int retraso         = 10;    //retraso es el tiempo que tarda cada loop, es similar a sytem("pause");
  16.     int velocidad       = 5;     //velocidad a la que se desplaza la pelota
  17.     int radio           = 20;    //radio de la pelota
  18.     int t;                       //variable para guardar tecla pulsada.
  19.  
  20.  
  21. int main(){
  22.     //creamos una ventana del tamaño de ancho por alto 800x600 en mi ejemplo pero se puede cambiar.
  23.     vredimensiona(ancho, alto);
  24.    
  25.     //GAMELOOP
  26.     while ( true ) {
  27.     //LOGICA DE JUEGO
  28.         //movemos con las fleshas del teclado por si te gusta asi XD
  29.         t = tecla();
  30.         if(t==IZQUIERDA){
  31.             x-=velocidad;
  32.         }
  33.         if(t==DERECHA){
  34.             x+=velocidad;
  35.         }
  36.         if(t==ARRIBA){
  37.             y-=velocidad;
  38.         }
  39.         if(t==ABAJO){
  40.             y+=velocidad;
  41.         }
  42.  
  43.         //movemos con el raton
  44.         rx = raton_x();
  45.         ry = raton_y();
  46.  
  47.         //grarda en la variable distancia la distancia entre el centro del circulo y el raton, lo usaremos para saber si estamos dentro del circulo con el raton.
  48.         distancia = sqrt( pow( rx - x, 2) + pow(ry - y, 2));        
  49.        
  50.         if( raton_boton_izq() == true && distancia < radio ){
  51.            x = raton_x();
  52.            y = raton_y();
  53.         }
  54.  
  55.        
  56.     //PINTAMOS CAMBIOS    
  57.         color(VERDE);
  58.         circulo_lleno( x, y, radio); //creamos un circulo de color ver en las coordenadas x,y del tamaño de la variable radio
  59.         refresca();                  //mostra el resultado en pantalla
  60.         borra();                     //borra la imagen antes de hacer todo otravez
  61.         espera(retraso);             //similar a system("pause");
  62.     }//FIN GAMELOOP
  63.  
  64.     return 0;
  65. }

puedes usar el raton o las fleshas para mover el circulo verde ;)
No te va resolver el problema por que simplemente te muestra la mecánica.

Deberías poner un rectángulo de fondo y pegar las imágenes en el y no en la ventana. Así si mueves el rectángulo lo mueves todas las imágenes que estén en el.

o sea el rectángulo se basa en la esquina de la ventana y las imágenes se basan en las coordenadas del rectángulo.
Si mueves el fondo se mueven todas las imágenes. =D
A ver que te parece XD