unas cuantas preguntas

Foro de discusión general sobre Gemix Studio.

Re: unas cuantas preguntas

Postby ignacio » Thu Jul 30, 2009 6:59 pm

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
ignacio
 
Posts: 339
Joined: Mon Jan 26, 2009 9:19 pm

Re: unas cuantas preguntas

Postby CicTec » Thu Jul 30, 2009 7:47 pm

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.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: unas cuantas preguntas

Postby ignacio » Fri Jul 31, 2009 1:47 am

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
ignacio
 
Posts: 339
Joined: Mon Jan 26, 2009 9:19 pm

Re: unas cuantas preguntas

Postby CicTec » Fri Jul 31, 2009 1:55 am

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.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: unas cuantas preguntas

Postby ignacio » Fri Jul 31, 2009 2:21 am

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¿?
ignacio
 
Posts: 339
Joined: Mon Jan 26, 2009 9:19 pm

Re: unas cuantas preguntas

Postby ignacio » Fri Jul 31, 2009 2:24 am

garias jajaja garias = gracias :lol:
ignacio
 
Posts: 339
Joined: Mon Jan 26, 2009 9:19 pm

Re: unas cuantas preguntas

Postby ignacio » Fri Jul 31, 2009 3:12 am

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
ignacio
 
Posts: 339
Joined: Mon Jan 26, 2009 9:19 pm

Re: unas cuantas preguntas

Postby CicTec » Fri Jul 31, 2009 9:22 am

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.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: unas cuantas preguntas

Postby ignacio » Fri Jul 31, 2009 5:19 pm

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
ignacio
 
Posts: 339
Joined: Mon Jan 26, 2009 9:19 pm

Previous

Return to General

Who is online

Users browsing this forum: No registered users and 1 guest