Ver la versión completa : Problema al portar
Shade_Chan
03/09/2007, 01:50
Tengo un juego hecho en fenix con el tutorial de oscar (en concreto el de las naves)
Adapto la resolucion a la pantalla de la gp2x, usando los archivos de puck, no se porque pero me sale la pantalla de fenix y despues, pantallazo negro y de vuelta al menu... (el fpg esta donde debe estar...)
Alguien me podria dar alguna pista de que puede estar fallando???
¿Lo has compilado con la versión de fenix adecuada para la GP2X?; creo que anda por la zona de descargas
Shade_Chan
03/09/2007, 10:24
He cogido un archivo que creo puck y que pone que debes sustituir un par de archivos...
El fenix creo recordar que cogi el que habia aqui, pero no estoy seguro tampoco...
BUHOnero
03/09/2007, 10:34
He cogido un archivo que creo puck y que pone que debes sustituir un par de archivos...
El fenix creo recordar que cogi el que habia aqui, pero no estoy seguro tampoco...
y has editado el archivo .gpe supongo...
Shade_Chan
03/09/2007, 10:49
Sip, lo he hecho, ademas de acompañar el programa de su correspondiente fpg
BUHOnero
03/09/2007, 11:11
pon por aqui el codigo de incialización del juego, a ver qué vemos :D
Shade_Chan
03/09/2007, 12:02
Esta noche cuando vuelva de la universidad lo pondre
Gracias por la ayuda ^^
Por cierto, por noob que parezca, te refieres al .gpe o al otro??
BUHOnero
03/09/2007, 12:10
El gpe para ejecutar el juego en verdad es un simple archivo de texto, dentro hay las rutas donde estan el dcb, el fpg, y el intérprete de fenix, tienes que poner tus nombre y rutas para que funcione, ademas de editarlo con un editor que te guarde los saltos de linia como en Linux, sino no funciona
Coelophysis
03/09/2007, 12:48
El gpe para ejecutar el juego en verdad es un simple archivo de texto, dentro hay las rutas donde estan el dcb, el fpg, y el intérprete de fenix, tienes que poner tus nombre y rutas para que funcione, ademas de editarlo con un editor que te guarde los saltos de linia como en Linux, sino no funciona
Si le sale la pantalla de Fenix supongo que el .gpe estará bien creado... tiene pinta de que la ruta del runtime esté bien pero que falle la del .dcb ¿no?
BUHOnero
03/09/2007, 12:58
Si le sale la pantalla de Fenix supongo que el .gpe estará bien creado... tiene pinta de que la ruta del runtime esté bien pero que falle la del .dcb ¿no?
IEP!!! has actualizado tu banner¿? jejeje sigo currando :D no te olvido apañero!!!
Coelophysis
03/09/2007, 13:10
IEP!!! has actualizado tu banner¿? jejeje sigo currando :D no te olvido apañero!!!
Claro, hombre... el Camelot ya es misión cumplida, ahora a por otro, y luego otro más y otro más... ¡que hacer juegos es un vicio :D!
Shade_Chan
03/09/2007, 19:29
Ne me deja adjuntar, asi que copio lo que pone dentro de mi gpe
#!/bin/sh
cd runtime
./fxi ../tests/naves.dcb
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu
BUHOnero
03/09/2007, 20:28
Y guardas los archivos en estas rutas...
ahora pon lo que pongas al inicializar el juego dentro dl codigo, donde le dices la resolucion, los frames por segundo, y estas cosas, a ver si es por ahí que el tema no funciona.
Shade_Chan
04/09/2007, 00:59
Y eso como se pone exactamente???
BUHOnero
04/09/2007, 09:21
jorl!!! jajaja
A ver... pon lo que tengas en tu codigo fuente, del estilo:
set_fps(25,0);
set_mode(360,240,8);
load_fpg("tentrix.fpg");
Coelophysis
04/09/2007, 09:25
Y eso como se pone exactamente???
Se refiere a que pegues aquí la parte del código en dónde especificas todos ésos parámetros, por ejemplo:
full_screen=true;
set_mode(320,240,MODE_8BITS);
set_fps(30,0);
a ver si hay algo que no cuadre :D.
Se me han adelantado... por cierto ¿tu archivo .dcb y todo lo demás está en la carpeta "tests"?
BUHOnero
04/09/2007, 09:29
pero si le acabo de poner un ejemplo!!! :brindis: o no has visto mi ejemplo?
Coelophysis
04/09/2007, 09:31
pero si le acabo de poner un ejemplo!!! :brindis: o no has visto mi ejemplo?
Es que hemos respondido casi a la vez...
BUHOnero
04/09/2007, 09:33
veeeeenga... te perdono :D
Shade_Chan
04/09/2007, 10:09
Oido cocina! gracias! (jou... que es lo 1º que hago... xDDDDDD)
EDITO: Aaaargh! sigue sin ir!
BUHOnero
04/09/2007, 10:14
pero pega aqui el codigo!!! s podemos verlo a lo mejor vemos el problema... :D
Shade_Chan
04/09/2007, 10:15
#!/bin/sh
cd runtime
./fxi ../games/naves/naves.dcb
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu
set_mode(320,240,16);
set_fps(40,0);
Graficos=load_fpg("prueba.fpg");
Coelophysis
04/09/2007, 10:21
pero pega aqui el codigo!!! s podemos verlo a lo mejor vemos el problema... :D
Se referirá a que ha cambiado la ruta; ahora la carpeta del juego es "games/naves"... pero si eso es correcto yo ya no sé que es lo que puede estar mal...:confused:
BUHOnero
04/09/2007, 10:22
jajaja...
jajaja...
jajaja...
tio... lo siento, pero no puedo parar...
jajaja...
jajaja...
jajaja...
oye, a ver si nos entendemos, que es tu primer intento y veo que no acabas de entenderlo...
Has escrito el programa en Fenix verdad¿? donde tienes tu programa¿? el codigo fuente del programa, donde has escrito todo el codigo de como funciona el juego, pega ese codigo, esto que has hecho no sirve de nada, esta mal puesto :S
Ánimo que lo sacaremos al final.
Shade_Chan
04/09/2007, 10:28
Los directorios son los correctos, los cambie por tenerlo mas ordenado...
El codigo:
Program naves;
Global
Int Graficos;
int energia_jugador=100;
int retardo=5;
int puntos=0;
End
Begin
set_mode(320,240,16);
set_fps(40,0);
Graficos=load_fpg("prueba.fpg");
start_scroll(0,graficos,1,0,0,2);
Put_Screen(graficos,1);
Nave();
write_var(0,160,5,1,puntos);
Loop
enemigo(rand(0,320), rand(-5,5), rand(4,7));
If(key(_esc)) break; end
scroll[0].y0=scroll[0].y0-2;
Frame;
End
stop_scroll(0);
Unload_fpg(graficos);
Let_me_alone();
End
Process nave ()
private
int cont=0;
end
Begin
graph=2;
size=60;
x=320;
y=220;
energia_nave();
Loop
cont=cont-1;
if (cont<0) cont=0; end
If (key(_left)) x=x-5; end
If (key(_right)) x=x+5; end
If (x<20) x=20; end
If (x>300) x=300; end
switch(energia_jugador)
case 0..30:
retardo=10;
end
default:
retardo=5;
end
end
If (key(_up)) y=y-5; end
If (key(_down)) y=y+5; end
If (y<30) y=30; end
If (y>220) y=220; end
If (key(_control) and cont==0 )
Cont=retardo;
disparo();
end
if (puntos==20000)
signal(type enemigo,s_kill);
write(0,60,123,0,"Bien hecho!. pulsa Esc para salir");
end
Frame;
End
end
Process disparo ()
begin
Graph=3;
y=father.y;
x=father.x;
z=1;
Repeat
y=Y -15;
frame;
until (y< -15)
end
Process Enemigo (x, int inc_x, int inc_y)
Private
int id_disparo_acertado;
int cont;
int energia=2;
end
begin
graph=4;
size=rand(30,60);
y=-40;
Repeat
x=x+inc_x;
y=y+5;
id_disparo_acertado=collision(type disparo);
if(rand(0,1000)<2) edisparo (x,y); end
if (ID_disparo_acertado)
signal(id_disparo_acertado,s_kill);
energia=energia-1;
if (energia==0);
energia_jugador=energia_jugador+20;
puntos=puntos+100;
break;
end
end
if(collision(type nave)) energia_jugador=energia_jugador-1;
energia=energia-3;
end
Frame;
until (y > 320)
cont=5;
for(cont=5;cont<=19;cont++)
graph=cont;
frame;
end
end
Process energia_nave ()
begin
x=160;
y=15;
z=-1;
graph=20;
size=50;
region=1;
loop
define_region(1,130,10,energia_jugador,20);
if(energia_jugador<0)energia_jugador=0;
write(0,160,120,1,"Game Over");
signal(type nave,s_kill);
end
if(energia_jugador>200)energia_jugador=200;
end
frame;
end
end
process edisparo(x,y);
begin
graph=3;
z=1;
Repeat
y=y+5;
if(collision(type nave))
energia_jugador=energia_jugador-1;
end
frame;
until (y>240)
frame;
end
Esto se ha comido todas las tabulaciones aaargh! xD
BUHOnero
04/09/2007, 10:31
int puntos=0;
End
Begin
quita este end del principio despues del Global y prueba
Shade_Chan
04/09/2007, 10:33
El caso es que en pc rual prefectamente... Bueno, probare a ver...
EDIT: Sigue sin ir...
BUHOnero
04/09/2007, 10:34
Y mirate todas las declaraciones de variables, en el private de la nave cometes el mismo error, cuando pones private no tienes que poner el end al final, ni con private, ni global, ni local.
< - >
Y otra cosa, mira la versión de Fenix que usas, en la GP solo puedes programar con la 0.84, y piensa que la última para PC es la 0.9x
Shade_Chan
04/09/2007, 10:48
Pa matarme... era la version de fenix... O_oU
Ya funciona, muchas gracias a los 2 ^^
BUHOnero
04/09/2007, 10:49
pos ya ta, ves como no era tan dificil :D mírate en los archivos de la web, hay un pack descargable con el FlameBird y la versión buena de Fenix preparado para trabajar haciendo juegos para la GP :D
Saludos!
Shade_Chan
04/09/2007, 10:51
Ese es el que acabo de bajar y con el que ha funcionado ^^
Coelophysis
04/09/2007, 10:55
Pa matarme... era la version de fenix... O_oU
Ya funciona, muchas gracias a los 2 ^^
Entonces era la versión... ya ha pasado otras veces, de hecho es lo primero que se debe comprobar si se programa en Fenix para la GP2X :D.
Puck2099 iba a meterse con un nuevo port del Fenix, supongo que basado en una versión más actual... así que los interesados deberemos estar muy al tanto de la versiones "buenas".
Aunque bueno, para juegos sin muchos efectos la 0.84 es perfectamente funcional, así que de momento voy a guardar mi copia como oro en paño...
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.