Page 4 of 4

Re: unas cuantas preguntas

Posted: Thu Jul 30, 2009 6:59 pm
by ignacio
aquie esta el link con todas las ultimas modificacioens del programa;recuerda es algo bastante sencillo x ahora; hay unas cosas como la variable proceso y el cursor q no tiene importancia ;pues qse que para que este funcione devo declarar set mode = al al grafico de fondo y demas ;solo lo ise para ver como funcionaba y me olvide de borrarlo ; de momento mi preocupacion esta en la animacion al retroceder

http://rapidshare.de/files/47992086/prg_x_mi.rar.html

Re: unas cuantas preguntas

Posted: Thu Jul 30, 2009 7:47 pm
by CicTec
Ok lo he examinado y creo que esta como lo quieres tu, el codigo es asi ahora:

Code: Select all

Program GAME2;  
Begin 
RATON();
PERSONAJE();
animacion(500,180,18);
animacion(-1560,180,18);
...........
//********************
PROCESS PERSONAJE();
BEGIN
GRAPH=4;
Z=-5;
x=0;y=220;
 CTYPE=C_SCROLL;
SCROLL.CAMERA=ID;

write_int(0, 160, 30, 4, &x);
write_int(0, 160, 40, 4, &y);

LOOP
  IF(KEY(_LEFT))
    x-=3;
    graph--;
    if(graph < 3) graph = 17; end
  END
  IF(KEY(_RIGHT))
    x+=3;
    graph++;
    if(graph > 17) graph = 3; end
  end

  if(x < -2048 || x > 2048)
    x=0;
  END
  FRAME;
  END
END
Empezamos con las animaciones: ahora hay 2 monstruos, 1 puesto adelante al personaje y otro detras (pero siempre en la misma posicion del mapa) de esa forma en cualquier direcion te moveras siempre estara visible si llegas al punto donde esta situado...

Sobre el proceso PERSONAJE como ves se resetea X cuando llegamos al punto final del mapa (por la izquierda o derecha), ademas he quitado la variable usada para el grafico de animacion, ya que no lo necesitas, es suficiente modificar directamente GRAPH.

Creo que esto era lo que necesitabas, si asi no es o necesitas otro, como siempre pregunta.

Saludos.

Re: unas cuantas preguntas

Posted: Fri Jul 31, 2009 1:47 am
by ignacio
hola primero quiero agradecer por tus sugerencias ;exlentes y sencillas de entneder, pero sin querer molestarte ,es solo q me gusta complicarmela y de esa forma aprender a hacer formas mas creativas y rebuscadas, no hay forma de hacerlo si ndeclarar 2 animaciones

aproposito si lo notaste o no el moustru de la animacion creo q seria la fucion entre spawn y venom ja.

desde ya gracias

Re: unas cuantas preguntas

Posted: Fri Jul 31, 2009 1:55 am
by CicTec
Si hay, una forma podria ser la seguiente:

1 - creas el proceso animacion, obtenendo su ID y guardandolo en una variable global
2 - setear la posicion X del proceso animacion en funcion de la posicion X nevativa o positiva del proceso protagonista.

Su implementacion seria:

Code: Select all

id_animation = animacion(500,180,18);
......
//********************
PROCESS PERSONAJE();
BEGIN
GRAPH=4;
Z=-5;
x=0;y=220;
CTYPE=C_SCROLL;
SCROLL.CAMERA=ID;

write_int(0, 160, 30, 4, &x);
write_int(0, 160, 40, 4, &y);

LOOP
  IF(KEY(_LEFT))
    x-=3;
    graph--;
    if(graph < 3) graph = 17; end
  END
  IF(KEY(_RIGHT))
    x+=3;
    graph++;
    if(graph > 17) graph = 3; end
  end

  if(x < -2048 || x > 2048)
    x=0;
  END
  if(x < 0)
    id_animation.x = -1560;
  elseif(x >= 0)
    id_animation.x = 500;
  end

  FRAME;
  END
END
No lo he probado, pero deberia funcionar, ya me diras tu.

Re: unas cuantas preguntas

