Bien, perdón, ya me siento tonto con tanta pregunta, en fin.
yo tengo esto.
process explorador_de_mapa()
begin
say("explorador de mapa cargado");
loop
if(mouse.x > 600)
scroll[0].x0+=10;
end
if(mouse.x < 40)
scroll[0].x0-=10;
end
if(mouse.y > 440)
scroll[0].y0+=10;
end
if(mouse.y < 40)
scroll[0].y0-=10;
end
frame;
end
end
con un set_mode(640,480,mode_16bits);
el scroll cargado es de 1000x1000, le cree un borde para ver si se desplazaba, el say "explorador de mapa cargado" se produce, pero el scroll no se mueve al llevar el ratón a las coordenadas adecuadas. A que se debe???
Un saludo de nuevo y gracias otra vez.
Ja ja, que cosa, hace dos días estaba yo con el mismo problema.
Tu código es correcto, de hecho a mi me acabó funcionando una versión idéntica a la tuya (si es que todo está inventado) pero mi problema, (no se veía el scroll) estaba en el start_scroll, que inicializaba con un gráfico vacío o con un gráfico más pequeño que la pantalla. Lo que tienes ahí está bien, el fallo debe estar en otro sitio.
ok, gracias :D, a ver si lo resuelvo, me tiene atascado ;D
a ver si hay algún proceso asignado a camera en: scroll[0].camera
Tambien has podido iniciar un Start_scroll que no sea el "0", y estas intentando cambiar x0 e y0 del scroll[0], asegurate que has iniciado el scroll 0 y no el scroll 1, 2, etc
Por el codigo se supone que deberias tener un set_mode(640,480,colores) revisa tambien que no hayas cambiado a otra resolucion.
Que va tio, :), el scroll que inicio es el "0" y no hago ningún cambio de resolución :-\. A ver si esta tarde tengo suerte y hayo el problema.
Assias
Necesitariamos ver mas codigo a ver donde esta el problema.
ahmmmmm... voila :P
he notado una circunstancia... extraña. he colocado chivatos para ver los valores del mouse y del scroll y me he dado cuenta de que aunque siempre pone como scroll.x0 e y0 con valor de 0, cuando se cumplen las circunstancias de los ifs, el chivato se desplaza horizontalmente, como si se le agregara un caracter imperceptible a su derecha, que luego se elimina al no cumplirse ningún if.
por favor, pon algo con graficos... que se pueda probar...
caramba! estas agregando al fpg donde pintas el scroll el mapa (0,0) o sea, la pantalla... y nunca se va a mover porque el scroll solo se mueve si es mas grande que la pantalla...
proba con esta funcion
process cargar_mapa()
private
fpg_mapa;
i,j;
texto_cargando;
mapa;
begin
say("cargando mapa");
fpg_mapa=new_fpg();
mapa = map_new(999,999,16);
fpg_add(fpg_mapa,1,0,mapa);
for(i=0;i<999;i++)
for(j=0;j<999;j++)
if((j<20 xor j>979) or (i<20 xor i>979))
map_put_pixel(fpg_mapa,1,i,j,rgb(1,1,1));
else
map_put_pixel(fpg_mapa,1,i,j,rgb(rand(0,255),rand(0,255),rand(0,255)));
end
texto_cargando=write(0,320,240,4,"CARGANDO MAPA");
if(j%200==0)
frame(1);
end
delete_text(texto_cargando);
end
end
start_scroll(0,fpg_mapa,1,0,0,0);
mapa_cargado=1;
frame;
explorador_de_mapa();
menu_en_partida();
end
por favor, para acelerar la ayuda, pone ejemplos con graficos o que se genere todo lo que se necesita desde codigo... espero haber ayudado a tu inquietud... saludos... :)
otra sugerencia, proba con este set_mode
set_mode(640,480,MODE_16BITS,waitvsync);
JAJAJAJAJAJAJAJAJAJAJAJA ;D
Me rio de la emoción, ha funcionado Splinter, gracias, pensé que si dabas pixeles de más al grafico del fpg, bennu te los agrandaría automáticamente hasta que tu quisieras, no sabía que había una limitación con el tamaño de la pantalla. Ahora va perfecto, como yo quería.
Respecto al montaje, este que he hecho es muy básico, ahí lo ves ;D, espero poder mezclarlo con un montador de mapas que hice por ahí hace un tiempecillo.
Un saludo y muchas gracias. Al resto también por el interés.
Por cierto, no se como poner lo de (solucionado), veo bien que se use eso, y bueno ya me marcho a dormir, hasta otra ;)
;)