Código:
//Codigo fuente del personaje, llamado Adam. Hay que depurar la animación si se puede, un poco mas.
// ESTO ES SOLO EL PJ ANDANDO POR UN FONDO EN SCROLL SIN DUREZAS.
Program LeidenTod;
Global
INT ADAM_POSITION_X = 280;
INT ADAM_POSITION_Y = 580;//Variables del personaje
INT GRAFICOS; //EL FPG DONDE ESTAN LOS GRAFICOS
INT DESPEGA_X;//DUREZAS
INT DESPEGA_Y;//DUREZAS
INT OBSTACLE;//DUREZAS
INT COLOROBSTACULO;//DUREZAS
End//Terminamos de establecer las variables globales
Begin //EMPIEZA EL PROGRAMA CON UN PJ EN UN SCROLL.
SET_MODE(320,240,16); //PANTALLA A 320X240 A 16 BITS
SET_FPS(160,1); //FPS (MODIFICABLE)
GRAFICOS=LOAD_FPG("LEIDENTOD.FPG"); //DECIMOS QUE ES GRAFICOS
//Intro
LOOP
fade_off();
PUT_SCREEN(GRAFICOS,15);
fade_off();
FRAME 80000;
CLEAR_SCREEN();
fade_off();
PUT_SCREEN(GRAFICOS,16);
fade_off();
FRAME 80000;
fade_off();
CLEAR_SCREEN();
fade_off();
PUT_SCREEN(GRAFICOS,19);
fade_off();
FRAME 80000;
CLEAR_SCREEN();
BREAK;
END
ADAM(ADAM_POSITION_X,ADAM_POSITION_Y);//SITUAMOS AL PJ
start_scroll(0,GRAFICOS,5,0,0,0);//EMPEZAMOS UN SCROLL CON EL PJ Y UN FONDO. EN ESTE CASO, EL DISTRIBUIDOR
COLOROBSTACULO=MAP_GET_PIXEL(GRAFICOS,14,300,200);//LAS DUREZAS
END
PROCESS ADAM(ADAM_POSITION_X,ADAM_POSITION_Y);//EMPEZAMOS EL PROCESO DEL PJ
BEGIN
CTYPE=C_SCROLL;
SCROLL[0].CAMERA=ID; //INICIA UN SCROLL FRENTE AL PERSONAJE
GRAPH=1;
ANGLE=0;
X=ADAM_POSITION_X;
Y=ADAM_POSITION_Y;
LOOP
IF(MAP_GET_PIXEL(GRAFICOS,102,X+DESPEGA_X,Y+DESPEGA_Y)==COLOROBSTACULO)
OBSTACLE=TRUE;
ELSE
OBSTACLE=FALSE;
END
DESPEGA_X=0;
DESPEGA_Y=0;
IF(KEY(_RIGHT))DESPEGA_X=2;END;
IF(KEY(_LEFT))DESPEGA_X=-2;END;
IF(KEY(_UP))DESPEGA_Y=-2;END;
IF(KEY(_DOWN))DESPEGA_Y=2;END;
//ANIMACIÓN Y MOVIMIENTO DE ESTE.
IF (KEY(_RIGHT)AND NOT KEY(_UP) AND NOT KEY(_DOWN)AND OBSTACLE==FALSE)
X=X+2;
IF (GRAPH<=10 OR GRAPH>=13) GRAPH=10;END;
GRAPH=GRAPH+1;
FLAGS= 0;
END
IF (KEY(_LEFT) AND NOT KEY(_UP) AND NOT KEY (_DOWN)AND OBSTACLE==FALSE)
X=X-2;
IF (GRAPH<=10 OR GRAPH>=13)GRAPH=10;END;
GRAPH=GRAPH+1;
FLAGS=1;
END
IF (KEY(_UP) AND NOT KEY (_LEFT) AND NOT KEY(_RIGHT)AND OBSTACLE==FALSE)
Y=Y-2;
IF (GRAPH<=6 OR GRAPH>=9) GRAPH=6; END;
GRAPH=GRAPH+1;
END
IF (KEY(_DOWN)AND NOT KEY (_LEFT) AND NOT KEY(_RIGHT)AND OBSTACLE==FALSE)
Y=Y+2;
IF (GRAPH<=1 OR GRAPH>=4); GRAPH=1;END
GRAPH=GRAPH+1;
END
FRAME;
END //LOOP
END
Actualizado
Marcadores