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]
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.
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??
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.
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 ;)
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
- 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?