Unknown identifier, found "SCROLL"

Started by Woody, February 15, 2011, 07:05:58 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Woody

Program auto;

Global
graficos; puntaje; vidas; tiempo; velocidad;

Begin
  set_mode(640, 480, 32);
  set_fps(30,0);
  graficos=load_fpg("0001.fpg");
  start_scroll(0, graficos, 0, 2, 0, 4);
  cargar_nivel();
  scroll.camera=auto(320,9900);
End

process auto(x,y)
begin
graph=1; ctype=c_scroll;
loop
   if (key(_up)) y=y-25; end
   if (key(_left)) x=x-5; end
   if (key(_right)) x=x+5; end
   if (key(_down)) y=y+5; end
  frame;
end
end

process cargar_nivel();
private
contador;
begin
  from contador=1 to 30;
   enemigo();
  end
  from contador= 1 to 5;
   amigo();
  end
  from contador= 1 to 5;
   turbo();
  end
end

process enemigo();
begin
graph=5; x=rand(50,600); y=rand(50,9000); ctype=c_scroll;
loop
  if (collision(type auto)) puntaje=puntaje+500; break; end
  frame;
end
end

process amigo();
begin
graph=4; x=rand(50,600); y=rand(50,9000); ctype=c_scroll;
loop
  if (collision(type auto)) puntaje=puntaje-1000; break; end
  frame;
end
end

process turbo();
begin
graph=3; x=rand(50,600); y=rand(50,9000); ctype=c_scroll;
loop
  if (collision(type auto)) break; end
  frame;
end
end


Me da este error, lo empece en gemix a este juego y ahora estoy viendo si lo que hice hasta ahora es compatible con bennu. Uso ubuntu y supuestamente tengo la version 1.0 de bennu. me fije en la wiki de bennu pero segun eso lo estoy haciendo bien.

12: error: Unknown identifier, found "SCROLL"

Gracias.

panreyes

La referencia a la camara del scroll debería ser así:
scroll[0].camera=auto(320,9900);

La razón es que estás accediendo al scroll 0, y hay que concretarlo

Drumpi

Te falta poner los corchetes después de scroll (scroll[0]).
Uno de los últimos cambios EXIGE que en todo array se añada el índice del mismo o dará error (en este caso, el array predefinido de estructuras SCROLL).

Por cierto, cuando digas qué versión te has descargado, indica la release en lugar de la versión, ya que siempre es la misma. Son tres números después de una r (r223 creo que es la actual).

EDIT: leches, por culpa del error de envío se me ha adelantado pixel :D :D :D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

#3
Quote from: PiXeL on February 15, 2011, 07:18:15 PM
La referencia a la camara del scroll debería ser así:
scroll[0].camera=auto(320,9900);

La razón es que estás accediendo al scroll 0, y hay que concretarlo

Quote from: Drumpi on February 15, 2011, 07:21:21 PM
Te falta poner los corchetes después de scroll (scroll[0]).
Uno de los últimos cambios EXIGE que en todo array se añada el índice del mismo o dará error (en este caso, el array predefinido de estructuras SCROLL).

Por cierto, cuando digas qué versión te has descargado, indica la release en lugar de la versión, ya que siempre es la misma. Son tres números después de una r (r223 creo que es la actual).

EDIT: leches, por culpa del error de envío se me ha adelantado pixel :D :D :D

nunca mas equivocados ambos... eso fue un error de 1 version en concreto, ya hace varias versiones esta solventado... el problema seguramente es que te falta importar el modulo de scroll.

te digo mas, para que el ejemplo en cuestion fuincione te faltan todas estas lineas despues de program.

import "mod_scroll";
import "mod_key";
import "mod_video";
import "mod_screen";
import "mod_map";
import "mod_rand";
import "mod_grproc";
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Woody

Muchas gracias, puse los IMPORT  que me dijiste y compilo perfectamente.

Ahora cuando ejecuto el juego.dcb, se aparece la ventana pero esta toda en negro y no pasa de ahi.
¿Sera que los .fpg hechos con Gemix no son compatibles con Bennugd?

Gracias por la ayuda.

FreeYourMind

Efectivamente, los fpg de Gemix pueden no ser compatibles. De todas formas, no intentes mezclar ambos entornos en tus proyectos, o eres de uno o de otro, o de los dos pero por separado xDDD

SplinterGU

Quote from: Woody on February 15, 2011, 08:39:52 PM
Muchas gracias, puse los IMPORT  que me dijiste y compilo perfectamente.

