El scroll no tira [solucionado]

Started by Danielo515, October 12, 2008, 05:32:42 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Danielo515

Pues el caso es que no se ya como mover este scroll. Os pondré primeramente el código del scroll para ver si hay algo que esté mal, y si no, pues comentadme lo que sea.
Uso wip11. Todo este código está incluido en el main principal

[code language="bennu"]if(img_ancho<=800 && img_alto<=600) //Si la imagen es menor a 800 x 600
        set_mode(img_ancho,img_alto,16); //Ajusta la pantalla al ancho de la imagen
  else
        set_mode(800,600,16); //de lo contrario establece un máximo de 800*600
        start_scroll(0,0,0,0,0,0);//y empieza un scroll para ver la imagen
        recorrer_imagen();
        //ctype=c_scroll;
        scroll.camera=mouse;
  end

         from i=0 to img_alto;
        from j=0 to img_ancho;
            aux=map_get_pixel(0,img,j,i);
            aux=aux%95;
             map_put(0,0,valores[aux],j*8,i*8);
        end //from
    end //from[/code]

Danielo515

ya está. Era una tontería, el usar el grafico de fondo (0) implica que dicho gráfico tiene el tamaño de la pantalla y por lo tanto no hay scroll posible, o al menos eso creo. Un saludo.

Futu-block

Paso de abrir un tema nuevo si este es lo que me interesa, para que veais que no me pongo a preguntar como un loco...

Tengo un escroll que no sigue al personaje en cuestion, si lo pongo dentro del loop si me furula, rula o tira, como querrais decir...

me tiene loco hasta que le hice un frame despues del begin...
¿porque esto es asi??

KeoH

sin ver el codigo no se como contestarte xDDD pero para q el scroll siga al personaje basta con poner
idScroll.camera = idPersonaje;


siempre q idScroll sea el identificador de tu scroll, e idPersonaje sea el ID del prota del juego.

Futu-block

queres codigo, pos tomá codigo...

global
tio id_tio;
end


declare process tio()
    public direcion;
    end
end


process tio()



begin
   
   graph=1;
   x = 50;
   y = 50;
   z = 33;
   CTYPE = C_SCROLL;
   start_scroll(0, 0, 9, 10, 0, 4);
   scroll[0].camera = id_tio;
   estado = 0;
   
   loop
      direcion =(key(_up)?1h:0)|(key(_down)?2h:0)|(key(_left)?4h:0)|(key(_right)?8h:0);
     
      switch (estado)
         case 0: // parado
            if (key(_left) or key(_right))
               estado = 1;
            end
         end
         case 1: // caminando
            if (map_get_pixel (0, 8, x , y + 3) != clr_floor) // si no hay suelo caemos
               estado = 3;
            end
            if (map_get_pixel (0, 8, x+8 , y-8) != clr_wall)
               if (key(_right)) x += MAX_WALK_SPEED; end
            end
            if (map_get_pixel (0, 8, x-8 , y-8) != clr_wall)
               if (key(_left)) x -= MAX_WALK_SPEED; end
            end
         end
                 end
                 frame;
         end
end



basicamente es eso ;)

KeoH

un par de cosas:

       
  • Que coño es esa primera linea despues del loop??? xDD
  • ¿Porq haces start_scroll en el proceso personaje? Hazlo en main().
  • crea una variable global q sea idScroll, luego crea el scroll usando:
start_scroll(idScroll, 0,9,10,0,4);


       
  • los numeros 9 y 10 se supone q son los graficos del scroll ... pero de donde salen? se supone q son los graficos de un fpg .. pero en la declaracion de start_scroll tienes a 0 el segundo parametro q es el fpg q se usará. Pon ahí el id del fpg.
PD: Porque la mierda del foro me cambia los tamaños de las letras cuando le da la gana??? XDDD

Futu-block


       
  • ni idea, me la pasó splinter para que pudiera usar diagonales pulsando dos botones, todavia no la entiendo por mas que la razono  ;D
  • yo que se, creia que es lo normal. A partir de ahora lo hago en el mani ;)
  • Y ¿apara que sirve eso? es que soy mas torpon de lo que aparento  :D
  • ok eso es algo ovbio que ovbiaba, valga la ovbia rembindoncomo se diga
¿existen los lunis? ¿y los martis? ¿y los trinconis? ¿y los manganis?