hola, estoy intentando mover a un soldado por el scroll, como en el "red alert" o cualquier juego de estrategia en tiempo real, y cuando lo mando al borde derecho del scroll, no llega mas que hasta 1280 pixeles que es la resolucion que he puesto.
podeis ayudarme, no se donde tengo que poner ctype = c_scroll; y donde no.
gracias
aqui os pongo el codigo de mi personaje, raton, y camara
PROCESS protagonista()
BEGIN
ctype = C_scroll;
file = fpg_fondo;
graph = 2;
size = 100;
x=400;
y = 400;
Z = -1;
LOOP
if(mouse.left==true)
posx=raton().x;
posy=raton().y;
mouse.left=false;
end
if(x>posx); x=x-10; end
if(x<posx); x=x+10; end
if(y>posy); y=y-10; end
if(y<posy); y=y+10; end
FRAME;
END
END
process raton();
begin
mouse.file = fpg_raton;
mouse.graph = 1;
file = fpg_raton;
ctype = c_scroll;
graph=5;
z=-100;
loop
x=mouse.x;
y=mouse.y;
frame;
end
end
PROCESS camara()
begin
//ctype = C_scroll;
loop
if (raton().x > 100)
scroll[0].x0+=10;
elseif (raton().x < 20)
scroll[0].x0-=10;
end
FRAME;
END
END
creo que puedes cambiar un poco el codigo, mira:
[code language="bennu"]
begin //proceso principal
mouse.file = fpg_raton;
mouse.graph = 1; //colocas al mouse su grafico
loop
frame;
end
end
PROCESS protagonista()
BEGIN
ctype = C_scroll; //esto aquí si va
file = fpg_fondo;
graph = 2;
size = 100;
x=400;
y = 400;
Z = -1;
LOOP
if(mouse.left==true)
posx=mouse.x + scroll.x0; //esto permite moverte en las coordenadas del scroll con el ratón
posy=mouse.y + scroll.y0;
mouse.left=false;
end
if(x>posx); x=x-10; end
if(x
if(y>posy); y=y-10; end
if(y
FRAME;
END
END
PROCESS camara()
begin
loop
if (raton().x > 100)
scroll[0].x0+=10;
elseif (raton().x < 20)
scroll[0].x0-=10;
end
FRAME;
END
END
[/code]
gracias, ya me funciona, lo que me faltaba era sumar a la posicion del mouse el scroll.x0
de nada ;)