creo q a lo q te refieres ignacio es a q al ser ciclico el scroll, sí se ve sepetido el mapa pero no se repiten las coordenadas. Es decir, si tenemos un mpa de 1000px de ancho, al repetirse este, la segunda vez q aparezca corresponde a la coordenada de scroll X = 2000, la tercera X = 3000, ..., X = ancho_mapa * vez_repetido. Por lo tanto si posicionas un proceso en las coordenadas x = 200; y = 200; por ejemplo, logicamente ese proceso no se vera en la siguiente vez q aparezca el mapa, ya q las coordenadas de scroll serian scroll.x0 = 2000 y por lo tanto habria q reposicionar el proceso en x = 2200; y = 200 (suponiendo q el scroll solo sea ciclico horizontalmente).
Dado este problema, hay q buscar una solucion q reposicione el proceso adecuadamente dependiendo de q coordenadas del scroll sean visibles (y por lo tanto tb de q 'repeticion' del mapa corresponde).
De forma rapida se me ocurre hacer algo asi en el proceso en cuestion suponiendo q la resolucion es 640x480:
- Code: Select all
[...]
private
int real_x = 200; // posicion en la q quieres q este el grafico en el mapa de 1000px de ancho
begin
ctype = c_scroll;
x = real_x;
y = 200;
loop
//x = ((scroll.x0 + ancho_pantalla_o_region_scroll) / ancho_mapa_scroll) * ancho_mapa_scroll + real_x;
x = ((scroll.x0 + 640) / 1000) * 1000 + real_x;
frame;
end
[...]
aunque eso tiene limitaciones, por ejemplo solo serviria con graficos posicionados en x < ancho_mapa / 2. Para graficos en x > ancho_mapa / 2 no haria falta sumar el ancho_pantalla_o_region_scroll. Pero sigue sin ser perfecto el sistema pq por ejemplo si el mapa de scroll es menor q la pantalla o region de scroll, supone q el mapa se ve en pantalla entero y a la vez un trozo de la repeticion (dependiendo de la relacion entre ancho_mapa y ancho_pantalla), lo que hace ver q te harian falta mas procesos, pq seguramente se verian mas de 1 simultaneamente. Pero creo q en tu caso puede servir lo que he propuesto antes, pq si no me equivoco el mapa de scroll es mallor q la pantalla o region de scroll, al menos horizontalmente.
Prueba alguna de esas opciones y luego pregunta por aqui si tienes alguna duda.