Posted: Fri Jul 31, 2009 2:21 am
by ignacio
nuevamente graias estoy en deuda con tigo; pero tengo una pregunta un poco choga:las lineas write_int(0, 160, 30, 4, &x);
write_int(0, 160, 40, 4, &y); son para ver las coordenadas en x e y del personaje cierto¿?

Re: unas cuantas preguntas

Posted: Fri Jul 31, 2009 2:24 am
by ignacio
garias jajaja garias = gracias :lol:

Re: unas cuantas preguntas

Posted: Fri Jul 31, 2009 3:12 am
by ignacio
SE QUE DESPUES DE ESTO ME VAS A QUERER MATAR Y ME VAS A ODIAR DE POR VIDA... PERO NO ANDA BIEN;NO SE LA ANIMACION AL RETROCEDER Y LE PASA ALGO RARO AL MOUSE;X AHI LO DECLARE DE OTRA FORMA A LA QUE TU DICES;EN FIN ACA TE DEJO UN LINK X SI QUERES VERLO: http://rapidshare.de/files/47995802/prg_x_mi.rar.html

Re: unas cuantas preguntas

Posted: Fri Jul 31, 2009 9:22 am
by CicTec
Pues claro que no funciona, segun tu codigo:

Code: Select all

Program GAME2;                                     // NOMBRE DEL PROGRAMA.

Global                                             // CREO UN BLOQUE DE VARIABLES GLOBALES
// Global vars block
INT PIXEL; 
INT id_ANIMATION;                                        // DEFINO A "PIXEL" COMO UNA VARIABLE NUMERICA.
Begin  
ID_ANIMATION=ANIMACION(500,180,18); 
ANIMACION(500,180,18);                                          // EMPIEZA EL CODIGO DEL PROGRAMA PRINCIPAL.
set_mode(640, 300, 32 );       // ESTABLEZCO EL MODO GRAFICO. 
SET_RENDER_MODE(2, 2);                            // ESTABLEZCO EL MODO DE RENDERIZADO GRAFICO.
set_fps(16,0);                                    // FIJO A 120 LOS FRAMES POR SEGUNDO. 
load_fpg("prueba.fpg");

RATON();
PERSONAJE();
animacion(500,180,18);
WRITE_INT(0,150,46,0,OFFSET PIXEL); // ESCRIVO EN PANTALLA EL VALOR DE LA VARIABLE PIXEL
Estas creando 3 procesos animaciones y no 1, (2 antes de SET_MODE y uno despues), tambien el mouse falla porque llamas animation antes del nuevo SET_MODE, para solucionar el todo hay que escribirlo asi:

Code: Select all

Program GAME2;                                     // NOMBRE DEL PROGRAMA.

Global                                             // CREO UN BLOQUE DE VARIABLES GLOBALES
// Global vars block
INT PIXEL; 
INT id_ANIMATION;                                        // DEFINO A "PIXEL" COMO UNA VARIABLE NUMERICA.
Begin  
set_mode(640, 300, 32 );       // ESTABLEZCO EL MODO GRAFICO. 
SET_RENDER_MODE(2, 2);                            // ESTABLEZCO EL MODO DE RENDERIZADO GRAFICO.
set_fps(16,0);                                    // FIJO A 120 LOS FRAMES POR SEGUNDO. 
load_fpg("prueba.fpg");

RATON();
PERSONAJE();
ID_ANIMATION=ANIMACION(500,180,18); 
WRITE_INT(0,150,46,0,OFFSET PIXEL); // ESCRIVO EN PANTALLA EL VALOR DE LA VARIABLE PIXEL
...  
Sobre los WRITE en el proceso personaje, claro que son para ver las coordenadas, si lo notas le estamos pasando las variables X y Y

Otra cosa que veo es que llamas SET_RENDER_MODE, no es necesario llamarla, sirve cuando quieres cambiar explicitamente el modo de rendering, pero de default el engine setea el mejor para el sistema, puedes quitarla como istruccion.

Re: unas cuantas preguntas

Posted: Fri Jul 31, 2009 5:19 pm
by ignacio
exelente muchas gracias; disculpa te haya molestado tanto;jeje. al fianl anduvo estuve analizandolo el codigo q me dijiste de hacer ; lo e entendido es solo q soy algo bastante despistado para algunas cosas ;pero desde ya gracias