PDA

Ver la versión completa : No consigo hacer funcionar nada en GP2X



CyberPure
21/05/2006, 03:41
Hola a todos:

Llevo toda la tarde peleado, intentando poner un "hola mundo" en la pantalla de mi gp2x. Los ejemplos me funcionan perfectos.
He probado varios runtime y no paso del pantallazo negro.

Estoy escribiendo el codigo con flamebird y compilo con el fxc que viene con el pack de la web, el que viene con el flamebird para empezar, (eso esta mal?) y luego lo tengo todo bien puesto en el .gpe.

La estructura de mi sd es esta:

proyecto
--> codigo1.gpe
--> codigo1.dcb
--> codigo1.prg (no haria falta,no?)
runtime
-->fxi

He progrado los runtime del 13-04 y del 3-04 y nada.

El .gpe lo abro con el wordpad no con el bloc de notas por lo que ya he leido en los post.

Alguna ayuda, el codigo es el mismo que escribio draven en otro post.

¿Que hago mal?

Jhonnystorm
21/05/2006, 06:13
tal vez es problema del script, ponlo por aqui y lo vemos, si no es eso y tampoco la estructura de los archivos, lo mas probable es que sea la version de fenix que utilizas.

saludos.

Estopero
21/05/2006, 09:11
Pues pueden ser varias cosas, el script con wordpad.... malo..., mejor usa este http://www.pnotepad.org/download/ :)
y sobre el runtime de fenix.. yo me volvi loco, y me tuvieron que pasar la version exacta, decian que era la 0.84 asecas, pero a mi no me funcionaba de la pagina oficial, asi que te dejo adjunto el compilador que necesitas, es este y solo este xD luego para ejecutarlo en la gp usa el fxi de esta web :). Un saludo!

CyberPure
21/05/2006, 19:13
Gracias a los 2, voy a probarlo ahora mismo y os cuento!

Por cierto, esos ficheros del compilador los copio donde tengo la carpeta del devkit de fenix?

Yo arrastro el fichero .prg al fxc.exe y me crea el .dcb de 3kb, es correcto?

Salu2!

< - >
Por fin he conseguido dar el 1º paso, muchas gracias ya me funciona el codigo.

Salu2!

CyberPure
25/05/2006, 03:40
Hola:

Despues de sortear los primeros problemas con Fenix: Compilador, scan_code, etc. Consigo ejecutar mi ejemplo de la tipica nave pero cuando pasa la presentación y nos ponemos a jugar y mover la nave sale al menu de la gp2x, en pc funciona perfectamente. He probado a quitar los efectos de sonido en wav y una musica que tengo en midi pero hace lo mismo en el mismo punto.

He probado los graficos con otro codigo y funcionan perfectamente. Menos la musica en midi (en pc funciona bien). Hay alguna incompatibilidad con los midi?

Os dejo aqui el codigo de la nave para ver si es algo que he puesto mal.

Solo decir que muchas gracias de antemano a los interesados y a los que me han ayudado previamente a dar el primer paso.

Salu2!

Program Proyecto1;

Const

velocidad_disparo=5;

Global

Vidas;

fichero;

id_disparo;

musica;

musicaf;

pantalla=5;

score=0;

infinity;

laser;




Begin

Graph_mode = mode_8bits;

set_mode (m320x240);

set_fps(26,0);

fichero=load_fpg("juego4.fpg");

load_fnt("letras1.fnt");

musica();

infinity=load_wav("infinity.wav");

laser=load_wav("laser.wav");


play_wav(infinity,0);



Loop


graph=pantalla;

x=160;
y=120;


If(key(_control));

unload_wav(infinity);

pantalla++;

clear_screen();

graph=pantalla;


End

If(pantalla==7) Break; End

Frame(400);

End




clear_screen();

put_screen(fichero,3);

Nave(160,200);

Creamarcianos();


Frame;

End

Process musica();

Begin


musica=load_song("princip.0it");

play_song(musica,-1);


End


Process nave(x,y);

Private

contador=0;

Begin

graph=1;

Loop;

contador--;

start_scroll(0,0,7,0,0,2);

scroll[0].y0-=1;

If (contador<0) contador=0; End

If(key(_left) AND x>32);

x-=4;

End

If(key(_right) AND x<290);

x+=4;

End

If(key(_up) AND y>40);

y-=3;

End

If(key(_down) AND y<200);

y+=3;

End




If(key(_control) AND (contador==0)); //AND NOT(id_disparo));

contador=velocidad_disparo;
id_disparo=disparo(x,y-5);
//id_fuego=disparo(x,y-5);


End


If(collision(Type marciano));

gameover();

End

If(key(_enter));

exit(0,"");

End

Frame;

End

End

Process creamarcianos();

Begin

Loop;

If(rand(0,100)>90);

marciano(rand(32,290),-32);

End

Frame;

End

End



Process marciano(x,y);

Local

id_fuego;


Begin

graph=2;

priority=10;

Loop;

x+=rand(-2,2);

y+=3;

If(y>240);

signal(id,s_kill);

End


If(id_fuego=collision(Type disparo))

signal(id_fuego,s_kill);

Break;

End




Frame;

End

End

Process gameover();


Begin

let_me_alone();

stop_song();

stop_scroll(0);

unload_song(musica);

musicaf=load_song("reflect.mid");

play_song(musicaf,-1);

clear_screen();

write(0,160,50,4,"Game Over");
write(0,160,70,4,"Creado por Alejandro Lopez");
write(0,160,90,4,"¡Gracias por Jugar!");



Loop;

If(key(_enter));

exit(0,"");
End

Frame;


End

End

Process disparo(x,y);


Private

idc;
bicho=25;


Begin

graph=4;

play_wav(laser,0);

priority=20;

write(0,255,15,4,"Puntos");
write(0,295,15,4,score);

Loop;

y-=10;

If(collision(Type marciano));

id_disparo=0;

delete_text(0);

score=score+bicho;

write(0,255,15,4,"Puntos");

write(0,295,15,4,score);

//signal(id_disparo,s_kill);


End


If(y<-10);

id_disparo=0;

signal(id,s_kill);

End

Frame;

End

End

CyberPure
31/05/2006, 04:44
¡¡Socorro!! Si quereis os paso el paquete completo para que le hechais un vistazo. Por cierto, el break que hay en el codigo no terminara el programa por completo?

Salu2!

CyberPure
06/06/2006, 01:07
Hola:




If(pantalla==7) Break; End

Frame(400);



End

Necesito ayuda con esto, el problema podria estar en ese "break". Sabeis si da problemas esa función en la gp2x. El codigo en pc funciona a las 1000 maravillas.

Salu2!

< - >
El problema no es del break;

He lo cambiado por un bucle while y he solucionado el problema, en windows sigue funcionando perfecto pero en gp2x se sale al menu despues de pasar los 2 fondos de presentación.

¿Por que puede ser?

Paso codigo y todo lo necesario para rular el programa y que alguien vea que puede estar mal.

Salu2!