Ahora cuando ejecuto el juego.dcb, se aparece la ventana pero esta toda en negro y no pasa de ahi.
¿Sera que los .fpg hechos con Gemix no son compatibles con Bennugd?

Gracias por la ayuda.

no son compatibles, claro.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Quote from: SplinterGU on February 15, 2011, 08:08:00 PMnunca mas equivocados ambos... eso fue un error de 1 version en concreto, ya hace varias versiones esta solventado... el problema seguramente es que te falta importar el modulo de scroll.

te digo mas, para que el ejemplo en cuestion fuincione te faltan todas estas lineas despues de program.

import "mod_scroll";
import "mod_key";
import "mod_video";
import "mod_screen";
import "mod_map";
import "mod_rand";
import "mod_grproc";


Leches, era mi primera opción, pero la descarté por ser demasiado obvia, pensaba que tendría un fichero BGDC.import por ahí ^^U
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Woody

Volvi a hacer el FPG con el editor del usuario PRG. Todo desde Bennu, ya no uso Gemix y la pantalla se sigue quedando en negro como les comente en el post anterior. Ahora no se me ocurre que podra ser.

Lo volvi a compilar, y todo. Lo tenia en 32 bits al FPG y lo pase a 16 para ver si era eso, pero nada.

Uso el BGDC 1.0.0 (Feb  2 2011 17:04:13).

Gracias

SplinterGU

si queres mandame un paquetito con todo lo necesario para correr el programa, y lo pruebo y te digo cual es el problema.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Woody

#10
Aca te lo dejo.

EDIT: Probe desinstalando bennu e instalandolo desde los repositorios pero sigue igual.

SplinterGU

proba con este codigo


Program autos;

import "mod_scroll";
import "mod_key";
import "mod_video";
import "mod_screen";
import "mod_map";
import "mod_rand";
import "mod_grproc";

Global
graficos; puntaje; vidas; tiempo; velocidad;

Begin
  set_mode(640, 480, 16);
  set_fps(30,0);
  graficos=load_fpg("0001.fpg");
  start_scroll(0, graficos, 2, 0, 0, 4);
  cargar_nivel();
  scroll.camera=auto(320,9900); //seguir al auto
End

process auto(x,y)
begin
file=graficos;graph=1; ctype=c_scroll;
loop
   if (key(_up)) y=y-25; end
   if (key(_left)) x=x-5; end
   if (key(_right)) x=x+5; end
   if (key(_down)) y=y+5; end
  frame;
end
end

process cargar_nivel();
private
contador;
begin
  from contador=1 to 30;
   enemigo();
  end
  from contador= 1 to 5;
   amigo();
  end
  from contador= 1 to 5;
   turbo();
  end
end

process enemigo();
begin
file=graficos;graph=5; x=rand(50,600); y=rand(50,9000); ctype=c_scroll;
loop
  if (collision(type auto)) puntaje=puntaje+500; break; end
  frame;
end
end

process amigo();
begin
file=graficos;graph=4; x=rand(50,600); y=rand(50,9000); ctype=c_scroll;
loop
  if (collision(type auto)) puntaje=puntaje-1000; break; end
  frame;
end
end

process turbo();
begin
file=graficos;graph=3; x=rand(50,600); y=rand(50,9000); ctype=c_scroll;
loop
  if (collision(type auto)) break; end
  frame;
end
end
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Woody

Anduvo, muchas gracias. Era el scroll.  :P

SplinterGU

#13
de nada...

y tambien tenes que meter los file en los procesos que usen graph... es una mala costumbre no hacerlo...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Futu-block

si puedo preguntar aqui tambien sobre los escroles para no abrir un hilo nuevo...

si empiezo el juego con un scrol con grafico pongamos que 501, en el begin del inicio del juego y quiero que al pasar de pantalla como se haria???

[code language="bennu"]begin
   set_mode(320,240,32,mode_window);
   una_var = load_fpg("carpeta/imagenes.fpg");
   id_prota = prota(); // Almacenamos en ella el identificador del proceso
   start_scroll ( 0 , 0 , 501 , 0 , 0 , 0 ); // Iniciamos el scroll   <=--=== ese es el que quiero modificar al pasar de pantalla, el 501
   scroll [ 0 ].camera = id_prota; // Centramos la cámara del scroll en el proceso
end
[/code]

basta con poner una variable en vez del numero y cambiarla al antojo?????